Example #1
0
 /**
  * Returns an array of all possible space owners
  */
 public function getNewOwnerArray()
 {
     $possibleOwners = [];
     $query = Membership::find()->joinWith(['user', 'user.profile'])->andWhere(['space_membership.group_id' => 'admin']);
     foreach ($query->all() as $membership) {
         $possibleOwners[$membership->user->id] = $membership->user->displayName;
     }
     return $possibleOwners;
 }
Example #2
0
 protected function getMembershipQuery()
 {
     $query = Membership::find();
     if (Setting::Get('spaceOrder', 'space') == 0) {
         $query->orderBy('name ASC');
     } else {
         $query->orderBy('last_visit DESC');
     }
     $query->joinWith('space');
     $query->where(['space_membership.user_id' => Yii::$app->user->id, 'space_membership.status' => Membership::STATUS_MEMBER]);
     return $query;
 }
Example #3
0
 public function actionIndex()
 {
     $query = Membership::find();
     if (Setting::Get('spaceOrder', 'space') == 0) {
         $query->orderBy('name ASC');
     } else {
         $query->orderBy('last_visit DESC');
     }
     $query->joinWith('space');
     $query->where(['space_membership.user_id' => Yii::$app->user->id, 'space_membership.status' => Membership::STATUS_MEMBER]);
     return $this->renderAjax('index', ['memberships' => $query->all()]);
 }
Example #4
0
 /**
  * Creates data provider instance with search query applied
  * 
  * @param array $params
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = Membership::find();
     $query->andWhere(['space_membership.status' => $this->status]);
     $query->joinWith(['user', 'user.profile']);
     $dataProvider = new ActiveDataProvider(['query' => $query, 'pagination' => ['pageSize' => 50]]);
     $dataProvider->setSort(['attributes' => ['user.profile.firstname' => ['asc' => ['profile.firstname' => SORT_ASC], 'desc' => ['profile.firstname' => SORT_DESC]], 'user.profile.lastname' => ['asc' => ['profile.lastname' => SORT_ASC], 'desc' => ['profile.lastname' => SORT_DESC]], 'user.username', 'last_visit', 'group_id']]);
     $this->load($params);
     if (!$this->validate()) {
         $query->where('0=1');
         return $dataProvider;
     }
     $query->andWhere(['space_membership.space_id' => $this->space_id]);
     $query->andFilterWhere(['space_membership.group_id' => $this->group_id]);
     $query->andFilterWhere(['like', 'profile.lastname', $this->getAttribute('user.profile.lastname')]);
     $query->andFilterWhere(['like', 'profile.firstname', $this->getAttribute('user.profile.firstname')]);
     $query->andFilterWhere(['like', 'user.username', $this->getAttribute('user.username')]);
     return $dataProvider;
 }
Example #5
0
 /**
  * Callback to validate module database records.
  *
  * @param Event $event
  */
 public static function onIntegrityCheck($event)
 {
     $integrityController = $event->sender;
     $integrityController->showTestHeadline("Space Module - Spaces (" . Space::find()->count() . " entries)");
     foreach (Space::find()->all() as $space) {
         foreach ($space->applicants as $applicant) {
             if ($applicant->user == null) {
                 if ($integrityController->showFix("Deleting applicant record id " . $applicant->id . " without existing user!")) {
                     $applicant->delete();
                 }
             }
         }
     }
     $integrityController->showTestHeadline("Space Module - Module (" . models\Module::find()->count() . " entries)");
     foreach (models\Module::find()->joinWith('space')->all() as $module) {
         if ($module->space == null) {
             if ($integrityController->showFix("Deleting space module" . $module->id . " without existing space!")) {
                 $module->delete();
             }
         }
     }
     $integrityController->showTestHeadline("Space Module - Memberships (" . models\Membership::find()->count() . " entries)");
     foreach (models\Membership::find()->joinWith('space')->all() as $membership) {
         if ($membership->space == null) {
             if ($integrityController->showFix("Deleting space membership" . $membership->space_id . " without existing space!")) {
                 $membership->delete();
             }
         }
         if ($membership->user == null) {
             if ($integrityController->showFix("Deleting space membership" . $membership->user_id . " without existing user!")) {
                 $membership->delete();
             }
         }
     }
 }