public function delete()
 {
     // Get id of quote_request
     $input = Input::all();
     $id = $input['delete'];
     $quote_request = QuoteRequest::find($id);
     // Delete Quote PDF if it exists
     $path = 'quotes/' . $id . '.pdf';
     if (file_exists($path)) {
         unlink($path);
     }
     // Delete Artwork image and its thumbnail if they exist
     if ($quote_request->artwork_image != null) {
         $path_image = 'uploads/artworks/' . $quote_request->artwork_image;
         $path_thumbnail = 'uploads/thumbnails/' . $quote_request->artwork_image;
         if (file_exists($path_image)) {
             unlink($path_image);
         }
         if (file_exists($path_thumbnail)) {
             unlink($path_thumbnail);
         }
     }
     $quote_request_items = $quote_request->qris;
     foreach ($quote_request_items as $quote_request_item) {
         $quote_line_delete = QuoteRequestItem::find($quote_request_item->id);
         $quote_line_delete->delete();
     }
     $quotes = $quote_request->quotes;
     foreach ($quotes as $quote) {
         $quote_lines = $quote->qris;
         foreach ($quote_lines as $quote_line) {
             $quote_line_delete = QuoteItem::find($quote_line->id);
             $quote_line_delete->delete();
         }
         $quote_delete = Quote::find($quote->id);
         $quote_delete->delete();
     }
     $quote_request->delete();
     if (isset($input['customer_id'])) {
         return redirect('customers/' . $input['customer_id'] . '/history')->with('message', 'Quote / Job has been deleted successfully');
     } else {
         return redirect('/')->with('message', 'Quote / Job has been deleted successfully');
     }
 }
Пример #2
0
 public function post_enter_prices($qr_id, $qid = null)
 {
     $quote_request = QuoteRequest::Find($qr_id);
     // Reset chosen supplier for quotes
     $quote_request->quote_id = 0;
     $quote_request->save();
     if ($qid == null) {
         $quote = $quote_request->first_quote();
     } else {
         $quote = Quote::Find($qid);
     }
     $input = request::all();
     // Invert form array
     $input = array_except($input, ['_token', 'quote_request_id', 'qid']);
     $keys = array_keys($input);
     $first_key = $keys[0];
     $count = count($input[$first_key]);
     $output = [];
     foreach (range(0, $count - 1) as $i) {
         foreach ($keys as $key) {
             $output[$i][$key] = $input[$key][$i];
         }
     }
     foreach ($output as $item) {
         $id = $item["id"];
         if ($id == "") {
             // Create new
             QuoteItem::create($item);
         } else {
             $qi = QuoteItem::find($id);
             $qi->update($item);
         }
     }
     // delete Quote PDF if exists
     $path = 'quotes/' . $qr_id . '.pdf';
     if (file_exists($path)) {
         unlink($path);
     }
     $quote_request_lines = $quote_request->qris;
     return view('quotes.enter_prices', compact('quote_request', 'quote', 'quote_request_lines'))->with('message', 'Supplier Prices have been Updated');
 }