/**
  * 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 #2
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 #3
0
$this->title = $model->name;
$this->params['breadcrumbs'][] = ['label' => 'Tenants', 'url' => ['index']];
$this->params['breadcrumbs'][] = $this->title;
//$this->params['sidebarItems'] = Yii::$app->params['sidebarItems'];
?>
<div class="row">
<?php 
Pjax::begin(['id' => 'container-pjax', 'timeout' => false]);
?>

    <!-- BEGIN user portlet -->
    <div class="col-md-6">
    <?php 
Portlet::begin(['id' => 'user-portlet', 'title' => 'Users Permission', 'subtitle' => 'for this tenant...']);
?>

    <?php 
echo GridView::widget(['id' => 'user-gridview', 'dataProvider' => new ArrayDataProvider(['allModels' => ApiUser::find()->email('')->orderBy('email:1')->all(), 'pagination' => ['pageSize' => 10]]), 'columns' => ApiUser::column()->nickname()->email()->role($model->name)->actions("{update-role-to-user} {update-role-to-admin} {remove-tenant}", $model->id)->all()]);
?>

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

<?php 
Pjax::end();
?>
</div>
Example #4
0
 /**
  * @return boolean
  */
 public function getIsAdmin()
 {
     $apiUser = ApiUser::findOne(Yii::$app->user->identity->auth->source_id);
     $role = $apiUser['app_metadata']['permissions'][Yii::$app->getModule('auth0')->serviceId][Yii::$app->tenant->identity->name]['role'];
     return 'admin' == $role;
 }
Example #5
0
//$this->params['sidebarItems'] = Yii::$app->params['sidebarItems'];
?>

<div class="row">
<?php 
Pjax::begin(['id' => 'container-pjax', 'timeout' => false]);
?>

    <!-- BEGIN user portlet -->
    <div class="col-md-6">
    <?php 
Portlet::begin(['id' => 'user-portlet', 'title' => 'Users Permission', 'subtitle' => 'for this tenant...']);
?>

    <?php 
echo GridView::widget(['id' => 'user-gridview', 'dataProvider' => new ArrayDataProvider(['allModels' => $userQuery->all(), 'pagination' => ['pageSize' => 10]]), 'columns' => ApiUser::column()->nickname()->email()->tenants()->all()]);
?>

    <?php 
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']);