예제 #1
0
 public function upload()
 {
     $uploader_id = Auth::user()->active_contact->id;
     if (Input::file('file')->isValid()) {
         if (Input::get('target') == "posts") {
             if (Input::get('target_action') == "create") {
                 $target = Post::where('author_id', $uploader_id)->where("status_id", "=", POST_DRAFT_STATUS_ID)->where("ticket_id", Input::get('target_id'))->first();
             } elseif (Input::get('target_action') == "edit") {
                 $target = Post::where("id", Input::get('target_id'))->first();
             }
         } elseif (Input::get('target') == "tickets") {
             if (Input::get('target_action') == "create") {
                 $target = Ticket::where('status_id', TICKET_DRAFT_STATUS_ID)->where('creator_id', $uploader_id)->first();
             } elseif (Input::get('target_action') == "edit") {
                 $target = Ticket::where("id", Input::get('target_id'))->first();
             }
         }
         $id = $target->id;
         $request['target_id'] = $id;
         $request['uploader_id'] = $uploader_id;
         $request['file'] = Input::file('file');
         $request['target'] = Input::get('target');
         $request['target_action'] = Input::get('target_action');
         $response = $this->repo->upload($request);
         $response = Response::json($response, 200);
         return $response;
     }
 }
예제 #2
0
 protected function getList()
 {
     $highPriorityTickets = Ticket::where('urgency', '>', 7)->get();
     $midPriorityTickets = Ticket::where('urgency', '>', 4)->where('urgency', '<', 8)->get();
     $lowPriorityTickets = Ticket::where('urgency', '<', 5)->get();
     $ticketCount = ['high' => count($highPriorityTickets), 'mid' => count($midPriorityTickets), 'low' => count($lowPriorityTickets)];
     $totalTickets = array_sum($ticketCount);
     return View('ticket.list', ['highPriorityTickets' => ['tickets' => $highPriorityTickets, 'percentage' => $ticketCount['high'] > 0 ? $ticketCount['high'] / $totalTickets * 100 . '%' : '0%', 'count' => $ticketCount['high']], 'midPriorityTickets' => ['tickets' => $midPriorityTickets, 'percentage' => $ticketCount['mid'] > 0 ? $ticketCount['mid'] / $totalTickets * 100 . '%' : '0%', 'count' => $ticketCount['mid']], 'lowPriorityTickets' => ['tickets' => $lowPriorityTickets, 'percentage' => $ticketCount['low'] > 0 ? $ticketCount['low'] / $totalTickets * 100 . '%' : '0%', 'count' => $ticketCount['low']], 'totalTicketCount' => $totalTickets]);
 }
예제 #3
0
 protected function generalStatus()
 {
     $amounts = array();
     $amounts['new'] = Ticket::where('status', Ticket::STATUS_NEW)->count();
     $amounts['inProgress'] = Ticket::where('status', Ticket::STATUS_IN_PROGRESS)->count();
     $amounts['closed'] = Ticket::where('status', Ticket::STATUS_CLOSED)->count();
     $amounts['overdue'] = Ticket::where('status', '!=', Ticket::STATUS_CLOSED)->where('due_date', '<', date('Y-m-d'))->count();
     return $amounts;
 }
예제 #4
0
 public function getReservesByDni(Request $request)
 {
     $dni = $request['dni'];
     if (strlen($dni) != 8 || !is_numeric($dni)) {
         return response()->json('El dni debe tener 8 digitos', 400);
     }
     $reservas = Ticket::where('designee', $dni)->whereNotNull('reserve')->lists('reserve')->unique();
     if ($reservas->isEmpty()) {
         return response()->json('No hay reservas con este dni', 400);
     }
     $arreglo = array();
     foreach ($reservas as $key => $value) {
         $tickets = Ticket::where('reserve', $value)->get();
         $arreglo[$key] = ['codigo' => $value, 'nombre' => $tickets->first()->event->name, 'cantidad' => $tickets->first()->quantity, 'zona' => $tickets->first()->zone->name, 'funcion' => date('d-m-Y', $tickets->first()->presentation->starts_at)];
     }
     return $arreglo;
 }
예제 #5
0
 public function giveawayConfirm(request $request)
 {
     $ticket = Ticket::where('id', $request['sale_id'])->first();
     if ($ticket) {
         $ticket->picked_up = true;
         $ticket->save();
     }
     return redirect()->route('salesman.home');
 }
예제 #6
0
 public function getDraft()
 {
     $tickets = Ticket::where('tickets.creator_id', Auth::user()->active_contact->id);
     $tickets = $tickets->where("tickets.status_id", TICKET_DRAFT_STATUS_ID);
     return $tickets->get()->first() ? $tickets->get()->first() : [];
 }
예제 #7
0
 /**
  * Display the specified resource.
  *
  * @return \Illuminate\Http\Response
  */
 public function showSales()
 {
     $events = Event::all();
     $tickets = Ticket::all();
     $eventInformation = [];
     foreach ($events as $event) {
         // pueden ser muchos eventos. Necesito información para llenar la tabla
         $eventsDate = Presentation::where('event_id', '=', $event->id)->where('cancelled', '=', 0)->get();
         foreach ($eventsDate as $eventDate) {
             $tickets = Ticket::where('presentation_id', '=', $eventDate->id)->get();
             $onlineTickets = 0;
             $presentialTicket = 0;
             $subTotalOnline = 0;
             $subTotalPresential = 0;
             foreach ($tickets as $ticket) {
                 if ($ticket->cancelled != 1) {
                     if (empty($ticket->salesman_id)) {
                         $onlineTickets = $onlineTickets + $ticket->quantity;
                         $subTotalPresential = $subTotalPresential + $ticket->total_price;
                     } else {
                         $presentialTicket = $presentialTicket + $ticket->quantity;
                         $subTotalOnline = $subTotalOnline + $ticket->total_price;
                     }
                 }
             }
             array_push($eventInformation, array($event->name, $eventDate->id, date("d/m/Y", $eventDate->starts_at), $onlineTickets, $subTotalPresential, $presentialTicket, $subTotalOnline, $subTotalPresential + $subTotalOnline));
         }
     }
     //
     //return $eventInformation;
     return view('internal.admin.reports.sales', compact('eventInformation'));
 }