コード例 #1
0
 private function save($publicId = null)
 {
     $action = Input::get('action');
     $entityType = Input::get('entityType');
     if ($action == 'archive' || $action == 'delete' || $action == 'mark') {
         return InvoiceController::bulk($entityType);
     }
     $input = json_decode(Input::get('data'));
     //echo "this is the result";
     $invoice = $input->invoice;
     //print_r($invoice);exit();
     $branch = Branch::where('account_id', '=', Auth::user()->account_id)->where('id', Auth::user()->branch_id)->first();
     $today = new DateTime('now');
     $today = $today->format('Y-m-d');
     $datelimit = DateTime::createFromFormat('Y-m-d', $branch->deadline);
     $datelimit = $datelimit->format('Y-m-d');
     $first = explode("-", $datelimit);
     $second = explode("-", $today);
     $first_day = $first[2];
     $first_month = $first[1];
     $first_year = $first[0];
     $second_day = $second[2];
     $second_month = $second[1];
     $second_year = $second[0];
     $a = gregoriantojd($first_month, $first_day, $first_year);
     $b = gregoriantojd($second_month, $second_day, $second_year);
     $errorS = "Expiró la Fecha Límite de " . $branch->name;
     if ($a - $b < 0) {
         Session::flash('error', $errorS);
         return Redirect::to("{$entityType}s/create")->withInput();
     } else {
         $last_invoice = Invoice::where('account_id', '=', Auth::user()->account_id)->first();
         if ($last_invoice) {
             $yesterday = $last_invoice->invoice_date;
             $today = date("Y-m-d", strtotime($invoice->invoice_date));
             $errorD = "La fecha de la factura es incorrecta";
             $yesterday = new DateTime($yesterday);
             $today = new DateTime($today);
             if ($yesterday > $today) {
                 Session::flash('error', $errorD);
                 return Redirect::to("{$entityType}s/create")->withInput();
             }
         }
         if (false && ($errors = $this->invoiceRepo->getErrors($invoice))) {
             Session::flash('error', trans('texts.invoice_error'));
             return Redirect::to("{$entityType}s/create")->withInput()->withErrors($errors);
         } else {
             //$this->taxRateRepo->save($input->tax_rates);
             $clientData = (array) $invoice->client;
             $clientData['branch'] = $branch->id;
             $client = $this->saveClient($invoice->client->public_id, $clientData);
             $invoiceData = (array) $invoice;
             $invoiceData['branch_id'] = $branch->id;
             $invoiceData['client_id'] = $client->id;
             $invoiceData['client_nit'] = $client->nit;
             $invoiceData['client_name'] = $client->name;
             $invoiceData['action'] = $action;
             //$invoice = $this->invoiceRepo->save($publicId, $invoiceData, $entityType);
             $account = Auth::user()->account;
             $client->load('contacts');
             $sendInvoiceIds = [];
             foreach ($client->contacts as $contact) {
                 if ($contact->send_invoice || count($client->contacts) == 1) {
                     $sendInvoiceIds[] = $contact->id;
                 }
             }
             /*foreach ($client->contacts as $contact)
             			{
             				$invitation = Invitation::scope()->whereContactId($contact->id)->whereInvoiceId($invoice->id)->first();
             
             				if (in_array($contact->id, $sendInvoiceIds) && !$invitation)
             				{
             					$invitation = Invitation::createNew();
             					$invitation->invoice_id = $invoice->id;
             					$invitation->contact_id = $contact->id;
             					$invitation->invitation_key = str_random(RANDOM_KEY_LENGTH);
             					$invitation->save();
             				}
             				else if (!in_array($contact->id, $sendInvoiceIds) && $invitation)
             				{
             					$invitation->delete();
             				}
             			}*/
             $message = trans($publicId ? "texts.updated_{$entityType}" : "texts.created_{$entityType}");
             if ($input->invoice->client->public_id == '-1') {
                 $message = $message . ' ' . trans('texts.and_created_client');
                 $url = URL::to('clients/' . $client->public_id);
                 Utils::trackViewed($client->getDisplayName(), ENTITY_CLIENT, $url);
             }
             if ($action == 'email') {
                 $aux = 0;
                 foreach ($client->contacts as $contact) {
                     if ($contact->email) {
                         $aux = 1;
                     }
                 }
                 if ($aux == 0) {
                     $errorMessage = trans('El cliente no tiene Correo Electrónico.');
                     Session::flash('error', $errorMessage);
                 } else {
                     if (Auth::user()->confirmed && !Auth::user()->isDemo()) {
                         $message = trans("texts.emailed_{$entityType}");
                         $this->mailer->sendInvoice($invoice);
                         Session::flash('message', $message);
                     } else {
                         $errorMessage = trans(Auth::user()->registered ? 'texts.confirmation_required' : 'texts.registration_required');
                         Session::flash('error', $errorMessage);
                         Session::flash('message', $message);
                     }
                 }
             } else {
                 if ($action == 'savepay') {
                     $payment = Payment::createNew();
                     $payment->client_id = $client->id;
                     $payment->invoice_id = $invoice->id;
                     $payment->payment_type_id = 1;
                     $payment->payment_date = $invoice->invoice_date;
                     $payment->amount = $invoice->amount;
                     $payment->save();
                     $message = trans("texts.savepay_{$entityType}");
                     Session::flash('message', $message);
                 } else {
                     if ($action == 'savepaycredit') {
                         $payment = Payment::createNew();
                         $credits = Credit::scope()->where('client_id', '=', $client->id)->where('balance', '>', 0)->orderBy('created_at')->get();
                         $applied = 0;
                         foreach ($credits as $credit) {
                             $applied += $credit->apply($invoice->amount);
                             if ($applied >= $invoice->amount) {
                                 break;
                             }
                         }
                         $payment->client_id = $client->id;
                         $payment->invoice_id = $invoice->id;
                         $payment->payment_type_id = 2;
                         $payment->payment_date = $invoice->invoice_date;
                         $payment->amount = $invoice->amount;
                         $payment->save();
                         $message = trans("texts.savepay_{$entityType}");
                         Session::flash('message', $message);
                     } else {
                         Session::flash('message', $message);
                     }
                 }
             }
             //$url = "factura/" . $invoice->public_id . '/show';
             $url = "factura/1";
             return Redirect::to($url);
         }
     }
 }
