/**
  * Show the form for creating a new resource.
  *
  * @return \Illuminate\Http\Response
  */
 public function create($ticket_id)
 {
     $ticket = Ticket::findOrFail($ticket_id);
     if ($ticket == null) {
         Session::flash('message', 'Este ticket no existe');
         Session::flash('alert-class', 'alert-danger');
         return redirect('salesman/devolutions');
     }
     if ($ticket->cancelled) {
         Session::flash('message', 'El ticket fue cancelado');
         Session::flash('alert-class', 'alert-danger');
         return redirect('salesman/devolutions');
     }
     $presentation = $ticket->presentation()->first();
     if (!$presentation->cancelled) {
         Session::flash('message', 'La presentación no fue cancelado');
         Session::flash('alert-class', 'alert-danger');
         return redirect('salesman/devolutions');
     }
     $cancelPresentation = CancelPresentation::where("presentation_id", $ticket->presentation_id)->first();
     if (!$cancelPresentation->authorized) {
         Session::flash('message', 'El ticket no esta autorizado para ser devuelto');
         Session::flash('alert-class', 'alert-danger');
         return redirect('salesman/devolutions');
     }
     $today = strtotime(date("Y-m-d"));
     $date_refund = strtotime($cancelPresentation->date_refund);
     $date_refund_last = $date_refund + $cancelPresentation->duration * 86400;
     if ($today < $date_refund) {
         Session::flash('message', 'El ticket aun no se puede devolver. Autorizado para devolución a partir de ' . $cancelPresentation->date_refund);
         Session::flash('alert-class', 'alert-danger');
         return redirect('salesman/devolutions');
     }
     if ($today > $date_refund_last) {
         Session::flash('message', 'El ticket no puede ser devuelto, tiempo de devolución agotado');
         Session::flash('alert-class', 'alert-danger');
         return redirect('salesman/devolutions');
     }
     $modulesAuth = $cancelPresentation->modules;
     $userId = Auth::user()->id;
     $moduleUser = ModuleAssigment::where(["salesman_id" => $userId, "status" => 1])->first();
     if (!is_object($moduleUser)) {
         Session::flash('message', 'Usted no tiene modulo asignado, por lo tanto no puede devolver');
         Session::flash('alert-class', 'alert-danger');
         return redirect('salesman/devolutions');
     }
     $isAuthorized = 0;
     foreach ($modulesAuth as $obj) {
         if ($obj->id == $moduleUser->module_id) {
             $isAuthorized = 1;
             break;
         }
     }
     return view('internal.salesman.devolution.new', ["ticket" => $ticket, "authorizedModule" => $modulesAuth, "isAuthorized" => $isAuthorized]);
 }
 public function modules($presentationId)
 {
     $cancelled = CancelPresentation::findOrFail($presentationId);
     $modules = Module::all();
     $authorized = ModulePresentationAuthorized::where("cancelled_presentation_id", $presentationId)->get();
     return view('internal.promoter.presentation.authorized', ['cancelled' => $cancelled, "modules" => $modules, "authorized" => $authorized]);
 }