private function save() { $rules = array('client' => 'required', 'amount' => 'required|positive'); $messages = array('required' => 'El campo es Requerido', 'positive' => 'El Monto debe ser positivo'); $validator = Validator::make(Input::all(), $rules, $messages); if ($validator->fails()) { $url = 'creditos/create'; return Redirect::to($url)->withErrors($validator)->withInput(); } else { $credit = Credit::createNew(); $credit->client_id = Client::getPrivateId(Input::get('client')); $credit->credit_date = date("Y-m-d", strtotime(Input::get('credit_date'))); $credit->amount = Input::get('amount'); $credit->balance = Input::get('amount'); $credit->private_notes = trim(Input::get('private_notes')); $credit->save(); Session::flash('message', 'Crédito creado con éxito'); return Redirect::to('clientes/' . Input::get('client')); } }
public static function deletePayment($payment) { $client = $payment->client; $client->balance = $client->balance + $payment->amount; $client->paid_to_date = $client->paid_to_date - $payment->amount; $client->save(); $invoice = $payment->invoice; $invoice->balance = $invoice->balance + $payment->amount; $invoice->save(); if ($invoice->isPaid() && $invoice->balance > 0) { $invoice->invoice_status_id = $invoice->balance == $invoice->amount ? INVOICE_STATUS_DRAFT : INVOICE_STATUS_PARTIAL; } if ($payment->payment_type_id == PAYMENT_TYPE_CREDIT) { $credit = Credit::createNew(); $credit->client_id = $client->id; $credit->balance = $credit->amount = $payment->amount; $credit->private_notes = $payment->transaction_reference; $credit->save(); } $activity = Activity::getBlank(); $activity->payment_id = $payment->id; $activity->client_id = $invoice->client_id; $activity->invoice_id = $invoice->id; $activity->activity_type_id = ACTIVITY_TYPE_DELETE_PAYMENT; // $activity->message = Utils::encodeActivity(Auth::user(), 'borró ' . $payment->getName()); $activity->balance = $client->balance; $activity->adjustment = $payment->amount; $activity->save(); }