Initial import

This commit is contained in:
Admin Nasledstvo
2026-05-01 20:52:04 +03:00
commit ac168868ee
10028 changed files with 2337954 additions and 0 deletions
@@ -0,0 +1,80 @@
<?php
use app\models\Positions;
use app\services\Auth;
use app\widgets\FormWidget;
use app\widgets\TableWidget;
TableWidget::widget([
'top' => [
'title' => 'Тематични зони',
'data' => [
'index/dashboard' => 'Начало',
'web-portal/expositions' => 'Уеб портал',
]
],
'actions' => [
'new' => 'Нова група',
'edit' => 'Редакция на група',
//'delete' => 'Изтриване на група'
],
'th' => [
'№' => 'c1 text-right',
'Тематична зона' => '',
'Брой позиции' => 'c4'
],
'data' => Positions::find()->where(['IS', 'group_id', null])->orderBy(['id' => SORT_DESC])->loop([
'id',
function (Positions $model) {
return '<a href="' . Yii::$app->setQueryString(['o' => 'w', 'id' => $model->id]) . '">' . $model->group_name . '</a>';
},
function (Positions $model) {
return $model->positionsCount;
}
], $_GET['p'] ?? 1, 30)
]);
FormWidget::widget([
'top' => [
'title' => 'Нова група',
'title_edit' => 'Редакция на тематична зона',
'data' => [
'index/dashboard' => 'Начало',
'web-portal/expositions' => 'Уеб портал',
'web-portal/positions' => 'Тематични зони'
],
],
'writeView' => "web-portal/tabs/main/positions_group_w",
'model' => Positions::class,
'validation' => function ($p) {
if (empty($p->{"group_name"}))
return ["group_name" => 'Моля, въведете име на групата'];
if (empty($p->{"positions_count"}) && $p->{'positions_count_ready'} == 0)
return ["positions_count" => 'Моля, въведете брой позиции'];
return null;
},
'postService' => function ($p, Positions $model) {
$model->setPostDataToModel();
$model->save();
if(!empty($p->positions_count)) {
for ($i = 0; $i < $p->positions_count; $i++) {
$position = new Positions();
$position->group_id = $model->id;
$position->order_index = $i;
$position->save();
}
}
if(!empty($p->enter_class_name)) {
foreach ($p->enter_class_name as $id => $class_name) {
$positionToUpdate = Positions::findOne($id);
if($positionToUpdate) {
$positionToUpdate->class_name = $class_name;
$positionToUpdate->save();
}
}
}
Yii::$app->flash('success', isset($_GET['id']) ? 'Групата на позициите е актуализирана успешно' : 'Групата на позициите е създадена успешно');
$model->smartRedirect();
}
]);