Ejemplo n.º 1
0
 /**
  * Displays a single User model.
  * @param integer $id
  * @return mixed
  */
 public function actionView($id)
 {
     $model = $this->findModel($id);
     $authAssignments = AuthAssignment::find()->where(['user_id' => $model->id])->column();
     $authItems = ArrayHelper::map(AuthItem::find()->where(['type' => 1])->asArray()->all(), 'name', 'name');
     $authAssignment = new AuthAssignment(['user_id' => $model->id]);
     if (Yii::$app->request->post()) {
         $authAssignment->load(Yii::$app->request->post());
         // delete all role
         AuthAssignment::deleteAll(['user_id' => $model->id]);
         if (is_array($authAssignment->item_name)) {
             foreach ($authAssignment->item_name as $item) {
                 if (!in_array($item, $authAssignments)) {
                     $authAssignment2 = new AuthAssignment(['user_id' => $model->id]);
                     $authAssignment2->item_name = $item;
                     $authAssignment2->created_at = time();
                     $authAssignment2->save();
                     $authAssignments = AuthAssignment::find()->where(['user_id' => $model->id])->column();
                 }
             }
         }
         Yii::$app->session->setFlash('success', 'Data tersimpan');
     }
     $authAssignment->item_name = $authAssignments;
     return $this->render('view', ['model' => $model, 'authAssignment' => $authAssignment, 'authItems' => $authItems]);
 }