[ 'class' => \yii\filters\AccessControl::class, 'rules' => [ // allow authenticated users [ 'actions' => [ 'index', ], 'allow' => true, 'roles' => [ 'admin', 'employee', 'reception' ] ] ] // everything else is denied ] ]; } /** * Lists all Ticket models. * * @return mixed */ public function actionIndex() { $settingsManager = new PropertySettingsManager(); $settings = $settingsManager->getPropertySettings(); $settingsMap = AppArrayHelper::objectArrayToMap($settings, function ($setting) { return $setting->definition->id; }, function ($setting) { return $setting; }); $models = AppArrayHelper::mapValues($settings, function ($item) { return PropertySettingModel::fromPropertySetting($item); } ); if (\Yii::$app->request->isPost) { PropertySettingModel::loadMultiple($models, \Yii::$app->request->post()); foreach ($models as $model){ if ( isset($settingsMap[$model->id_definition])){ $setting = $settingsMap[$model->id_definition]; $setting->setValue($model->value); } } $settingsManager->saveSettings(array_values($settingsMap)); } return $this->render('index', [ 'settings' => $models ]); } }