} elseif ($action === 'save') {
$model->updateAttributes(['status_id' => ShiftTransfer::STATUS_ID_READY_TO_ACCEPT]);
EqualizationRemains::updateData(Yii::$app->request->post()['ShiftTransfer']['equalizationRemains'], $id);
- } elseif ($action === 'rejection') {
+ } elseif ($action == 'recalculate') {
+ EqualizationRemains::setData($model);
+ Yii::$app->session->setFlash('success', 'Таблица замен успешно перерасчитана');
+ } elseif ($action === 'rejection' || $action === 'back') {
$model->updateAttributes(['status_id' => ShiftTransfer::STATUS_ID_TRANSFER_ACTIONS]);
+ //удаление данных из табличек с плюсом и минусом
+ } elseif ($action === 'resume') {
+ //формирование табличек с минусом и плюсом
}
$this->redirect(Yii::$app->request->referrer);
];
}
- public static function updateData($equalizationRemains, int $shift_transfer_id) {
- public static function updateData($equalizationRemains, int $shift_id)
++ public static function updateData($equalizationRemains, int $shift_transfer_id)
+ {
- self::deleteAll(['shift_id' => $shift_id]);
+ self::deleteAll(['shift_transfer_id' => $shift_transfer_id]);
if (!is_array($equalizationRemains) || empty($equalizationRemains)) {
return;
*/
public function getEqualizationRemains()
{
- return $this->hasMany(EqualizationRemains::class, ['shift_id' => 'id']);
+ return $this->hasMany(EqualizationRemains::class, ['shift_transfer_id' => 'id']);
}
+
+ public function setGroups() {
+ $this->groups1 = array_filter(explode(',', $this->product_groups ?? ''), function ($a) { return $a != 'other_items'; });
+ $this->groups2 = array_filter(explode(',', $this->product_groups ?? ''), function ($a) { return $a == 'other_items'; });
+ }
+
+ public function setProductGroups() {
+ $this->product_groups = implode(',', array_merge(empty($this->groups1) ? [] : $this->groups1, empty($this->groups2) ? [] : $this->groups2));
+ }
}
'class' => 'btn btn-danger visible',
],
'iconSource' => 'fa',
- ])->label('Таблица возможных замен');
+ ])->label(false);
- echo $btn = Html::submitButton('СоÑ\85Ñ\80анить', [
+ echo $btn = Html::submitButton('Ð\9fÑ\80одолжить', [
'class' => 'btn btn-primary float-right',
'name' => 'action',
- 'value' => 'save'
+ 'value' => 'resume'
]);
-
+ ?>
+ <?php
} else {
- echo Html::label('Таблица возможных замен');
+ ?>
+ </div>
+ </div>
+ <?php
echo GridView::widget([
'dataProvider' => new ArrayDataProvider([
'allModels' => $shiftTransfer->equalizationRemains,