public function actionNew()
 {
     $request = Yii::$app->request;
     $user = new User();
     if ($request->isPost) {
         if ($user->load($request->post()) && $user->save()) {
             $role = (int) $request->post('role');
             if (Group::isValidGroup($role)) {
                 $groupMember = new GroupMember();
                 $groupMember->user_id = $user->id;
                 $groupMember->group_id = $role;
                 if ($groupMember->save()) {
                     return "<a class='auto-close'></a>";
                 }
             } else {
                 throw new CHttpException(404, 'Не съществува такава група!');
             }
         } else {
             return $this->renderPartial('new', ['user' => $user]);
         }
     }
     return $this->renderPartial('new', ['user' => $user]);
 }
示例#2
0
文件: User.php 项目: DCgov/dc-madison
 /**
  *	getValidSponsors.
  *
  *	@todo I'm not sure what exactly this does at first glance
  */
 public function getValidSponsors()
 {
     $collection = new Collection();
     $groups = GroupMember::where('user_id', '=', $this->id)->whereIn('role', array(Group::ROLE_EDITOR, Group::ROLE_OWNER))->get();
     foreach ($groups as $groupMember) {
         $collection->add($groupMember->group()->first());
     }
     $users = UserMeta::where('user_id', '=', $this->id)->where('meta_key', '=', UserMeta::TYPE_INDEPENDENT_SPONSOR)->where('meta_value', '=', '1')->get();
     foreach ($users as $userMeta) {
         $collection->add($userMeta->user()->first());
     }
     return $collection;
 }
示例#3
0
 public function addMember($userId, $role = null)
 {
     $groupMember = $this->findMemberByUserId($userId);
     if (!$groupMember) {
         if (is_null($role)) {
             throw new \Exception("You must provide a role if adding a new member");
         }
         if (!isset($this->id) || empty($this->id)) {
             throw new \Exception("The group must have a ID set in order to add a member");
         }
         $groupMember = new GroupMember();
         $groupMember->user_id = $userId;
         $groupMember->role = Group::ROLE_OWNER;
         $groupMember->group_id = $this->id;
     } else {
         if (!is_null($role)) {
             $groupMember->role = $role;
         }
     }
     $groupMember->save();
 }
示例#4
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getGroupMembers()
 {
     return $this->hasMany(GroupMember::className(), ['group_id' => 'id']);
 }
示例#5
0
 public function getIndex()
 {
     if (!Auth::check()) {
         return Redirect::to('user/login')->with('error', 'Please log in to view groups');
     }
     $userGroups = GroupMember::where('user_id', '=', Auth::user()->id)->get();
     return View::make('groups.index', compact('userGroups'));
 }
示例#6
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getGroupMembers()
 {
     return $this->hasOne(GroupMember::className(), ['user_id' => 'id']);
 }