コード例 #2
0
 private function save($publicId = null)
 {
     $action = Input::get('action');
     $entityType = Input::get('entityType');
     if (in_array($action, ['archive', 'delete', 'mark', 'restore'])) {
         return InvoiceController::bulk($entityType);
     }
     $input = json_decode(Input::get('data'));
     $invoice = $input->invoice;
     if ($errors = $this->invoiceRepo->getErrors($invoice)) {
         Session::flash('error', trans('texts.invoice_error'));
         return Redirect::to("{$entityType}s/create")->withInput()->withErrors($errors);
     } else {
         $this->taxRateRepo->save($input->tax_rates);
         $clientData = (array) $invoice->client;
         $client = $this->clientRepo->save($invoice->client->public_id, $clientData);
         $invoiceData = (array) $invoice;
         $invoiceData['client_id'] = $client->id;
         $invoice = $this->invoiceRepo->save($publicId, $invoiceData, $entityType);
         $account = Auth::user()->account;
         if ($account->invoice_taxes != $input->invoice_taxes || $account->invoice_item_taxes != $input->invoice_item_taxes || $account->invoice_design_id != $input->invoice->invoice_design_id) {
             $account->invoice_taxes = $input->invoice_taxes;
             $account->invoice_item_taxes = $input->invoice_item_taxes;
             $account->invoice_design_id = $input->invoice->invoice_design_id;
             $account->save();
         }
         $client->load('contacts');
         $sendInvoiceIds = [];
         foreach ($client->contacts as $contact) {
             if ($contact->send_invoice || count($client->contacts) == 1) {
                 $sendInvoiceIds[] = $contact->id;
             }
         }
         foreach ($client->contacts as $contact) {
             $invitation = Invitation::scope()->whereContactId($contact->id)->whereInvoiceId($invoice->id)->first();
             if (in_array($contact->id, $sendInvoiceIds) && !$invitation) {
                 $invitation = Invitation::createNew();
                 $invitation->invoice_id = $invoice->id;
                 $invitation->contact_id = $contact->id;
                 $invitation->invitation_key = str_random(RANDOM_KEY_LENGTH);
                 $invitation->save();
             } else {
                 if (!in_array($contact->id, $sendInvoiceIds) && $invitation) {
                     $invitation->delete();
                 }
             }
         }
         $message = trans($publicId ? "texts.updated_{$entityType}" : "texts.created_{$entityType}");
         if ($input->invoice->client->public_id == '-1') {
             $message = $message . ' ' . trans('texts.and_created_client');
             $url = URL::to('clients/' . $client->public_id);
             Utils::trackViewed($client->getDisplayName(), ENTITY_CLIENT, $url);
         }
         if ($action == 'clone') {
             return $this->cloneInvoice($publicId);
         } else {
             if ($action == 'convert') {
                 return $this->convertQuote($publicId);
             } else {
                 if ($action == 'email') {
                     if (Auth::user()->confirmed && !Auth::user()->isDemo()) {
                         $message = trans("texts.emailed_{$entityType}");
                         $this->mailer->sendInvoice($invoice);
                         Session::flash('message', $message);
                     } else {
                         $errorMessage = trans(Auth::user()->registered ? 'texts.confirmation_required' : 'texts.registration_required');
                         Session::flash('error', $errorMessage);
                         Session::flash('message', $message);
                     }
                 } else {
                     Session::flash('message', $message);
                 }
             }
         }
         $url = "{$entityType}s/" . $invoice->public_id . '/edit';
         return Redirect::to($url);
     }
 }
