public function deletedPayment(PaymentWasDeleted $event) { $payment = $event->payment; // if the payment was from a credit we need to refund the credit if ($payment->payment_type_id != PAYMENT_TYPE_CREDIT) { return; } $credit = Credit::createNew(); $credit->client_id = $payment->client_id; $credit->credit_date = Carbon::now()->toDateTimeString(); $credit->balance = $credit->amount = $payment->amount; $credit->private_notes = $payment->transaction_reference; $credit->save(); }
public function save($publicId = null, $input) { if ($publicId) { $credit = Credit::scope($publicId)->firstOrFail(); } else { $credit = Credit::createNew(); } $credit->client_id = Client::getPrivateId($input['client']); $credit->credit_date = Utils::toSqlDate($input['credit_date']); $credit->amount = Utils::parseFloat($input['amount']); $credit->balance = Utils::parseFloat($input['amount']); $credit->private_notes = trim($input['private_notes']); $credit->save(); return $credit; }
public function save($input, $credit = null) { $publicId = isset($data['public_id']) ? $data['public_id'] : false; if ($credit) { // do nothing } elseif ($publicId) { $credit = Credit::scope($publicId)->firstOrFail(); \Log::warning('Entity not set in credit repo save'); } else { $credit = Credit::createNew(); } $credit->client_id = Client::getPrivateId($input['client']); $credit->credit_date = Utils::toSqlDate($input['credit_date']); $credit->amount = Utils::parseFloat($input['amount']); $credit->balance = Utils::parseFloat($input['amount']); $credit->private_notes = trim($input['private_notes']); $credit->save(); return $credit; }
public static function updatePayment($payment) { if ($payment->is_deleted && !$payment->getOriginal('is_deleted')) { $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; if ($invoice->isPaid() && $invoice->balance > 0) { $invoice->invoice_status_id = $invoice->balance == $invoice->amount ? INVOICE_STATUS_DRAFT : INVOICE_STATUS_PARTIAL; } $invoice->save(); // deleting a payment from credit creates a new credit if ($payment->payment_type_id == PAYMENT_TYPE_CREDIT) { $credit = Credit::createNew(); $credit->client_id = $client->id; $credit->credit_date = Carbon::now()->toDateTimeString(); $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(), 'deleted ' . $payment->getName()); $activity->balance = $client->balance; $activity->adjustment = $payment->amount; $activity->save(); } else { /* $diff = floatval($invoice->amount) - floatval($invoice->getOriginal('amount')); if ($diff == 0) { return; } $client = $invoice->client; $client->balance = $client->balance + $diff; $client->save(); $activity = Activity::getBlank($invoice); $activity->client_id = $invoice->client_id; $activity->invoice_id = $invoice->id; $activity->activity_type_id = ACTIVITY_TYPE_UPDATE_INVOICE; $activity->message = Utils::encodeActivity(Auth::user(), 'updated', $invoice); $activity->balance = $client->balance; $activity->adjustment = $diff; $activity->json_backup = $backupInvoice->hidePrivateFields()->toJSON(); $activity->save(); */ } }