Esempio n. 1
0
 /**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store()
 {
     $credit = Credit::createNew();
     $last_credit = Credit::where('account_id', '=', Auth::user()->account_id)->where('client_id', '=', Input::get('client'))->max('credit_number');
     if (!$last_credit) {
         $last_credit = 0;
     }
     $credit->setClient(Input::get('client'));
     //Client::getPrivateId(Input::get('client'));
     $dateparser = explode("/", Input::get('credit_date'));
     $date = $dateparser[2] . '-' . $dateparser[1] . '-' . $dateparser[0];
     $credit->setCreditDate(date($date));
     $credit->setAmount(Input::get('amount'));
     $credit->setBalance(Input::get('amount'));
     $credit->setPrivateNotes(trim(Input::get('private_notes')));
     $credit->setUser(Auth::user()->id);
     $credit->setCreditNumber($last_credit + 1);
     $error = $credit->guardar();
     if ($error) {
         Session::flash('error', $error);
         return Redirect::to('creditos/create');
     }
     $credit->save();
     Session::flash('message', 'Crédito creado con éxito');
     $client = Client::where('id', '=', Input::get('client'))->first();
     return Redirect::to('clientes/' . $client->public_id);
 }
Esempio n. 2
0
 /**
  * Display the specified resource.
  *
  * @param int $id
  * @return Response
  */
 public function show($publicId)
 {
     $client = Client::scope($publicId)->withTrashed()->with('contacts')->first();
     if ($client) {
         //$client = Client::scope($publicId)->with('contacts')->firstOrFail();
         $getTotalCredit = Credit::scope()->where('client_id', '=', $client->id)->whereNull('deleted_at')->where('balance', '>', 0)->sum('balance');
         $invoices = Invoice::join('invoice_statuses', 'invoice_statuses.id', '=', 'invoices.invoice_status_id')->where('invoices.account_id', Auth::user()->account_id)->where('invoices.client_id', $client->id)->where('invoices.branch_id', Session::get('branch_id'))->select('invoices.invoice_number', 'invoices.invoice_date', 'invoices.importe_total', 'invoices.balance', 'invoices.due_date', 'invoice_statuses.name', 'invoices.public_id')->get();
         $pagos = Payment::join('invoices', 'invoices.id', '=', 'payments.invoice_id')->join('payment_types', 'payment_types.id', '=', 'payments.payment_type_id')->where('payments.account_id', Auth::user()->account_id)->where('payments.client_id', $client->id)->select('invoices.invoice_number', 'payments.transaction_reference', 'payment_types.name', 'payments.amount', 'payments.payment_date')->get();
         $creditos = Credit::where('account_id', '=', Auth::user()->account_id)->where('client_id', '=', $client->getId())->get();
         $data = array('title' => 'Ver Cliente', 'client' => $client, 'invoices' => $invoices, 'pagos' => $pagos, 'credit' => $getTotalCredit, 'creditos' => $creditos);
         // return Response::json($data);
         return View::make('clientes.show', $data);
     }
     Session::flash('error', 'No existe el usuario');
     return Redirect::to('clientes');
 }
Esempio n. 3
0
 public function getMaxCredit($client_id)
 {
     $credit = Credit::where('account_id', Auth::user()->account_id)->where('client_id', $client_id)->get();
     $credito = 0;
     foreach ($credit as $cre) {
         $credito += $cre->balance;
     }
     return $credito;
 }
Esempio n. 4
0
 public function setAmount($amount)
 {
     if (is_null($amount)) {
         $this->fv_amount = "Factura " . ERROR_NULL . "<br>";
         return;
     }
     $credit = Credit::where('account_id', $this->getAccountId())->where('client_id', $this->getClientId())->get();
     $invoice = Invoice::where('id', $this->getInvoiceId())->first();
     $credito = 0;
     foreach ($credit as $cre) {
         $credito += $cre->balance;
     }
     //echo $amount." - ".$credito;
     if ($credito < $amount && $this->getPaymentTypeId() == 2) {
         $this->fv_amount = "No tiene suficiente crédito para realizar este pago.";
         return;
     }
     if ($invoice->balance < $amount) {
         $this->fv_amount = "No es posible pagar mas de lo adeudado.";
         return;
     }
     if ($amount <= 0) {
         $this->fv_amount = "El monto no puede ser menor o igual a 0";
         return;
     }
     $this->fv_amount = null;
     $this->amount = $amount;
     return $this;
 }