add property and property definition
This commit is contained in:
77
backend/controllers/SettingsController.php
Normal file
77
backend/controllers/SettingsController.php
Normal file
@@ -0,0 +1,77 @@
|
||||
<?php
|
||||
|
||||
namespace backend\controllers;
|
||||
|
||||
use common\helpers\AppArrayHelper;
|
||||
use common\manager\PropertySettingsManager;
|
||||
use common\models\PropertySettingModel;
|
||||
|
||||
class SettingsController extends BackendController
|
||||
{
|
||||
|
||||
public function behaviors()
|
||||
{
|
||||
return [
|
||||
'access' => [
|
||||
'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
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user