/**
  * @param SaveInvoiceRequest $invoiceRequest
  * @return \Illuminate\View\View
  */
 public function save(SaveInvoiceRequest $invoiceRequest)
 {
     if (\Auth::user()) {
         $model = Invoice::create(array_add($invoiceRequest->all(), 'user_id', \Auth::user()->id));
         //TODO refactor it
     } else {
         abort(403, 'User is not logged in');
     }
     flash()->overlay('Success', 'Your invoice has been created!');
     return redirect()->action('InvoiceController@index');
 }
 /**
  * Update the specified resource in storage.
  *
  * @param  int      $id
  * @return Response
  */
 public function update(SaveInvoiceRequest $request)
 {
     $action = Input::get('action');
     $entityType = Input::get('entityType');
     $invoice = $this->invoiceService->save($request->input());
     $entityType = $invoice->getEntityType();
     $message = trans("texts.updated_{$entityType}");
     Session::flash('message', $message);
     if ($action == 'clone') {
         return $this->cloneInvoice($invoice->public_id);
     } elseif ($action == 'convert') {
         return $this->convertQuote($invoice->public_id);
     } elseif ($action == 'email') {
         return $this->emailInvoice($invoice, Input::get('pdfupload'));
     }
     return redirect()->to($invoice->getRoute());
 }