public function updateUser(Request $request, Session $session, $view) { if (!$request->getParameter(SUBMIT_PARAM)) { $id = $request->getParameter('id'); // get user info $service = new SecurityService(); $userInfo = $service->getUser($id); // get role $selectedRole = $service->getRoleByUserId($id, 'r.id'); $selectedRoleId = $selectedRole->id; self::dumpObject($userInfo, self::$_debug); $organizations = $service->getOrganizations(false, 'id, name'); self::dumpObject($organizations, self::$_debug); $listOfOrganizations = array(); foreach ($organizations as $idx => $organization) { $name = $organization->name; $id = $organization->id; $listOfOrganizations[$id] = $name; } self::dumpObject($listOfOrganizations, self::$_debug); $roles = $service->getRoles('id'); $listOfRoles = array(); foreach ($roles as $idx => $role) { $name = $role->name; $id = $role->id; $listOfRoles[$id] = $name; } $listOfRoles[0] = '=== Select One ==='; ksort($listOfRoles); self::dumpObject($listOfRoles, self::$_debug); $status = array(1 => 'Yes', 0 => 'No'); $this->setAttribute('activestatus', $status); $this->setAttribute('selected_status', $userInfo->is_active); $this->setAttribute('list_of_organizations', $listOfOrganizations); $this->setAttribute('selected_organization', $userInfo->organization_id); $this->setAttribute('user', $userInfo); $this->setAttribute('list_of_roles', $listOfRoles); $this->setAttribute('selected_role', $selectedRoleId); return new Template('update_user'); } else { $responseCode = 1; $id = $request->getParameter('id'); $email = $request->getParameter('email'); $originalEmail = $request->getParameter('original_email'); // duplicate check $result = $this->_dupeCheck($originalEmail, $email); $responseCode = $result['response_code']; if ($responseCode == -1) { $message = $result['message']; } else { $firstName = $request->getParameter('firstname'); $lastName = $request->getParameter('lastname'); $email = $request->getParameter('email'); $organizationId = $request->getParameter('organizationid'); $roleId = $request->getParameter('role_id'); // update info $data = array('first_name' => $firstName, 'last_name' => $lastName, 'email' => $email, 'organization_id' => $organizationId, 'role_id' => $roleId); $loggedInUser = $this->_getCurrentUser(); $currenUserId = $loggedInUser->id; if (strcmp($currenUserId, $id) != 0) { $data['is_active'] = $request->getParameter('is_active'); } elseif (strcmp($currenUserId, $id) == 0) { $loggedInUser->email = $email; $loggedInUser->organization_id = $organizationId; $loggedInUser->first_name = $firstName; $loggedInUser->last_name = $lastName; } $result = $this->_updateUser($id, $data); } $data = array('response_code' => $responseCode, 'message' => $message); return $this->showJsonResponse($data); } }