Exemplo n.º 1
0
 /**
  * Ajax handler for accept request
  */
 public function onSubmit()
 {
     if (($code = post('code')) != '') {
         $user = $this->getuser();
         UserGroup::joinByCode($code, $user);
     }
     // Updated list of request and other vars
     $this->prepareVars();
 }
Exemplo n.º 2
0
 /**
  * Read and process incomming data from listenable channels
  * @return void
  */
 public function fire()
 {
     $today = Carbon::today();
     $lastRun = Settings::get('reset_group_last_run');
     if ($lastRun != $today->toDateTimeString()) {
         $day = strtolower($today->format('l'));
         $reset_groups_every_day = Settings::get('reset_groups_every_day');
         $reset_groups_time = Settings::get('reset_groups_time');
         if (in_array($day, $reset_groups_every_day)) {
             $reset_at = Carbon::parse($reset_groups_time);
             if ($reset_at->lte(Carbon::now())) {
                 UserGroup::markInactiveGroups();
                 Settings::set('reset_group_last_run', $today->toDateTimeString());
             }
         }
     } else {
         // \Log::info('Has already run');
     }
 }
Exemplo n.º 3
0
 /**
  * Ajax handler for accept request
  */
 public function onChangeStatus()
 {
     if (($groupId = post('groupId')) != '') {
         $group = UserGroup::findOrFail($groupId);
         if (($status = post('status')) != '') {
             $user = $this->getuser();
             switch ($status) {
                 case UserGroup::MEMBERSHIP_ACCEPTED:
                     $group->acceptMembership($user);
                     break;
                 case UserGroup::MEMBERSHIP_REJECTED:
                     $group->rejectMembership($user);
                     break;
                 case UserGroup::MEMBERSHIP_CANCELLED:
                     $group->cancelMembership($user);
                     break;
             }
         }
     }
     // Updated list of request and other vars
     $this->prepareVars();
 }
Exemplo n.º 4
0
 /**
  * Create a new group
  */
 public function onCreateGroup()
 {
     if ($user = $this->getUser()) {
         $group = new UserGroup();
         $group->owner = $user;
         $group->save();
         $goTo = $this->property('newGroupRedirectTo');
         $goTo = trim($goTo) === '' || !isset($goTo) ? $_SERVER['PHP_SELF'] : $goTo;
         return Redirect::to($goTo);
     }
 }
Exemplo n.º 5
0
 /**
  * Ajax handler for adding members
  */
 public function onAddMember()
 {
     // refresh current step
     $this->currentStep = self::STEP_MEMBERS;
     if (($groupId = post('groupId')) != '') {
         // Add to group
         $group = $this->getGroup($groupId);
         if (($username = post('username')) != '') {
             $user = User::where($this->getLoginAttr(), '=', $username)->first();
             if ($user) {
                 \Log::info(UserGroup::getActiveMembershipsCount($user));
                 try {
                     $added = $group->addUser($user);
                     if (!$added) {
                         if ($user->getKey() == $group->owner->getKey()) {
                             $message = Lang::get('dma.friends::lang.groups.ownerCanBeMember');
                             Flash::error($message);
                         }
                     }
                 } catch (\Exception $e) {
                     Flash::error($e->getMessage());
                 }
             } else {
                 $message = Lang::get('dma.friends::lang.exceptions.userNotFound');
                 Flash::error($message);
             }
         }
         // Updated list of users and other vars
         $this->prepareVars($group);
     }
 }
 public function testResetGroups()
 {
     UserGroup::markInactiveGroups();
     $this->assertEquals(0, count(UserGroup::where('is_active', '=', true)->get()));
 }