コード例 #3
0
ファイル: InvoiceController.php プロジェクト: aleguisf/fvdev1
 private function save($publicId = null)
 {
     $action = Input::get('action');
     $entityType = Input::get('entityType');
     if ($action == 'archive' || $action == 'delete' || $action == 'mark') {
         return InvoiceController::bulk($entityType);
     }
     $input = json_decode(Input::get('data'));
     $invoice = $input->invoice;
     if (Utils::isAdmin()) {
         $branch_id = $input->invoice->branch_id;
         $branch = Branch::where('account_id', '=', Auth::user()->account_id)->where('public_id', $branch_id)->first();
         // $branch = DB::table('branches')->where('id',$branch_id)->first();
     } else {
         $branch = Auth::user()->branch;
         $branch_id = $branch->id;
         $branch = DB::table('branches')->where('id', $branch_id)->first();
     }
     $today = new DateTime('now');
     $today = $today->format('Y-m-d');
     $datelimit = DateTime::createFromFormat('Y-m-d', $branch->deadline);
     $datelimit = $datelimit->format('Y-m-d');
     $valoresPrimera = explode("-", $datelimit);
     $valoresSegunda = explode("-", $today);
     $diaPrimera = $valoresPrimera[2];
     $mesPrimera = $valoresPrimera[1];
     $anyoPrimera = $valoresPrimera[0];
     $diaSegunda = $valoresSegunda[2];
     $mesSegunda = $valoresSegunda[1];
     $anyoSegunda = $valoresSegunda[0];
     $a = gregoriantojd($mesPrimera, $diaPrimera, $anyoPrimera);
     $b = gregoriantojd($mesSegunda, $diaSegunda, $anyoSegunda);
     $errorS = "Expiró la fecha límite de " . $branch->name;
     if ($a - $b < 0) {
         Session::flash('error', $errorS);
         return Redirect::to("{$entityType}s/create")->withInput();
     } else {
         $last_invoice = Invoice::where('account_id', '=', Auth::user()->account_id)->first();
         if ($last_invoice) {
             $yesterday = $last_invoice->invoice_date;
             $today = date("Y-m-d", strtotime($invoice->invoice_date));
             $errorD = "La fecha de la factura es incorrecta";
             $yesterday = new DateTime($yesterday);
             $today = new DateTime($today);
             if ($yesterday > $today) {
                 Session::flash('error', $errorD);
                 return Redirect::to("{$entityType}s/create")->withInput();
             }
         }
         if ($errors = $this->invoiceRepo->getErrors($invoice)) {
             Session::flash('error', trans('texts.invoice_error'));
             return Redirect::to("{$entityType}s/create")->withInput()->withErrors($errors);
         } else {
             $this->taxRateRepo->save($input->tax_rates);
             $clientData = (array) $invoice->client;
             $clientData['branch'] = $branch->id;
             $client = $this->clientRepo->save($invoice->client->public_id, $clientData);
             $invoiceData = (array) $invoice;
             $invoiceData['branch_id'] = $branch->id;
             $invoiceData['client_id'] = $client->id;
             $invoiceData['client_nit'] = $client->nit;
             $invoiceData['client_name'] = $client->name;
             $invoiceData['action'] = $action;
             $invoice = $this->invoiceRepo->save($publicId, $invoiceData, $entityType);
             $account = Auth::user()->account;
             // if ($account->invoice_taxes != $input->invoice_taxes
             // 			|| $account->invoice_item_taxes != $input->invoice_item_taxes
             // 			|| $account->invoice_design_id != $input->invoice->invoice_design_id)
             // {
             // 	$account->invoice_taxes = $input->invoice_taxes;
             // 	$account->invoice_item_taxes = $input->invoice_item_taxes;
             // 	$account->invoice_design_id = $input->invoice->invoice_design_id;
             // 	$account->save();
             // }
             $client->load('contacts');
             $sendInvoiceIds = [];
             foreach ($client->contacts as $contact) {
                 if ($contact->send_invoice || count($client->contacts) == 1) {
                     $sendInvoiceIds[] = $contact->id;
                 }
             }
             foreach ($client->contacts as $contact) {
                 $invitation = Invitation::scope()->whereContactId($contact->id)->whereInvoiceId($invoice->id)->first();
                 if (in_array($contact->id, $sendInvoiceIds) && !$invitation) {
                     $invitation = Invitation::createNew();
                     $invitation->invoice_id = $invoice->id;
                     $invitation->contact_id = $contact->id;
                     $invitation->invitation_key = str_random(RANDOM_KEY_LENGTH);
                     $invitation->save();
                 } else {
                     if (!in_array($contact->id, $sendInvoiceIds) && $invitation) {
                         $invitation->delete();
                     }
                 }
             }
             $invoice_date = date("d/m/Y", strtotime($invoice->invoice_date));
             require_once app_path() . '/includes/BarcodeQR.php';
             // $ice = $invoice->amount-$invoice->fiscal;
             $desc = $invoice->subtotal - $invoice->amount;
             $subtotal = number_format($invoice->subtotal, 2, '.', '');
             $amount = number_format($invoice->amount, 2, '.', '');
             $fiscal = number_format($invoice->fiscal, 2, '.', '');
             // $icef = number_format($ice, 2, '.', '');
             $descf = number_format($desc, 2, '.', '');
             // if($icef=="0.00"){
             //   $icef = 0;
             // }
             if ($descf == "0.00") {
                 $descf = 0;
             }
             $icef = 0;
             $qr = new BarcodeQR();
             $datosqr = $invoice->account_nit . '|' . $invoice->invoice_number . '|' . $invoice->number_autho . '|' . $invoice_date . '|' . $subtotal . '|' . $amount . '|' . $invoice->control_code . '|' . $invoice->client_nit . '|' . $icef . '|0|0|' . $descf;
             $qr->text($datosqr);
             $qr->draw(150, 'qr/' . $account->account_key . '_' . $branch->name . '_' . $invoice->invoice_number . '.png');
             $input_file = 'qr/' . $account->account_key . '_' . $branch->name . '_' . $invoice->invoice_number . '.png';
             $output_file = 'qr/' . $account->account_key . '_' . $branch->name . '_' . $invoice->invoice_number . '.jpg';
             $inputqr = imagecreatefrompng($input_file);
             list($width, $height) = getimagesize($input_file);
             $output = imagecreatetruecolor($width, $height);
             $white = imagecolorallocate($output, 255, 255, 255);
             imagefilledrectangle($output, 0, 0, $width, $height, $white);
             imagecopy($output, $inputqr, 0, 0, 0, 0, $width, $height);
             imagejpeg($output, $output_file);
             $invoice->qr = HTML::image_data('qr/' . $account->account_key . '_' . $branch->name . '_' . $invoice->invoice_number . '.jpg');
             $invoice->save();
             $message = trans($publicId ? "texts.updated_{$entityType}" : "texts.created_{$entityType}");
             if ($input->invoice->client->public_id == '-1') {
                 $message = $message . ' ' . trans('texts.and_created_client');
                 $url = URL::to('clients/' . $client->public_id);
                 Utils::trackViewed($client->getDisplayName(), ENTITY_CLIENT, $url);
             }
             if ($action == 'clone') {
                 return $this->cloneInvoice($publicId);
             } else {
                 if ($action == 'convert') {
                     return $this->convertQuote($publicId);
                 } else {
                     if ($action == 'email') {
                         $aux = 0;
                         foreach ($client->contacts as $contact) {
                             if ($contact->email) {
                                 $aux = 1;
                             }
                         }
                         if ($aux == 0) {
                             $errorMessage = trans('El cliente no tiene Correo Electrónico.');
                             Session::flash('error', $errorMessage);
                         } else {
                             if (Auth::user()->confirmed && !Auth::user()->isDemo()) {
                                 $message = trans("texts.emailed_{$entityType}");
                                 $this->mailer->sendInvoice($invoice);
                                 Session::flash('message', $message);
                             } else {
                                 $errorMessage = trans(Auth::user()->registered ? 'texts.confirmation_required' : 'texts.registration_required');
                                 Session::flash('error', $errorMessage);
                                 Session::flash('message', $message);
                             }
                         }
                     } else {
                         if ($action == 'savepay') {
                             $payment = Payment::createNew();
                             $payment->client_id = $client->id;
                             $payment->invoice_id = $invoice->id;
                             $payment->payment_type_id = 1;
                             $payment->payment_date = $invoice->invoice_date;
                             $payment->amount = $invoice->amount;
                             $payment->save();
                             $message = trans("texts.savepay_{$entityType}");
                             Session::flash('message', $message);
                         } else {
                             if ($action == 'savepaycredit') {
                                 $payment = Payment::createNew();
                                 $credits = Credit::scope()->where('client_id', '=', $client->id)->where('balance', '>', 0)->orderBy('created_at')->get();
                                 $applied = 0;
                                 foreach ($credits as $credit) {
                                     $applied += $credit->apply($invoice->amount);
                                     if ($applied >= $invoice->amount) {
                                         break;
                                     }
                                 }
                                 $payment->client_id = $client->id;
                                 $payment->invoice_id = $invoice->id;
                                 $payment->payment_type_id = 2;
                                 $payment->payment_date = $invoice->invoice_date;
                                 $payment->amount = $invoice->amount;
                                 $payment->save();
                                 $message = trans("texts.savepay_{$entityType}");
                                 Session::flash('message', $message);
                             } else {
                                 Session::flash('message', $message);
                             }
                         }
                     }
                 }
             }
             $url = "{$entityType}s/" . $invoice->public_id . '/edit';
             return Redirect::to($url);
         }
     }
 }
