From 77b055aff87ffd7730d71769193a14628305ec28 Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Sun, 31 Aug 2014 22:01:20 +0300 Subject: [PATCH] Fixed recurring invoices client balance --- app/models/Activity.php | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/app/models/Activity.php b/app/models/Activity.php index f177e9dada8e..f9e17fa05e4b 100755 --- a/app/models/Activity.php +++ b/app/models/Activity.php @@ -119,7 +119,7 @@ class Activity extends Eloquent $adjustment = 0; $client = $invoice->client; - if (!$invoice->is_quote) + if (!$invoice->is_quote && !$invoice->is_recurring) { $adjustment = $invoice->amount; $client->balance = $client->balance + $adjustment; @@ -170,11 +170,12 @@ class Activity extends Eloquent public static function updateInvoice($invoice) { + $client = $invoice->client; + if ($invoice->is_deleted && !$invoice->getOriginal('is_deleted')) { - if (!$invoice->is_quote) + if (!$invoice->is_quote && !$invoice->is_recurring) { - $client = $invoice->client; $client->balance = $client->balance - $invoice->balance; $client->paid_to_date = $client->paid_to_date - ($invoice->amount - $invoice->balance); $client->save(); @@ -198,11 +199,13 @@ class Activity extends Eloquent return; } - $backupInvoice = Invoice::with('invoice_items', 'client.account', 'client.contacts')->find($invoice->id); + $backupInvoice = Invoice::with('invoice_items', 'client.account', 'client.contacts')->find($invoice->id); - $client = $invoice->client; - $client->balance = $client->balance + $diff; - $client->save(); + if (!$invoice->is_quote && !$invoice->is_recurring) + { + $client->balance = $client->balance + $diff; + $client->save(); + } $activity = Activity::getBlank($invoice); $activity->client_id = $invoice->client_id; @@ -210,7 +213,7 @@ class Activity extends Eloquent $activity->activity_type_id = $invoice->is_quote ? ACTIVITY_TYPE_UPDATE_QUOTE : ACTIVITY_TYPE_UPDATE_INVOICE; $activity->message = Utils::encodeActivity(Auth::user(), 'updated', $invoice); $activity->balance = $client->balance; - $activity->adjustment = $invoice->is_quote ? 0 : $diff; + $activity->adjustment = $invoice->is_quote || $invoice->is_recurring ? 0 : $diff; $activity->json_backup = $backupInvoice->hidePrivateFields()->toJSON(); $activity->save(); }