/** * @param array $postData */ public static function makeByPostData($postData) { assert('is_array($postData)'); $userStatus = new UserStatus(); if (!isset($postData['userStatus'])) { return null; } elseif ($postData['userStatus'] == self::ACTIVE) { return $userStatus; } elseif ($postData['userStatus'] == self::INACTIVE) { $userStatus->setInactive(); return $userStatus; } else { throw new NotSupportedException(); } }
public static function processAfterSaveAction(RedBeanModel $model, $attributeValueData) { assert('$model instanceof User'); assert('is_array($attributeValueData) && count($attributeValueData) == 1'); assert('isset($attributeValueData["status"]) && ($attributeValueData["status"] == UserStatusUtil::ACTIVE || $attributeValueData["status"] == UserStatusUtil::INACTIVE)'); $userStatus = new UserStatus(); if ($attributeValueData['status'] == UserStatusUtil::INACTIVE) { $userStatus->setInactive(); } UserStatusUtil::resolveUserStatus($model, $userStatus); }
public function testResolveUserStatus() { $user = UserTestHelper::createBasicUser('statusCheck2'); $this->assertTrue(Right::NONE == $user->getExplicitActualRight('UsersModule', UsersModule::RIGHT_LOGIN_VIA_WEB)); $this->assertTrue(Right::NONE == $user->getExplicitActualRight('UsersModule', UsersModule::RIGHT_LOGIN_VIA_MOBILE)); $this->assertTrue(Right::NONE == $user->getExplicitActualRight('UsersModule', UsersModule::RIGHT_LOGIN_VIA_WEB_API)); //Set the user to inactive. $userStatus = new UserStatus(); $userStatus->setInactive(); UserStatusUtil::resolveUserStatus($user, $userStatus); $userId = $user->id; $user = User::getById($userId); $this->assertEquals(UserStatusUtil::INACTIVE, UserStatusUtil::getSelectedValueByUser($user)); $this->assertTrue(Right::DENY == $user->getExplicitActualRight('UsersModule', UsersModule::RIGHT_LOGIN_VIA_WEB)); $this->assertTrue(Right::DENY == $user->getExplicitActualRight('UsersModule', UsersModule::RIGHT_LOGIN_VIA_MOBILE)); $this->assertTrue(Right::DENY == $user->getExplicitActualRight('UsersModule', UsersModule::RIGHT_LOGIN_VIA_WEB_API)); //Now set the user back to active. $userStatus->setActive(); UserStatusUtil::resolveUserStatus($user, $userStatus); $userId = $user->id; $user = User::getById($userId); $this->assertEquals(UserStatusUtil::ACTIVE, UserStatusUtil::getSelectedValueByUser($user)); $this->assertTrue(Right::NONE == $user->getExplicitActualRight('UsersModule', UsersModule::RIGHT_LOGIN_VIA_WEB)); $this->assertTrue(Right::NONE == $user->getExplicitActualRight('UsersModule', UsersModule::RIGHT_LOGIN_VIA_MOBILE)); $this->assertTrue(Right::NONE == $user->getExplicitActualRight('UsersModule', UsersModule::RIGHT_LOGIN_VIA_WEB_API)); }