/** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request, Absent $absentModel, Product $productModel) { if (!right('Alerts')) { abort(404); } if (isset($_POST['save'])) { //pr($_POST); $currentAbsents = $absentModel->getAbsentsList(); foreach ($_POST['fields'] as $key => $element) { //если стоит галка Выполенно if (isset($element['done'])) { //удаляем дату у товаров $productModel->deleteAbsent($element['old_absent']); //удаляем уведомление $absentModel->deleteAbsent($element['old_absent']); } else { //если меняем дату уведомления if ($element['new_absent'] != $element['old_absent']) { //меняем дату у товаров $productModel->changeAbsent($element['old_absent'], $element['new_absent']); //если уведомление с такой датой уже есть if ($currentAbsents->search($element['new_absent']) !== false) { if (!empty($element['note'])) { //меняем комментарий $absentModel->updateAbsent($element['new_absent'], array('note' => $element['note'])); } //удаляем старое уведомление $absentModel->deleteAbsent($element['old_absent']); } else { //просто меняем дату и коммент $absentModel->updateAbsent($element['old_absent'], array('absent' => $element['new_absent'], 'note' => $element['note'])); } } else { //если написан комментарий if (!empty($element['note'])) { //меняем комментарий $absentModel->updateAbsent($element['new_absent'], array('note' => $element['note'])); } } } } $absents = $productModel->getAbsentsList(); $absentModel->addAbsentsList($absents); Session::flash('message', GetMessages("SUCCESS_UPDATE")); return redirect($_SERVER['HTTP_REFERER']); } }