Exemplo n.º 1
0
 /**
  * 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']);
     }
 }