/**
  * Delete Ticket
  *
  * @param $id
  * @return RedirectResponse
  */
 public function destroy($id)
 {
     $ticket = $this->ticket->findOrFail($id);
     $this->authorize('delete-post', $ticket);
     $ticket->delete();
     return redirect('/tickets')->with('flash_message', 'You have successfully deleted the ticket');
 }
 /**
  * Store a newly created resource in storage.
  *
  * @param PublicMessageRequest $request
  * @param PublicContactRequest $contactRequest
  * @return Response
  */
 public function store(PublicMessageRequest $request, PublicContactRequest $contactRequest)
 {
     // get ticket
     $ticket = Ticket::findOrFail($request['ticket_id']);
     // add new message
     $message = $this->addNewPublicMessage($ticket, $request, $contactRequest);
     return redirect("tickets/{$ticket->id}#public-message{$message->id}");
 }
 public function store($data)
 {
     $ticketId = $data['ticketId'];
     $name = $data['name'];
     $description = $data['description'];
     $newTicketInformation = new TicketInformation(['name' => $name, 'description' => $description]);
     $ticket = Ticket::findOrFail($ticketId);
     return $ticket->information()->save($newTicketInformation);
 }
 /**
  * Store a Comment for a given Ticket id
  *
  * @param $id
  * @param Request $request
  * @return \Illuminate\Http\RedirectResponse
  */
 public function store($id, Request $request)
 {
     // validate the comment first
     $this->validate($request, ['comment' => 'required']);
     $ticket = Ticket::findOrFail($id);
     $comment = new Comment();
     $comment->comment = $request->get('comment');
     $comment->user()->associate(Auth::user());
     $comment->ticket()->associate($ticket);
     $comment->save();
     session()->flash('flash_message', 'Comment added successfully');
     return redirect()->route('show_ticket', [$ticket]);
 }
 /**
  * Store a newly created resource in storage.
  *
  * @param PrivateMessageRequest $request
  * @return Response
  */
 public function store(PrivateMessageRequest $request)
 {
     $request['user_id'] = 1;
     // get ticket
     $ticket = Ticket::findOrFail($request['ticket_id']);
     // add new private message
     $message = new PrivateMessage($request->all());
     $ticket->privateMessages()->save($message);
     // add or remove private contact
     if ($request['private_notify']) {
         if (!$ticket->users()->find($request['user_id'])) {
             $ticket->users()->attach([$request['user_id']]);
         }
     } else {
         $ticket->users()->detach([$request['user_id']]);
     }
     Session::flash('new_private_message_id', $message->id);
     return redirect("tickets/{$ticket->id}#private-message{$message->id}");
 }
Ejemplo n.º 6
0
 public function updateTicket(Request $request)
 {
     // \Log::info(print_r($request->all(), 1));
     $ticket = Ticket::findOrFail($request->input('id'));
     $ticket->title = $request->input('title');
     $ticket->description = $request->input('description');
     $ticket->complete_date = $request->input('complete_date');
     $ticket->project_id = $request->input('project_id');
     $ticket->assigned_to = $request->input('assigned_to');
     $ticket->estimate_id = $request->input('estimate_id');
     $ticket->type = $request->input('type');
     $ticket->status = $request->input('status');
     $ticket->save();
     $followers = $request->input('followers');
     DB::table('ticket_followers')->where('ticket_id', $request->input('id'))->delete();
     foreach ($followers as $value) {
         DB::table('ticket_followers')->insert(['ticket_id' => $ticket->id, 'user_id' => $value]);
     }
     return response(['data' => 'Ticket updated'], 200);
 }
Ejemplo n.º 7
0
 public function markPrinted($ticketId)
 {
     if (Auth::check() && Auth::user()->is_staff) {
         try {
             $ticket = Ticket::findOrFail($ticketId);
         } catch (ModelNotFoundException $e) {
             return ["success" => false, "message" => $this->errorMessages['ticket_not_found']];
         }
         $ticket->printed = true;
         $ticket->save();
         return ["success" => true, "message" => "Ticket marked as printed!"];
     } else {
         return ["success" => false, "message" => $this->errorMessages['not_logged_in']];
     }
 }
 /**
  * Toggle the closed state of the ticket.
  *
  * @param  int  $id
  * @return Response
  */
 public function close($id)
 {
     $ticket = Ticket::findOrFail($id);
     $name = $ticket->name;
     // close the ticket
     if (is_null($ticket->closed_at)) {
         $ticket->closed_at = date('r');
         $ticket->save();
         session()->flash('flash_message', "The ticket \"{$name}\" has been closed.");
     } else {
         $ticket->closed_at = '0000-00-00';
         $ticket->save();
         session()->flash('flash_message', "The ticket \"{$name}\" has been reopened.");
     }
     return redirect("tickets/{$id}");
 }
Ejemplo n.º 9
0
 /**
  * Create a new row Object
  *
  * @param  string  $rowId    The ID of the new row
  * @param  string  $id       Unique ID of the item
  * @param  string  $name     Name of the item
  * @param  int     $qty      Item qty to add to the cart
  * @param  float   $price    Price of one item
  * @param  array   $options  Array of additional options, such as 'size' or 'color'
  * @return Gloudemans\Shoppingcart\CartCollection
  */
 protected function createRow($rowId, $id, $name, $qty, $price, $options)
 {
     $cart = $this->getContent();
     $adultPrice = $price;
     $childPrice = $options['selectedPackage']['child_price'];
     if ($options['selectedPackage']['has_ticket_option']) {
         $selectedTicket = Ticket::findOrFail($options['ticket']);
         $adultPrice = $selectedTicket->adultPrice;
         $childPrice = $selectedTicket->childPrice;
     }
     $adultTotal = $qty * $adultPrice;
     $childTotal = $options['child_quantity'] * $childPrice;
     $subtotal = $adultTotal + $childTotal;
     $newRow = new CartRowCollection(['rowid' => $rowId, 'id' => $id, 'name' => $name, 'qty' => $qty, 'price' => $adultPrice, 'options' => new CartRowOptionsCollection($options), 'subtotal' => $subtotal], $this->associatedModel, $this->associatedModelNamespace);
     $cart->put($rowId, $newRow);
     return $cart;
 }
Ejemplo n.º 10
0
 public function show($id)
 {
     $ticket = Ticket::findOrFail($id);
     return view('tickets.show', compact('ticket'));
 }
Ejemplo n.º 11
0
 public function xEditableUpdate()
 {
     $ticketId = Input::get('pk');
     $ticket = Ticket::findOrFail($ticketId);
     $newValue = Input::get('value');
     $ticketColumn = Input::get('name');
     $ticket->{$ticketColumn} = $newValue;
     if ($ticket->save()) {
         if ($newValue === 'closed') {
             Mail::send('emails.ticketClosed', [], function ($message) {
                 $email = Input::get('email');
                 $message->to($email)->subject('test');
             });
         } elseif ($newValue === 'started') {
             Mail::send('emails.ticketStarted', [], function ($message) {
                 $email = Input::get('email');
                 $message->to($email)->subject('test');
             });
         }
         return Response::json(array('status' => 1));
     } else {
         return Response::json(array('status' => 0));
     }
 }
Ejemplo n.º 12
0
 /**
  * Display the specified resource.
  *
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function show($id)
 {
     // Show ticket
     $ticket = Ticket::findOrFail($id);
     return view('tickets.show', ['ticket' => $ticket]);
 }