コード例 #4
0
 private function save($publicId = null)
 {
     $action = Input::get('action');
     if ($action == 'archive' || $action == 'delete') {
         return InvoiceController::bulk();
     }
     $input = json_decode(Input::get('data'));
     $invoice = $input->invoice;
     // if ($errors = $this->invoiceRepo->getErrors($invoice))
     // {
     // 	Session::flash('error', trans('texts.invoice_error'));
     // 	return Redirect::to('invoices/create')
     // 		->withInput()->withErrors($errors);
     // }
     // else
     // {
     $this->taxRateRepo->save($input->tax_rates);
     $clientData = (array) $invoice->client;
     $client = $this->clientRepo->save($invoice->client->public_id, $clientData);
     $invoiceData = (array) $invoice;
     $invoiceData['client_id'] = $client->id;
     $invoiceData['nit'] = $client->nit;
     $invoiceData['name'] = $client->name;
     $invoice = $this->invoiceRepo->save($publicId, $invoiceData);
     $account = Auth::user()->account;
     if ($account->invoice_taxes != $input->invoice_taxes || $account->invoice_item_taxes != $input->invoice_item_taxes || $account->invoice_design_id != $input->invoice->invoice_design_id) {
         $account->invoice_taxes = $input->invoice_taxes;
         $account->invoice_item_taxes = $input->invoice_item_taxes;
         $account->invoice_design_id = $input->invoice->invoice_design_id;
         $account->save();
     }
     $client->load('contacts');
     $sendInvoiceIds = [];
     foreach ($client->contacts as $contact) {
         if ($contact->send_invoice || count($client->contacts) == 1) {
             $sendInvoiceIds[] = $contact->id;
         }
     }
     foreach ($client->contacts as $contact) {
         $invitation = Invitation::scope()->whereContactId($contact->id)->whereInvoiceId($invoice->id)->first();
         if (in_array($contact->id, $sendInvoiceIds) && !$invitation) {
             $invitation = Invitation::createNew();
             $invitation->invoice_id = $invoice->id;
             $invitation->contact_id = $contact->id;
             $invitation->invitation_key = str_random(RANDOM_KEY_LENGTH);
             $invitation->save();
         } else {
             if (!in_array($contact->id, $sendInvoiceIds) && $invitation) {
                 $invitation->delete();
             }
         }
     }
     $branch = Auth::user()->branch;
     $invoice_dateCC = date("Ymd", strtotime($invoice->invoice_date));
     $invoice_date = date("d/m/Y", strtotime($invoice->invoice_date));
     $invoice_date_limitCC = date("d/m/Y", strtotime($branch->deadline));
     require_once app_path() . '/includes/control_code.php';
     $cod_control = codigoControl($invoice->invoice_number, $client->nit, $invoice_dateCC, $invoice->amount, $branch->number_autho, $branch->key_dosage);
     $invoice->control_code = $cod_control;
     $invoice->number_autho = $branch->number_autho;
     $invoice->deadline = $branch->deadline;
     $invoice->key_dosage = $branch->key_dosage;
     $invoice->activity_pri = $branch->activity_pri;
     $invoice->activity_sec1 = $branch->activity_sec1;
     $invoice->law = $branch->law;
     $invoice->branch = $branch->name;
     $invoice->address1 = $branch->address1;
     $invoice->address2 = $branch->address2;
     $invoice->work_phone = $branch->postal_code;
     $invoice->city = $branch->city;
     $invoice->state = $branch->state;
     $invoice->save();
     require_once app_path() . '/includes/BarcodeQR.php';
     $ice = $invoice->amount - $invoice->fiscal;
     $desc = $invoice->subtotal - $invoice->amount;
     $amount = number_format($invoice->amount, 2, '.', '');
     $fiscal = number_format($invoice->fiscal, 2, '.', '');
     $icef = number_format($ice, 2, '.', '');
     $descf = number_format($desc, 2, '.', '');
     if ($icef == "0.00") {
         $icef = 0;
     }
     if ($descf == "0.00") {
         $descf = 0;
     }
     $qr = new BarcodeQR();
     $datosqr = '1006909025|' . $invoice->invoice_number . '|' . $invoice->number_autho . '|' . $invoice_date . '|' . $amount . '|' . $fiscal . '|' . $invoice->control_code . '|' . $invoice->nit . '|' . $icef . '|0|0|' . $descf;
     $qr->text($datosqr);
     $qr->draw(150, 'qr/' . $account->account_key . '_' . $invoice->invoice_number . '.png');
     $input_file = 'qr/' . $account->account_key . '_' . $invoice->invoice_number . '.png';
     $output_file = 'qr/' . $account->account_key . '_' . $invoice->invoice_number . '.jpg';
     $inputqr = imagecreatefrompng($input_file);
     list($width, $height) = getimagesize($input_file);
     $output = imagecreatetruecolor($width, $height);
     $white = imagecolorallocate($output, 255, 255, 255);
     imagefilledrectangle($output, 0, 0, $width, $height, $white);
     imagecopy($output, $inputqr, 0, 0, 0, 0, $width, $height);
     imagejpeg($output, $output_file);
     $invoice->qr = HTML::image_data('qr/' . $account->account_key . '_' . $invoice->invoice_number . '.jpg');
     $invoice->save();
     $message = trans($publicId ? 'texts.updated_invoice' : 'texts.created_invoice');
     if ($input->invoice->client->public_id == '-1') {
         $message = $message . ' ' . trans('texts.and_created_client');
         $url = URL::to('clients/' . $client->public_id);
         Utils::trackViewed($client->getDisplayName(), ENTITY_CLIENT, $url);
     }
     if ($action == 'clone') {
         return InvoiceController::cloneInvoice($publicId);
     } else {
         if ($action == 'email') {
             if (Auth::user()->confirmed) {
                 $message = trans('texts.emailed_invoice');
                 $this->mailer->sendInvoice($invoice);
                 Session::flash('message', $message);
             } else {
                 $errorMessage = trans(Auth::user()->registered ? 'texts.confirmation_required' : 'texts.registration_required');
                 Session::flash('error', $errorMessage);
                 Session::flash('message', $message);
             }
         } else {
             Session::flash('message', $message);
         }
     }
     $url = 'invoices/' . $invoice->public_id . '/edit';
     return Redirect::to($url);
     // }
 }