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);
 }
Ejemplo n.º 2
0
 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();
 }