Пример #1
0
 /**
  * Invite user
  */
 public function actionInvite()
 {
     $space = Space::find()->where(['id' => Yii::$app->request->get('spaceId', "")])->one();
     $model = new \humhub\modules\space\models\forms\InviteForm();
     $model->space = $space;
     if ($model->load(Yii::$app->request->post()) && $model->validate()) {
         // Invite existing members
         foreach ($model->getInvites() as $user) {
             $space->inviteMember($user->id, Yii::$app->user->id);
         }
         // Invite non existing members
         if (Setting::Get('internalUsersCanInvite', 'authentication_internal')) {
             foreach ($model->getInvitesExternal() as $email) {
                 $space->inviteMemberByEMail($email, Yii::$app->user->id);
             }
         }
         return $this->htmlRedirect($space->getUrl());
     }
     return $this->renderAjax('invite', array('model' => $model, 'space' => $space));
 }
Пример #2
0
 /**
  * Invite New Members to this workspace
  */
 public function actionInvite()
 {
     $space = $this->getSpace();
     // Check Permissions to Invite
     if (!$space->canInvite()) {
         throw new HttpException(403, 'Access denied - You cannot invite members!');
     }
     $canInviteExternal = Yii::$app->getModule('user')->settings->get('auth.internalUsersCanInvite');
     $model = new \humhub\modules\space\models\forms\InviteForm();
     $model->space = $space;
     if ($model->load(Yii::$app->request->post()) && $model->validate()) {
         $statusInvite = false;
         // Invite existing members
         foreach ($model->getInvites() as $user) {
             $space->inviteMember($user->id, Yii::$app->user->id);
             $statusInvite = $space->getMembership($user->id)->status;
         }
         // Invite non existing members
         if ($canInviteExternal) {
             foreach ($model->getInvitesExternal() as $email) {
                 $statusInvite = $space->inviteMemberByEMail($email, Yii::$app->user->id) ? Membership::STATUS_INVITED : false;
             }
         }
         return $this->renderAjax('statusInvite', ['status' => $statusInvite, 'canInviteExternal' => $canInviteExternal]);
     }
     return $this->renderAjax('invite', array('model' => $model, 'space' => $space, 'canInviteExternal' => $canInviteExternal));
 }
Пример #3
0
 /**
  * Invite user
  */
 public function actionInvite($space = null)
 {
     $space = $space == null ? Space::find()->where(['id' => Yii::$app->request->get('spaceId', "")])->one() : $space;
     $model = new \humhub\modules\space\models\forms\InviteForm();
     $model->space = $space;
     $canInviteExternal = Yii::$app->getModule('user')->settings->get('auth.internalUsersCanInvite');
     if ($model->load(Yii::$app->request->post()) && $model->validate()) {
         // Invite existing members
         foreach ($model->getInvites() as $user) {
             $space->inviteMember($user->id, Yii::$app->user->id);
         }
         // Invite non existing members
         if ($canInviteExternal) {
             foreach ($model->getInvitesExternal() as $email) {
                 $space->inviteMemberByEMail($email, Yii::$app->user->id);
             }
         }
         return $this->htmlRedirect($space->getUrl());
     }
     return $this->renderAjax('invite', ['canInviteExternal' => $canInviteExternal, 'model' => $model, 'space' => $space]);
 }
 /**
  * Invite New Members to this workspace
  * Reputation number 5
  */
 public function actionInvite()
 {
     $reputation_number = 5;
     $space = $this->getSpace();
     // Check Permissions to Invite
     if (!$space->canInvite()) {
         throw new HttpException(403, 'Access denied - You cannot invite members!');
     }
     $model = new \humhub\modules\space\models\forms\InviteForm();
     $model->space = $space;
     if ($model->load(Yii::$app->request->post()) && $model->validate()) {
         $statusInvite = false;
         // Invite existing members
         foreach ($model->getInvites() as $user) {
             $space->inviteMember($user->id, Yii::$app->user->id);
             $statusInvite = $space->getMembership($user->id)->status;
             if ($statusInvite == Membership::STATUS_INVITED) {
                 ReputationHistory::addReputation(Yii::$app->user->getId(), $reputation_number);
             }
         }
         // Invite non existing members
         if (Setting::Get('internalUsersCanInvite', 'authentication_internal')) {
             foreach ($model->getInvitesExternal() as $email) {
                 /** @var TYPE_NAME $statusInvite */
                 $statusInvite = $space->inviteMemberByEMail($email, Yii::$app->user->id) ? Membership::STATUS_INVITED : false;
                 if ($statusInvite == Membership::STATUS_INVITED) {
                     ReputationHistory::addReputation(Yii::$app->user->getId(), $reputation_number);
                 }
             }
         }
         return $this->renderAjax('statusInvite', array('status' => $statusInvite));
     }
     return $this->renderAjax('invite', array('model' => $model, 'space' => $space));
 }