public function testMakeFormFromGroup() { $user = UserTestHelper::createBasicUser('Billy'); $billId = $user->id; unset($user); $user = User::getById($billId); $this->assertEquals('billy', $user->username); $user = UserTestHelper::createBasicUser('Jimmy'); $jimId = $user->id; unset($user); $user = User::getById($jimId); $this->assertEquals('jimmy', $user->username); $users = User::GetAll(); $allUsers = array(); foreach ($users as $user) { $allUsers[$user->id] = strval($user); } $this->assertEquals(3, count($allUsers)); $a = new Group(); $a->name = 'JJJ'; $this->assertTrue($a->save()); $this->assertEquals(0, $a->users->count()); $this->assertEquals(0, $a->groups->count()); $form = GroupUserMembershipFormUtil::makeFormFromGroup($a); $this->assertEquals(array(), $form->userMembershipData); $this->assertEquals($allUsers, $form->userNonMembershipData); }
public function actionEditUserMembership($id) { $group = Group::getById(intval($id)); $title = Zurmo::t('ZurmoModule', 'User Membership'); $breadCrumbLinks = array(strval($group) => array('group/' . static::resolveBreadCrumbActionByGroup($group), 'id' => $id), $title); $membershipForm = GroupUserMembershipFormUtil::makeFormFromGroup($group); $postVariableName = get_class($membershipForm); if (isset($_POST[$postVariableName])) { $castedPostData = GroupUserMembershipFormUtil::typeCastPostData($_POST[$postVariableName]); GroupUserMembershipFormUtil::setFormFromCastedPost($membershipForm, $castedPostData); if (null != ($message = GroupUserMembershipFormUtil::validateMembershipChange($membershipForm, $group))) { Yii::app()->user->setFlash('notification', $message); } elseif (!$group->canModifyMemberships()) { throw new SecurityException(); } elseif (GroupUserMembershipFormUtil::setMembershipFromForm($membershipForm, $group)) { $this->clearCaches(); Yii::app()->user->setFlash('notification', Zurmo::t('ZurmoModule', 'User Membership Saved Successfully.')); $action = $this->resolveActionToGoToAfterSave($group); $this->redirect(array($this->getId() . '/' . $action, 'id' => $group->id)); Yii::app()->end(0, false); } } $titleBarAndEditView = new GroupActionBarAndUserMembershipEditView($this->getId(), $this->getModule()->getId(), $membershipForm, $group, $this->getModule()->getPluralCamelCasedName()); $view = new GroupsPageView(ZurmoDefaultAdminViewUtil::makeViewWithBreadcrumbsForCurrentUser($this, $titleBarAndEditView, $breadCrumbLinks, 'GroupBreadCrumbView')); echo $view->render(); }