/** * 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)); }
/** * 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)); }
/** * 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)); }