Example #1
0
 /**
  * validation via AJAX
  * @return mixed
  */
 public function actionAjaxValidation($id = null)
 {
     if (isset($id)) {
         $model = $this->findModel($id);
     } else {
         $model = new Tenant();
     }
     $model->load(Yii::$app->request->post());
     Yii::$app->response->format = Response::FORMAT_JSON;
     return ActiveForm::validate($model);
 }
Example #2
0
 /**
  * Finds tenant by auth0 authenticated user first tenant name for the current service.
  * Create a tenant if it does not exists.
  *
  * @return mixed
  */
 public static function findByAuth0()
 {
     $query = self::find()->andWhere(['name' => Yii::$app->getModule('auth0')->auth0->getDefaultTenant()]);
     if (!$query->exists()) {
         $model = new Tenant();
         $model->name = Yii::$app->getModule('auth0')->auth0->getDefaultTenant();
         $model->save();
         $model->refresh();
         return $model;
     }
     return $query->one();
 }
Example #3
0
 /**
  * Finds tenant by auth0 authenticated user app metadata
  *
  * @return User|null
  */
 public function getTenant()
 {
     if ($this->_tenant === false) {
         $this->_tenant = Tenant::findByAuth0();
     }
     return $this->_tenant;
 }
 /**
  * See all users by service
  * @return mixed
  */
 public function actionIndex()
 {
     Yii::$app->user->setReturnUrl(['/' . $this->getRoute()]);
     $userQuery = ApiUser::find()->orderBy('email:1');
     $tenantQuery = Tenant::find()->orderBy('name');
     return $this->render('index', ['userQuery' => $userQuery, 'tenantQuery' => $tenantQuery]);
 }
Example #5
0
 /**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = Tenant::find();
     $dataProvider = new ActiveDataProvider(['query' => $query]);
     $this->load($params);
     if (!$this->validate()) {
         // uncomment the following line if you do not want to return any records when validation fails
         // $query->where('0=1');
         return $dataProvider;
     }
     $query->andFilterWhere(['id' => $this->id, 'created_at' => $this->created_at, 'create_user_id' => $this->create_user_id, 'updated_at' => $this->updated_at, 'update_user_id' => $this->update_user_id]);
     $query->andFilterWhere(['like', 'name', $this->name]);
     return $dataProvider;
 }
Example #6
0
 /**
  * @param string $userId
  * @return mixed
  */
 public function actionRemoveTenant($userId, $tenantId = null)
 {
     if (!isset($tenantId)) {
         $tenant = Yii::$app->tenant->identity;
     } else {
         $tenant = Tenant::findOne($tenantId);
     }
     $model = ApiUser::findOne($userId);
     if ($model) {
         $data = ['app_metadata' => $model['app_metadata']];
         unset($data['app_metadata']['permissions'][Yii::$app->getModule('auth0')->serviceId][$tenant->name]);
         if ($this->update($userId, $data)) {
             $user = User::findByAuth0($model);
             $tenantUser = TenantUser::findByTenantUser($tenant, $user);
             $tenantUser->delete();
             $msg = 'Successfully removed the selected user from the current tenant';
             return $this->goBack();
         }
     }
     throw new HttpException(404, 'The requested user cannot be found.');
 }
Example #7
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getTenant()
 {
     return $this->hasOne(Tenant::className(), ['id' => 'tenant_id']);
 }
Example #8
0
Portlet::end();
?>
    </div>
    <!-- END user portlet -->

    <!-- BEGIN tenant portlet -->
    <div class="col-md-6">
    <?php 
//Pjax::begin(['options' => ['id' => 'container-pjax']]);
?>
    <?php 
$checkboxButton = Html::a('<i class="fa fa-trash"></i> Delete selected', '#', ['title' => 'Delete Selected Tenant', 'class' => 'selectCheckboxButton', 'value-url' => 'http://localhost:8100/auth0/tenant/delete-checkbox', 'value-id' => 'tenant-gridview']);
Portlet::begin(['id' => 'tenant-portlet', 'title' => 'Tenants', 'subtitle' => 'showing  total users...', 'buttons' => [Html::a('<i class="fa fa-plus"></i>', false, ['value' => Url::to(['tenant/create']), 'title' => 'Create Tenant', 'class' => 'showModalButton btn btn-circle green-haze btn-sm']), Html::a('<i class="fa fa-download"></i>', false, ['value' => Url::to(['tenant/import']), 'title' => 'Import Tenant', 'class' => 'showModalButton btn btn-circle blue btn-sm']), Html::a('<i class="fa fa-cloud-download"></i>', ['tenant/export'], ['title' => 'Export Tenant', 'class' => 'btn btn-circle yellow btn-sm', 'data-pjax' => 0]), Html::a('<i class="fa fa-trash"></i>', ['tenant/delete-all'], ['title' => 'Delete All Tenant', 'class' => 'btn btn-circle red btn-sm', 'data-confirm' => 'Are you sure you want to delete all items?', 'data-method' => 'post', 'data-pjax' => 0])]]);
?>
    <?php 
echo GridView::widget(['id' => 'tenant-gridview', 'dataProvider' => new ActiveDataProvider(['query' => $tenantQuery, 'pagination' => ['pageSize' => 10]]), 'columns' => Tenant::column()->nameWithLink()->users()->actions()->all()]);
?>

    <?php 
Portlet::end();
?>
    <?php 
//Pjax::end();
?>
    </div>
    <!-- END tenant portlet -->

<?php 
Pjax::end();
?>
</div>
Example #9
0
 /**
  * @return mixed
  */
 public static function getIdentity()
 {
     return TenantModel::findOne(Yii::$app->session->get('user.tenantId'));
 }
Example #10
0
 /**
  * @return mixed
  */
 public function getTenant()
 {
     return Tenant::findOne($this->tenant_id);
 }