From 46004a8670b5cbe1a6988d016a6f90b621422f7b Mon Sep 17 00:00:00 2001 From: Yuriy Bakhtin Date: Thu, 16 Dec 2021 13:57:44 +0300 Subject: [PATCH] Improved Invitation (#5473) --- .github/workflows/php-test.yml | 36 +++++++++---------- .../space/controllers/CreateController.php | 12 ++++--- 2 files changed, 25 insertions(+), 23 deletions(-) diff --git a/.github/workflows/php-test.yml b/.github/workflows/php-test.yml index ae941604dc..e6f15d30dc 100644 --- a/.github/workflows/php-test.yml +++ b/.github/workflows/php-test.yml @@ -47,20 +47,20 @@ jobs: - uses: actions/checkout@v2 - uses: actions/setup-node@v1 - - name: Setup cache environment - id: cache-env - uses: shivammathur/cache-extensions@v1 - with: - php-version: ${{ matrix.php-version }} - extensions: ${{ env.extensions }} - key: ${{ env.key }} - - - name: Cache extensions - uses: actions/cache@v1 - with: - path: ${{ steps.cache-env.outputs.dir }} - key: ${{ steps.cache-env.outputs.key }} - restore-keys: ${{ steps.cache-env.outputs.key }} +# - name: Setup cache environment +# id: cache-env +# uses: shivammathur/cache-extensions@v1 +# with: +# php-version: ${{ matrix.php-version }} +# extensions: ${{ env.extensions }} +# key: ${{ env.key }} + +# - name: Cache extensions +# uses: actions/cache@v1 +# with: +# path: ${{ steps.cache-env.outputs.dir }} +# key: ${{ steps.cache-env.outputs.key }} +# restore-keys: ${{ steps.cache-env.outputs.key }} - name: Install PHP with extensions uses: shivammathur/setup-php@v2 @@ -87,10 +87,10 @@ jobs: - name: Install dependencies with composer run: composer update --prefer-dist --no-interaction --no-progress --optimize-autoloader --ansi - - name: Verify MySQL connection from host - run: | - sudo apt-get update && sudo apt-get install -y mysql-client - mysql --host 127.0.0.1 --port ${{ job.services.mysql.ports['3306'] }} -uroot -proot -e "SHOW DATABASES" +# - name: Verify MySQL connection from host +# run: | +# sudo apt-get update && sudo apt-get install -y mysql-client-8.0 mysql-common +# mysql --host 127.0.0.1 --port ${{ job.services.mysql.ports['3306'] }} -uroot -proot -e "SHOW DATABASES" - name: Install npm dependencies run: npm install diff --git a/protected/humhub/modules/space/controllers/CreateController.php b/protected/humhub/modules/space/controllers/CreateController.php index 968252390f..83abfe3e88 100644 --- a/protected/humhub/modules/space/controllers/CreateController.php +++ b/protected/humhub/modules/space/controllers/CreateController.php @@ -8,16 +8,14 @@ namespace humhub\modules\space\controllers; +use Colors\RandomColor; use humhub\components\Controller; use humhub\components\behaviors\AccessControl; -use humhub\models\Setting; -use humhub\modules\content\components\ContentContainerModule; -use humhub\modules\content\components\ContentContainerModuleManager; +use humhub\modules\space\models\forms\InviteForm; use humhub\modules\space\models\Space; use humhub\modules\space\permissions\CreatePrivateSpace; use humhub\modules\space\permissions\CreatePublicSpace; -use humhub\modules\space\models\forms\InviteForm; -use Colors\RandomColor; +use humhub\modules\space\permissions\InviteUsers; use humhub\modules\user\helpers\AuthHelper; use Yii; use yii\base\Exception; @@ -159,6 +157,10 @@ public function actionInvite($space = null, $spaceId = null) throw new HttpException(404); } + if (!$space->can(InviteUsers::class)) { + throw new HttpException(400, 'You are not allowed to invite users to the space!'); + } + $model = new InviteForm(['space' => $space]); if ($model->load(Yii::$app->request->post()) && $model->save()) {