Example #1
0
 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(InvoiceRequest $request)
 {
     $Invoice = new Invoice($request->all());
     $Invoice->save();
     return redirect()->route('facturas.edit', $Invoice->id);
     //Flash::success('Se ha creado a ' . $Client->nombre . ', como cliente.');
     //return redirect()->route('clientes.index');
 }
 public function download(InvoiceRequest $request)
 {
     $invoice = $request->entity();
     return $this->fileReponse($invoice->getFileName(), $invoice->getPDFString());
 }
 public function invoiceHistory(InvoiceRequest $request)
 {
     $invoice = $request->entity();
     $invoice->load('user', 'invoice_items', 'documents', 'expenses', 'expenses.documents', 'account.country', 'client.contacts', 'client.country');
     $invoice->invoice_date = Utils::fromSqlDate($invoice->invoice_date);
     $invoice->due_date = Utils::fromSqlDate($invoice->due_date);
     $invoice->features = ['customize_invoice_design' => Auth::user()->hasFeature(FEATURE_CUSTOMIZE_INVOICE_DESIGN), 'remove_created_by' => Auth::user()->hasFeature(FEATURE_REMOVE_CREATED_BY), 'invoice_settings' => Auth::user()->hasFeature(FEATURE_INVOICE_SETTINGS)];
     $invoice->invoice_type_id = intval($invoice->invoice_type_id);
     $activityTypeId = $invoice->isType(INVOICE_TYPE_QUOTE) ? ACTIVITY_TYPE_UPDATE_QUOTE : ACTIVITY_TYPE_UPDATE_INVOICE;
     $activities = Activity::scope(false, $invoice->account_id)->where('activity_type_id', '=', $activityTypeId)->where('invoice_id', '=', $invoice->id)->orderBy('id', 'desc')->get(['id', 'created_at', 'user_id', 'json_backup']);
     $versionsJson = [];
     $versionsSelect = [];
     $lastId = false;
     foreach ($activities as $activity) {
         if ($backup = json_decode($activity->json_backup)) {
             $backup->invoice_date = Utils::fromSqlDate($backup->invoice_date);
             $backup->due_date = Utils::fromSqlDate($backup->due_date);
             $backup->features = ['customize_invoice_design' => Auth::user()->hasFeature(FEATURE_CUSTOMIZE_INVOICE_DESIGN), 'remove_created_by' => Auth::user()->hasFeature(FEATURE_REMOVE_CREATED_BY), 'invoice_settings' => Auth::user()->hasFeature(FEATURE_INVOICE_SETTINGS)];
             $backup->invoice_type_id = isset($backup->invoice_type_id) && intval($backup->invoice_type_id) == INVOICE_TYPE_QUOTE;
             $backup->account = $invoice->account->toArray();
             $versionsJson[$activity->id] = $backup;
             $key = Utils::timestampToDateTimeString(strtotime($activity->created_at)) . ' - ' . $activity->user->getDisplayName();
             $versionsSelect[$lastId ? $lastId : 0] = $key;
             $lastId = $activity->id;
         } else {
             Utils::logError('Failed to parse invoice backup');
         }
     }
     if ($lastId) {
         $versionsSelect[$lastId] = Utils::timestampToDateTimeString(strtotime($invoice->created_at)) . ' - ' . $invoice->user->getDisplayName();
     }
     $data = ['invoice' => $invoice, 'versionsJson' => json_encode($versionsJson), 'versionsSelect' => $versionsSelect, 'invoiceDesigns' => InvoiceDesign::getDesigns(), 'invoiceFonts' => Cache::get('fonts')];
     return View::make('invoices.history', $data);
 }
 /**
  * Update the specified resource in storage.
  *
  * @param  Request  $request
  * @param  int  $id
  * @return Response
  */
 public function update($id, InvoiceRequest $request)
 {
     $isPandaw = $request->input('pandaw') ? true : false;
     $isCreditCard = $request->input('creditcard') ? true : false;
     $invoice = $this->dispatchFrom(UpdateInvoiceJob::class, $request, compact('id', 'isPandaw', 'isCreditCard'));
     return redirect()->route('invoices.detail', $invoice->id);
 }
Example #5
0
 /**
  * Update the specified resource in storage.
  *
  * @param  InvoiceRequest  $request
  * @param  int  $id
  * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
  */
 public function update(InvoiceRequest $request, $id)
 {
     $invoice = Invoice::query()->findOrFail($id);
     $ledger = Ledger::query()->where('reference', $invoice['invoiceNumber'])->first();
     //dd(($ledger->debit - ($invoice->bill + $invoice->ot_bill)) + ($request['bill'] + $request['ot_bill']));
     $data = ['date' => $request['date'], 'client' => $request['client'], 'description' => $request['comment'], 'reference' => $request['invoiceNumber'], 'debit' => $ledger['debit'] - ($invoice['bill'] + $invoice['ot_bill']) + ($request['bill'] + $request['ot_bill'])];
     //dd($ledger->debit - ($invoice->bill + $invoice->ot_bill) + ($request['bill'] + $request['ot_bill']));
     $invoice->update($request->all());
     $ledger->update($data);
     return redirect('invoice/' . $invoice['invoiceNumber']);
 }
 public function download(InvoiceRequest $request)
 {
     $invoice = $request->entity();
     $pdfString = $invoice->getPDFString();
     header('Content-Type: application/pdf');
     header('Content-Length: ' . strlen($pdfString));
     header('Content-disposition: attachment; filename="' . $invoice->getFileName() . '"');
     header('Cache-Control: public, must-revalidate, max-age=0');
     header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
     return $pdfString;
 }
 public function emailInvoice(InvoiceRequest $request)
 {
     $invoice = $request->entity();
     $this->mailer->sendInvoice($invoice);
     $response = json_encode(RESULT_SUCCESS, JSON_PRETTY_PRINT);
     $headers = Utils::getApiHeaders();
     return Response::make($response, 200, $headers);
 }