' Основни данни',
'ts_en' => ' Превод английски',
'media' => ' Медия файлове'
];
TableWidget::widget([
'top' => [
'title' => 'Колекции на обекти',
'data' => [
'index/dashboard' => 'Начало'
]
],
'actions' => [
'new' => 'Нова колекция',
'edit' => 'Редакция на колекция',
'delete' => 'Изтриване на колекция'
],
'th' => [
'№' => 'c0 text-right',
'Име на колекция' => '',
'История' => 'c1 ct',
'Добавена в избрани' => 'c1 ct',
'Публикувана' => 'c1 ct',
'Дата на публикуване' => 'c1 ct',
],
'data' => Collections::find()->where([])->orderBy(['id' => SORT_DESC])->loop([
'id',
function (Collections $model) {
return '' . $model->name . '';
},
function (Collections $model) {
return '';
},
function (Collections $model) {
return $model->statusSwitch('is_selected', null, ['Колекцията е добавена в избрани', 'Колекцията е махната от избрани']);
},
function (Collections $model) {
return $model->statusSwitch('is_active', null, ['Колекцията е видима на сайта', 'Колекцията е свалена от сайта']);
},
function (Collections $model) {
if ($model->publish_date)
return Formatter::date($model->publish_date);
},
], $_GET['p'] ?? 1, 30)
]);
FormWidget::widget([
'top' => [
'title' => 'Нова колекция',
'title_edit' => 'Редакция на колекция',
'data' => [
'index/dashboard' => 'Начало',
'nomenclature/collections' => 'Колекции на обекти'
],
],
'tabs' => $tabs ?? [],
'writeView' => "nomenclature/tabs/" . Includes::tab($tab) . "/collections_w",
'model' => Collections::class,
'validation' => function ($p) use ($tab) {
if ($tab == 'main') {
if (empty($p->{'name'}))
return ["name" => 'Моля, въведете име на колекцията'];
if (empty($p->{'ts_en_name'}))
return ["ts_en_name" => 'Моля, въведете име на колекцията на английски'];
if (empty($p->{'annotation'}))
return ["annotation" => 'Моля, въведете анотация на колекцията'];
if (empty($p->{'description'}))
return ["description" => 'Моля, въведете описание на колекцията'];
if (empty($p->{'partner_id'}))
return ["partner_id" => 'Моля, изберете партноьор, който представя колекцията'];
if (empty($p->{'info_center'}))
return ["info_center" => 'Моля, попълнете име на информационен център'];
if (empty($p->{'info_center_address'}))
return ["info_center_address" => 'Моля, попълнете адрес на информационен център'];
} else if (Includes::inLocales($tab)) {
if (empty($p->{$tab . '_annotation'}))
return [$tab . "_annotation" => 'Моля, въведете анотация на колекцията'];
if (empty($p->{$tab . '_description'}))
return [$tab . "_description" => 'Моля, въведете описание на колекцията'];
if (empty($p->{$tab . '_info_center'}))
return [$tab . "_info_center" => 'Моля, попълнете име на информационен център'];
if (empty($p->{$tab . '_info_center_address'}))
return [$tab . "_info_center_address" => 'Моля, попълнете адрес на информационен център'];
}
return null;
},
'postService' => function ($p, Collections $model) {
$model->setPostDataToModel();
$model->save();
History::addNew($model->id, 'collections', Auth::userAdminGlobal()->getFullName() . ' - Глобален администратор', !empty($_GET['id']));
Yii::$app->flash('success', isset($_GET['id']) ? 'Колекцията е актуализирана успешно' : 'Колекцията е създадена успешно');
$model->smartRedirect();
}
]);