'cityArray' => ArrayHelper::map(StoreCityList::findAll(['type' => StoreCityList::TYPE_CITY]), 'id', 'name'),
'districtArray' => ArrayHelper::map(StoreCityList::findAll(['type' => StoreCityList::TYPE_DISTRICT]), 'id', 'name'),
'matrixTypeArray' => ArrayHelper::map(MatrixType::find()->all(), 'id', 'name'),
- 'bushChefFloristArray' => ArrayHelper::map(Admin::findAll(['group_id' => AdminGroup::GROUP_BUSH_CHEF_FLORIST]), 'id', 'name'),
- 'territorialManagerArray' => ArrayHelper::map(Admin::findAll(['group_id' => AdminGroup::GROUP_BUSH_DIRECTOR]), 'id', 'name_full'),
+ 'bushChefFloristArray' => (static function () use ($bushChefFloristDyn): array {
+ $q = Admin::find()->where(['group_id' => AdminGroup::GROUP_BUSH_CHEF_FLORIST]);
+ if ($bushChefFloristDyn?->value_int) {
+ $q->orWhere(['id' => $bushChefFloristDyn->value_int]);
+ }
+ return ArrayHelper::map($q->orderBy(['name' => SORT_ASC])->all(), 'id', 'name');
+ })(),
+ 'territorialManagerArray' => (static function () use ($terrManagerDyn): array {
+ $q = Admin::find()->where(['group_id' => AdminGroup::GROUP_BUSH_DIRECTOR]);
+ if ($terrManagerDyn?->value_int) {
+ $q->orWhere(['id' => $terrManagerDyn->value_int]);
+ }
+ return ArrayHelper::map($q->orderBy(['name_full' => SORT_ASC])->all(), 'id', 'name_full');
+ })(),
// assortment labels (StoreDynamic category 5)
'labelIds' => $labelIds,
if (allOk) {
toast('Сохранено', 'ok');
clearDirty();
- var si = STORES.findIndex(function (s) { return s.id === D.id; });
- if (si !== -1) {
- STORES[si].isActive = !!csParams.is_active;
- STORES[si].name = csStore.name || STORES[si].name;
- }
- renderComboList(document.getElementById('storeSearchInput').value || '');
- loadStore(D.id);
+ var savedId = D.id;
+ fetch(CSM_URLS.getStores)
+ .then(function (r) { return r.json(); })
+ .then(function (resp) {
+ if (resp.success) {
+ STORES = resp.data;
+ renderComboList(document.getElementById('storeSearchInput').value || '');
+ }
+ });
+ loadStore(savedId);
} else {
var errs = results.filter(function (r) { return r && !r.success; }).map(function (r) { return r.message; }).join('; ');
toast('Ошибка: ' + errs, 'err');