Exemple #1
0
 public function onCheckout($recordId = null, $context = null)
 {
     /**
      * Validar si la caja esta abierta,
      * antes de crear una venta.
      * @return [type] [description]
      */
     if (!CashRegister::is_open()) {
         throw new ValidationException(['please_opening_cash_register' => trans('awme.parking::lang.sales.please_opening_cash_register')]);
     }
     /**
      * $Parking & $Client
      * Datos del parking tiket, y Cliente
      * @var array attrs.
      */
     $Client = Client::find($recordId);
     /**
      * $total_price
      * monto a abonar
      * @var int
      */
     $Invoice = new Invoice();
     //Attributes to partial
     $this->vars['total'] = Calc::discount($Invoice->getPrice($Client->billing), $Client->options['discount'], $Client->options['amount']);
     # Monto a abonar
     $this->vars['discount'] = $Client->options['discount'];
     $this->vars['amount'] = $Client->options['amount'];
     $this->vars['Client'] = $Client;
     # Datos del cliente
     $Client->expiration = Request::input('Client.expiration');
     $Client->options = Request::input('Client.options');
     $Client->save();
     /**
      * $Till
      * Nuevo tiket en caja.
      * @var Till
      */
     $Till = new Till();
     $Till->action = 'sale_subs';
     $Till->seller = BackendAuth::getUser()->first_name;
     $Till->billing = $Client->billing;
     $Till->subtotal = $Invoice->getPrice($Client->billing);
     $Till->total = Calc::discount($Invoice->getPrice($Client->billing), $Client->options['discount'], $Client->options['amount']);
     # Monto a abonar
     $Till->save();
     Flash::success('Se ha modificado la fecha de vencimiento de pago con éxito a ' . Request::input('Client.expiration'));
     $this->asExtension('FormController')->update($recordId, $context);
 }