]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
[ERP-242] добавлено сообщение о переходе на новый статус в передаче смены
authorAlexander Smirnov <fredeom@mail.ru>
Tue, 3 Dec 2024 09:11:35 +0000 (12:11 +0300)
committerAlexander Smirnov <fredeom@mail.ru>
Tue, 3 Dec 2024 09:11:35 +0000 (12:11 +0300)
erp24/controllers/ShiftTransferController.php
erp24/views/shift-transfer/index.php
erp24/views/shift-transfer/view.php

index 91a2056fc5f3f2f31606732fd091dcf5ebee1cc9..561daf7e41ac2c5079bba09725b1d558164b7195 100644 (file)
@@ -28,6 +28,11 @@ use yii_app\services\TaskService;
 
 class ShiftTransferController extends Controller
 {
+    public static function isAllowedAdmin() {
+        $admin = Admin::findOne(Yii::$app->user->id);
+        return !(!$admin || $admin->group_id == -1 || !in_array($admin->group_id, Admin::ADMIN_CABINET_GROUP_IDS));
+    }
+
     public function actionIndex() {
         $storeGuids = AdminStores::find()->select(['store_guid'])->where(['admin_id' => Yii::$app->user->id])->column();
 
@@ -42,14 +47,6 @@ class ShiftTransferController extends Controller
 
     public function actionCreate()
     {
-        $admin = Admin::findOne(Yii::$app->user->id);
-        if (!$admin || $admin->group_id == -1 || !in_array($admin->group_id, Admin::ADMIN_CABINET_GROUP_IDS)) {
-
-            Yii::$app->session->setFlash('error', 'Вы не водите в группы, разрешённые для управления передачей смены');
-
-            return $this->redirect('index');
-        }
-
         $shiftTransfer = new ShiftTransfer;
         $shiftTransfer->date = date('Y-m-d H:i:s');
         $shiftTransfer->date_start = $shiftTransfer->date;
@@ -71,14 +68,6 @@ class ShiftTransferController extends Controller
 
     public function actionUpdate($id = null)
     {
-        $admin = Admin::findOne(Yii::$app->user->id);
-        if (!$admin || $admin->group_id == -1 || !in_array($admin->group_id, Admin::ADMIN_CABINET_GROUP_IDS)) {
-
-            Yii::$app->session->setFlash('error', 'Вы не водите в группы, разрешённые для управления передачей смены');
-
-            return $this->redirect('index');
-        }
-
         $shiftTransfer = ShiftTransfer::findOne($id);
 
         if (!$shiftTransfer) {
@@ -114,6 +103,10 @@ class ShiftTransferController extends Controller
                     $shiftTransfer->discrepancy_rubles = array_sum(ArrayHelper::getColumn($shiftTransfer->shiftRemains, 'remains_1c'));
                     $shiftTransfer->status_id = ShiftTransfer::STATUS_ID_TRANSFER_ACTIONS;
                     $shiftTransfer->save();
+
+                    Yii::$app->session->setFlash('info', 'Документ передачи смены успешно сохранён. Сейчас документ находится в статусе Действия по замене.<br>' .
+                        'Для продолжения оформления документа в таблице возможных замен добавьте замену недостающего товара.');
+
                     return $this->redirect(['/shift-transfer/view', 'id' => $shiftTransfer->id]);
                  }
             }
index a95421b546c35dce079f8e2d8ebd833ec0265717..8e436d0757954768d59b400095933df5a77d34eb 100644 (file)
@@ -7,6 +7,8 @@ use yii\data\ArrayDataProvider;
 use yii\grid\ActionColumn;
 use yii\helpers\Url;
 
+use app\controllers\ShiftTransferController;
+
 /* @var $shiftTransfers ShiftTransfer */
 /* @var $storeNameById array */
 /* @var $admins array */
@@ -15,17 +17,9 @@ use yii\helpers\Url;
 
 <div class="shiftTransferIndex m-5">
 
-    <?php if (Yii::$app->session->hasFlash('error')): ?>
-        <div class="alert alert-danger alert-dismissable">
-            <button aria-hidden="true" data-dismiss="alert" class="close" type="button">×</button>
-            <h4><i class="icon fa fa-check"></i>Не получилось управлять передачей смены!</h4>
-            <?= Yii::$app->session->getFlash('error') ?>
-        </div>
-    <?php endif; ?>
-
     <h1>Передачи смен</h1>
 
-    <?= Html::a('Создать новую передачу смен', '/shift-transfer/create', ['class' => 'btn btn-success']) ?>
+    <?= ShiftTransferController::isAllowedAdmin() ? Html::a('Создать новую передачу смен', '/shift-transfer/create', ['class' => 'btn btn-success']) : '' ?>
 
     <?= GridView::widget([
         'dataProvider' => new ArrayDataProvider([
@@ -74,10 +68,10 @@ use yii\helpers\Url;
                 },
                 'visibleButtons' => [
                     'delete' => function($model){
-                        return $model->status_id == ShiftTransfer::STATUS_ID_INPUT_FACT_REMAINS;
+                        return $model->status_id == ShiftTransfer::STATUS_ID_INPUT_FACT_REMAINS && ShiftTransferController::isAllowedAdmin();
                     },
                     'update' => function($model){
-                        return $model->status_id == ShiftTransfer::STATUS_ID_INPUT_FACT_REMAINS;
+                        return $model->status_id == ShiftTransfer::STATUS_ID_INPUT_FACT_REMAINS && ShiftTransferController::isAllowedAdmin();
                     },
                 ],
             ],
index feddf98448c291bfab4e82ff9e8d8c4a6f1b79f8..ef844ca92f41acd51a306879f1dc2036b420f18f 100644 (file)
@@ -2,22 +2,34 @@
 
 use yii\helpers\Html;
 use yii\widgets\DetailView;
-use yii\helpers\ArrayHelper;
 use yii_app\records\ShiftTransfer;
-use yii_app\records\ProductsClass;
-use yii_app\records\Products1c;
+
+use app\controllers\ShiftTransferController;
 
 /* @var $shiftTransfer ShiftTransfer */
 /* @var $storeNameById array */
 /* @var $admins array */
 /* @var $isAcceptance bool */
 
+$this->registerCss('
+[for="shifttransfer-equalizationremains"] {
+    font-size: 1.5rem;
+}
+');
+
 ?>
 
 <div class="shiftTransferView m-5">
 
+    <?php if (Yii::$app->session->hasFlash('info')): ?>
+        <div class="alert alert-warning alert-dismissable">
+            <button aria-hidden="true" data-dismiss="alert" class="close" type="button">×</button>
+            <?= Yii::$app->session->getFlash('info') ?>
+        </div>
+    <?php endif; ?>
+
     <?= Html::a('Назад', '/shift-transfer', ['class' => 'btn btn-secondary']) ?>
-    <?= $shiftTransfer->status_id == ShiftTransfer::STATUS_ID_INPUT_FACT_REMAINS ? Html::a('Редактировать', ['/shift-transfer/update', 'id' => Yii::$app->request->get('id')], ['class' => 'btn btn-primary']) : '' ?>
+    <?= $shiftTransfer->status_id == ShiftTransfer::STATUS_ID_INPUT_FACT_REMAINS && ShiftTransferController::isAllowedAdmin() ? Html::a('Редактировать', ['/shift-transfer/update', 'id' => Yii::$app->request->get('id')], ['class' => 'btn btn-primary']) : '' ?>
 
     <h1>Просмотр передачи смены</h1>