/** * @param User $user * @param string $loginTime * @return UserSession */ private function GetUserSession(User $user, $loginTime) { $userSession = new UserSession($user->Id()); $userSession->Email = $user->EmailAddress(); $userSession->FirstName = $user->FirstName(); $userSession->LastName = $user->LastName(); $userSession->Timezone = $user->Timezone(); $userSession->HomepageId = $user->Homepage(); $userSession->LanguageCode = $user->Language(); $userSession->LoginTime = $loginTime; $userSession->PublicId = $user->GetPublicId(); $userSession->ScheduleId = $user->GetDefaultScheduleId(); $userSession->IsAdmin = $this->roleService->IsApplicationAdministrator($user); $userSession->IsGroupAdmin = $this->roleService->IsGroupAdministrator($user); $userSession->IsResourceAdmin = $this->roleService->IsResourceAdministrator($user); $userSession->IsScheduleAdmin = $this->roleService->IsScheduleAdministrator($user); $userSession->CSRFToken = base64_encode(md5(uniqid(rand(), true))); foreach ($user->Groups() as $group) { $userSession->Groups[] = $group->GroupId; } foreach ($user->GetAdminGroups() as $group) { $userSession->AdminGroups[] = $group->GroupId; } return $userSession; }
public function AllowUsernameChange($user) { return $this->roleService->IsApplicationAdministrator($user); }