From: Alexander Smirnov Date: Mon, 2 Dec 2024 11:59:36 +0000 (+0300) Subject: [ERP-242] ограничение магазинов по пользователю и пользователей по магазину X-Git-Tag: 1.7~209^2~3 X-Git-Url: https://gitweb.erp-flowers.ru/?a=commitdiff_plain;h=a23c6cf909d06eba5cb5f2b664a0ce9be50125ba;p=erp24_rep%2Fyii-erp24%2F.git [ERP-242] ограничение магазинов по пользователю и пользователей по магазину --- diff --git a/erp24/controllers/ShiftTransferController.php b/erp24/controllers/ShiftTransferController.php index 95f062b5..c3b22b2c 100644 --- a/erp24/controllers/ShiftTransferController.php +++ b/erp24/controllers/ShiftTransferController.php @@ -8,6 +8,7 @@ use yii\helpers\Json; use yii\web\Controller; use yii\web\Response; use yii_app\records\Admin; +use yii_app\records\AdminStores; use yii_app\records\Balances; use yii_app\records\CityStore; use yii_app\records\EqualizationRemains; @@ -36,12 +37,13 @@ class ShiftTransferController extends Controller return $this->render('index', compact('shiftTransfers', 'storeNameById', 'admins')); } - public static function getAdminsWithDrugieLast() + public static function getAdminsWithDrugieLast($storeGuids) { + $adminIdsForStore = AdminStores::find()->select(['admin_id'])->where(['store_guid' => $storeGuids])->column(); $adminArr = []; $adminArrOther = []; foreach (\yii_app\records\Admin::find()->with('adminGroup')->all() as $admin) { - if ($admin->group_id > 0) { + if ($admin->group_id > 0 && in_array($admin->id, $adminIdsForStore)) { $tmp = ['id' => $admin->id, 'name' => $admin->name, 'groupName' => $admin->adminGroup->name ?? "Другие"]; if ($tmp['groupName'] == 'Другие') { $adminArrOther[] = $tmp; @@ -64,8 +66,14 @@ class ShiftTransferController extends Controller $isCreate = true; $storeNameById = TaskService::getEntitiesByAlias('store'); + $storeGuids = AdminStores::find()->select(['store_guid'])->where(['admin_id' => Yii::$app->user->id])->column(); + foreach ($storeNameById as $id => $name) { + if (!in_array($id, $storeGuids)) { + unset($storeNameById[$id]); + } + } - $admins = self::getAdminsWithDrugieLast(); + $admins = self::getAdminsWithDrugieLast($storeGuids); return $this->render('update', compact('shiftTransfer', 'isCreate', 'storeNameById', 'admins')); @@ -115,8 +123,14 @@ class ShiftTransferController extends Controller $isCreate = false; $storeNameById = TaskService::getEntitiesByAlias('store'); + $storeGuids = AdminStores::find()->select(['store_guid'])->where(['admin_id' => Yii::$app->user->id])->column(); + foreach ($storeNameById as $id => $name) { + if (!in_array($id, $storeGuids)) { + unset($storeNameById[$id]); + } + } - $admins = self::getAdminsWithDrugieLast(); + $admins = self::getAdminsWithDrugieLast($storeGuids); $shiftTransfer->shiftRemainsCopy = $loadDataShiftRemains ?? $shiftTransfer->shiftRemains;