Jelajahi Sumber

Sync users - fix update user data

Piotr Labudda 10 tahun lalu
induk
melakukan
27415cfe4a

+ 1 - 1
SE/se-lib/Route/Users.php

@@ -83,7 +83,7 @@ class Route_Users extends RouteBase {
 
 		$synUsers = new SyncUsers($usrStorageDB, $usrStorageLdap);
 
-		$syncTodoList = $synUsers->getSyncUserTodoList($userName, $syncGroups = true, $syncDisabled = true);
+		$syncTodoList = $synUsers->getSyncUserTodoList($userName);
 		?>
 		<?php if (empty($syncTodoList)) : ?>
 			<div class="alert alert-info">Brak zadań do wykonania - użytkownik zsynchronizowany</div>

+ 23 - 21
SE/se-lib/SyncUsers.php

@@ -21,15 +21,15 @@ class SyncUsers {
 		$syncDisabled = true;
 		$usrFrom = $this->_fromStorage->getUser($usrLogin);
 		$usrTo = $this->_toStorage->getUser($usrLogin);
-		$usrFromDisabeld = null;
+		$usrFromDisabled = null;
 		$usrToDisabeld = null;
 		if (!$usrFrom) throw new Exception("Użytkownik '{$usrLogin}' nie istnieje w bazie danych");
 
-		DBG::_('DBG_SU', '>0', 'usrFrom', $usrFrom, __CLASS__, __FUNCTION__, __LINE__);
-		DBG::_('DBG_SU', '>0', 'usrTo', $usrTo, __CLASS__, __FUNCTION__, __LINE__);
+		DBG::_('DBG_SU', true, 'usrFrom', $usrFrom, __CLASS__, __FUNCTION__, __LINE__);
+		DBG::_('DBG_SU', true, 'usrTo', $usrTo, __CLASS__, __FUNCTION__, __LINE__);
 
-		$usrFromDisabeld = $this->_fromStorage->isDisabled($usrFrom);
-		if (!$usrTo && true === $usrFromDisabeld) {
+		$usrFromDisabled = $this->_fromStorage->isDisabled($usrFrom);
+		if (!$usrTo && true === $usrFromDisabled) {
 			throw new Exception("Użytkownik '{$usrLogin}' nie istnieje w bazie LDAP. Jest zablokowany bazie danych, więc nie ma potrzeby tworzenia go w bazie LDAP.");
 		}
 
@@ -48,11 +48,11 @@ class SyncUsers {
 			if (!$usrTo) throw new Exception("Użytkownik '{$usrLogin}' nie istnieje w bazie LDAP");
 
 			$usrToDisabeld = $this->_toStorage->isDisabled($usrTo);
-			if (null === $usrFromDisabeld) throw new Exception("Nieznany status blokady dla użytkownika '{$usrLogin}' w bazie danych");
+			if (null === $usrFromDisabled) throw new Exception("Nieznany status blokady dla użytkownika '{$usrLogin}' w bazie danych");
 			if (null === $usrToDisabeld) throw new Exception("Nieznany status blokady dla użytkownika '{$usrLogin}' w bazie LDAP");
 
-			if ($usrFromDisabeld !== $usrToDisabeld) {
-				if (!$this->_toStorage->setDisabled($usrLogin, $usrFromDisabeld)) {
+			if ($usrFromDisabled !== $usrToDisabeld) {
+				if (!$this->_toStorage->setDisabled($usrLogin, $usrFromDisabled)) {
 					throw new Exception("Nie udało się ustawić statusu blokady dla użytkownika '{$usrLogin}'");
 				}
 			}
@@ -119,20 +119,22 @@ class SyncUsers {
 		$syncTodoList = array();
 		$usrFrom = $this->_fromStorage->getUser($usrLogin);
 		$usrTo = $this->_toStorage->getUser($usrLogin);
+		DBG::_('DBG_SU', true, 'usrFrom', $usrFrom, __CLASS__, __FUNCTION__, __LINE__);
+		DBG::_('DBG_SU', true, 'usrTo', $usrTo, __CLASS__, __FUNCTION__, __LINE__);
 
 		if (!$usrFrom) {
 			$syncTodoList[] = "Użytkownik {$usrLogin} nie istnieje w bazie danych";
 			return $syncTodoList;
 		}
-		$usrFromDisabeld = $this->_fromStorage->isDisabled($usrFrom);
+		$usrFromDisabled = $this->_fromStorage->isDisabled($usrFrom);
 
-		if (!$usrTo && true === $usrFromDisabeld) {
+		if (!$usrTo && true === $usrFromDisabled) {
 			throw new Exception("Użytkownik '{$usrLogin}' nie istnieje w bazie LDAP. Jest zablokowany bazie danych, więc nie ma potrzeby tworzenia go w bazie LDAP.");
 		}
 
 		if (!$usrTo) {
 			$syncDisabled = false;
-			$syncTodoList[] = "Create user {$usrLogin} in toStorage";
+			$syncTodoList[] = "Stwórz użytkownika '{$usrLogin}' w bazie LDAP";
 		}
 		else {// $usrFrom && $usrTo
 
@@ -146,34 +148,34 @@ class SyncUsers {
 			if ($this->_fromStorage->isPasswordChanged($usrLogin)) $updateData['password'] = '*****';
 
 			foreach ($updateData as $key => $val) {
-				$syncTodoList[] = "Update {$key}: {$val}";
+				$syncTodoList[] = "Aktualizuj {$key}: {$val}";
 			}
 		}
 
 		$usrToDisabeld = $this->_toStorage->isDisabled($usrTo);
 		if ($syncDisabled) {
 
-			if ($usrFromDisabeld === null || $usrToDisabeld === null) {
-				$syncTodoList[] = "Error: isDisabled '{$usrLogin}' not set in fromStorage or toStorage";
+			if ($usrFromDisabled === null || $usrToDisabeld === null) {
+				$syncTodoList[] = "Status blokady '{$usrLogin}' nieznany w bazie danych lub LDAP";
 				return $syncTodoList;
 			}
 
-			if ($usrFromDisabeld !== $usrToDisabeld) {
-				$syncTodoList[] = "Set isDisabled '{$usrLogin}' to " . (($usrFromDisabeld)? 'true' : 'false');
+			if ($usrFromDisabled !== $usrToDisabeld) {
+				$syncTodoList[] = "Ustawienie statusu blokady '{$usrLogin}' na '" . (($usrFromDisabled)? 'true' : 'false') . "'";
 			}
 		}
 
 		{// $syncGroups
 			$groupsTodo = $this->getSyncUserGroupsTodoList($usrLogin);
-			DBG::_('DBG_SU', '>0', "groupsTodo usrFromDisabeld(" . (($usrFromDisabeld)? 'true' : 'false') . ")", $groupsTodo, __CLASS__, __FUNCTION__, __LINE__);
+			DBG::_('DBG_SU', '>0', "groupsTodo usrFromDisabeld(" . (($usrFromDisabled)? 'true' : 'false') . ")", $groupsTodo, __CLASS__, __FUNCTION__, __LINE__);
 
 			if (!empty($groupsTodo)) {
 				foreach ($groupsTodo as $kGroupID => $vBool) {
 					if ($vBool) {
-						$syncTodoList[] = "Add user '{$usrLogin}' to group {$kGroupID}";
+						$syncTodoList[] = "Dodaj '{$usrLogin}' do grupy {$kGroupID}";
 					}
 					else {
-						$syncTodoList[] = "Remove user '{$usrLogin}' from group {$kGroupID}";
+						$syncTodoList[] = "Usuń '{$usrLogin}' z grupy {$kGroupID}";
 					}
 				}
 			}
@@ -189,14 +191,14 @@ class SyncUsers {
 	public function getSyncUserGroupsTodoList($usrLogin) {
 		$groupsTodo = array();// `guid` => true (add), false (remove)
 		$usrFrom = $this->_fromStorage->getUser($usrLogin);
-		$usrFromDisabeld = $this->_fromStorage->isDisabled($usrFrom);
+		$usrFromDisabled = $this->_fromStorage->isDisabled($usrFrom);
 		$groupsFrom = $this->_fromStorage->getUserGroups($usrLogin);
 		$groupsTo = $this->_toStorage->getUserGroups($usrLogin);
 		foreach ($groupsTo as $kUid => $vName) {
 			$groupsTodo[$kUid] = false;
 		}
 
-		if (true === $usrFromDisabeld) {
+		if (true === $usrFromDisabled) {
 			// remove all groups
 		} else {
 			foreach ($groupsFrom as $kUid => $vGroup) {

+ 5 - 5
SE/se-lib/UserStorageDB.php

@@ -60,11 +60,11 @@ class UserStorageDB extends UserStorageBase {
 		$user->primaryKey = $r->primaryKey;
 		$user->login = $r->login;
 		$user->password = $r->password;
-		$user->name = $r->name;
-		$user->email = $r->email;
-		$user->phone = $r->phone;
-		$user->homeEmail = $r->homeEmail;
-		$user->homePhone = $r->homePhone;
+		$user->name = trim($r->name);
+		$user->email = trim($r->email);
+		$user->phone = trim($r->phone);
+		$user->homeEmail = trim($r->homeEmail);
+		$user->homePhone = trim($r->homePhone);
 		$user->employeeType = $r->employeeType;
 		$user->isDisabled = ((int)$r->isDisabled)? true : false;
 		return $user;

+ 2 - 0
SE/se-lib/UserStorageMacOSX.php

@@ -35,6 +35,7 @@ class UserStorageMacOSX extends UserStorageBase {
 	public function getUser($userName) {
 		$usrLdap = UsersLdapHelper::getUser($userName, true);
 		if (empty($usrLdap[0])) return null;
+		DBG::_('DBG_SU', true, 'usrLdap', $usrLdap[0], __CLASS__, __FUNCTION__, __LINE__);
 
 		$user = $this->_buildUserFromLdap($usrLdap[0]);
 
@@ -203,6 +204,7 @@ class UserStorageMacOSX extends UserStorageBase {
 	public function updateUser($userName, $updateData) {
 		if (empty($updateData)) return true;
 		foreach ($updateData as $fldName => $val) {
+			$val = trim($val);
 			switch ($fldName) {
 				case 'email':
 					$ldap = $this->_getAdminLdap();