From b6c03007755caa569a611920651fb227393da97c Mon Sep 17 00:00:00 2001 From: David Bomba Date: Fri, 5 Jun 2020 10:24:02 +1000 Subject: [PATCH 1/8] Improve notification filters --- app/Http/Controllers/CompanyController.php | 2 ++ app/Http/Requests/Payment/UpdatePaymentRequest.php | 8 ++++++++ app/Utils/Traits/Notifications/UserNotifies.php | 3 +++ 3 files changed, 13 insertions(+) diff --git a/app/Http/Controllers/CompanyController.php b/app/Http/Controllers/CompanyController.php index 798f780e2229..f34980d6f431 100644 --- a/app/Http/Controllers/CompanyController.php +++ b/app/Http/Controllers/CompanyController.php @@ -11,6 +11,7 @@ namespace App\Http\Controllers; +use App\DataMapper\CompanySettings; use App\DataMapper\DefaultSettings; use App\Http\Requests\Company\CreateCompanyRequest; use App\Http\Requests\Company\DestroyCompanyRequest; @@ -218,6 +219,7 @@ class CompanyController extends BaseController 'is_locked' => 0, 'permissions' => '', 'settings' => null, + 'notifications' => CompanySettings::notificationDefaults(), //'settings' => DefaultSettings::userSettings(), ]); diff --git a/app/Http/Requests/Payment/UpdatePaymentRequest.php b/app/Http/Requests/Payment/UpdatePaymentRequest.php index 7ea172cf2c94..85539984270d 100644 --- a/app/Http/Requests/Payment/UpdatePaymentRequest.php +++ b/app/Http/Requests/Payment/UpdatePaymentRequest.php @@ -38,6 +38,7 @@ class UpdatePaymentRequest extends Request { return [ 'invoices' => ['required','array','min:1',new PaymentAppliedValidAmount,new ValidCreditsPresentRule], + 'invoices.*.invoice_id' => 'distinct', 'documents' => 'mimes:png,ai,svg,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx', ]; } @@ -77,4 +78,11 @@ class UpdatePaymentRequest extends Request } $this->replace($input); } + + public function messages() + { + return [ + 'distinct' => 'Attemping duplicate payment on the same invoice Invoice', + ]; + } } diff --git a/app/Utils/Traits/Notifications/UserNotifies.php b/app/Utils/Traits/Notifications/UserNotifies.php index a7d4addf2caa..d5326910b249 100644 --- a/app/Utils/Traits/Notifications/UserNotifies.php +++ b/app/Utils/Traits/Notifications/UserNotifies.php @@ -50,6 +50,9 @@ trait UserNotifies $notifiable_methods = []; $notifications = $company_user->notifications; + if(!$notifications) + return []; + if ($entity->user_id == $company_user->_user_id || $entity->assigned_user_id == $company_user->user_id) { array_push($required_permissions, "all_user_notifications"); } From 8149251180f94df2be6cce39c612c24a12f4e145 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Fri, 5 Jun 2020 13:52:53 +1000 Subject: [PATCH 2/8] Fixes for payments affecting the client ledger balance --- app/Models/Client.php | 12 ++++++------ app/Repositories/PaymentRepository.php | 18 +++++++----------- 2 files changed, 13 insertions(+), 17 deletions(-) diff --git a/app/Models/Client.php b/app/Models/Client.php index 80846ac55ca5..636c2ebe64fb 100644 --- a/app/Models/Client.php +++ b/app/Models/Client.php @@ -251,12 +251,12 @@ class Client extends BaseModel implements HasLocalePreference * @param float $amount Adjustment amount * @return Client */ - public function processUnappliedPayment($amount) :Client - { - return $this->service()->updatePaidToDate($amount) - ->adjustCreditBalance($amount) - ->save(); - } + // public function processUnappliedPayment($amount) :Client + // { + // return $this->service()->updatePaidToDate($amount) + // ->adjustCreditBalance($amount) + // ->save(); + // } /** * diff --git a/app/Repositories/PaymentRepository.php b/app/Repositories/PaymentRepository.php index 76f893de179d..86a24280ff4f 100644 --- a/app/Repositories/PaymentRepository.php +++ b/app/Repositories/PaymentRepository.php @@ -46,7 +46,6 @@ class PaymentRepository extends BaseRepository /** * Saves and updates a payment. //todo refactor to handle refunds and payments. * - * * @param array $data the request object * @param Payment $payment The Payment object * @return Payment|null Payment $payment @@ -62,8 +61,8 @@ class PaymentRepository extends BaseRepository /** * Handles a positive payment request - * @param array $data The data object - * @param Payment $payment The $payment entity + * @param array $data The data object + * @param Payment $payment The $payment entity * @return Payment The updated/created payment object */ private function applyPayment(array $data, Payment $payment): ?Payment @@ -73,21 +72,20 @@ class PaymentRepository extends BaseRepository $this->processExchangeRates($data, $payment); } + /*Fill the payment*/ $payment->fill($data); - $payment->status_id = Payment::STATUS_COMPLETED; - $payment->save(); + /*Ensure payment number generated*/ if (!$payment->number || strlen($payment->number) == 0) { $payment->number = $payment->client->getNextPaymentNumber($payment->client); } - $payment->client->service()->updatePaidToDate($payment->amount)->save(); - $invoice_totals = 0; $credit_totals = 0; + /*Iterate through invoices and apply payments*/ if (array_key_exists('invoices', $data) && is_array($data['invoices'])) { $invoice_totals = array_sum(array_column($data['invoices'], 'amount')); @@ -103,15 +101,14 @@ class PaymentRepository extends BaseRepository } } } else { - //payment is made, but not to any invoice, therefore we are applying the payment to the clients credit - $payment->client->processUnappliedPayment($payment->amount); + //payment is made, but not to any invoice, therefore we are applying the payment to the clients paid_to_date only + $payment->client->service()->updatePaidToDate($payment->amount)->save(); } if (array_key_exists('credits', $data) && is_array($data['credits'])) { $credit_totals = array_sum(array_column($data['credits'], 'amount')); $credits = Credit::whereIn('id', $this->transformKeys(array_column($data['credits'], 'credit_id')))->get(); - $payment->credits()->saveMany($credits); foreach ($data['credits'] as $paid_credit) { @@ -136,7 +133,6 @@ class PaymentRepository extends BaseRepository } $payment->save(); - return $payment->fresh(); } From 4dca7da0707a88165e52029d3872a6752ac5945d Mon Sep 17 00:00:00 2001 From: David Bomba Date: Sat, 6 Jun 2020 11:07:31 +1000 Subject: [PATCH 3/8] Fixes for payment side of ledger --- app/Http/Controllers/BaseController.php | 2 +- app/Repositories/PaymentRepository.php | 78 +++++++++---------------- app/Services/Invoice/ApplyPayment.php | 15 ++++- app/Services/Invoice/MarkSent.php | 6 +- tests/Integration/CompanyLedgerTest.php | 6 +- 5 files changed, 51 insertions(+), 56 deletions(-) diff --git a/app/Http/Controllers/BaseController.php b/app/Http/Controllers/BaseController.php index 3444d6983efe..5c3473f15eac 100644 --- a/app/Http/Controllers/BaseController.php +++ b/app/Http/Controllers/BaseController.php @@ -291,7 +291,7 @@ class BaseController extends Controller * Thresholds for displaying large account on first load */ if (request()->has('first_load') && request()->input('first_load') == 'true') { - if (auth()->user()->getCompany()->invoices->count() > 1000) { + if (auth()->user()->getCompany()->invoices->count() > 1000 || auth()->user()->getCompany()->products->count() > 1000) { $data = $mini_load; } else { $data = $first_load; diff --git a/app/Repositories/PaymentRepository.php b/app/Repositories/PaymentRepository.php index 86a24280ff4f..dd79fa91ab8d 100644 --- a/app/Repositories/PaymentRepository.php +++ b/app/Repositories/PaymentRepository.php @@ -56,7 +56,7 @@ class PaymentRepository extends BaseRepository return $this->applyPayment($data, $payment); } - return $this->refundPayment($data, $payment); + return $payment; } /** @@ -67,9 +67,17 @@ class PaymentRepository extends BaseRepository */ private function applyPayment(array $data, Payment $payment): ?Payment { + //check currencies here and fill the exchange rate data if necessary if (!$payment->id) { $this->processExchangeRates($data, $payment); + + /*We only update the paid to date ONCE per payment*/ + if (array_key_exists('invoices', $data) && is_array($data['invoices']) && count($data['invoices']) > 0) { + $invoice_totals = array_sum(array_column($data['invoices'], 'amount')); + $client = Client::find($data['client_id']); + $client->service()->updatePaidToDate($invoice_totals)->save(); + } } /*Fill the payment*/ @@ -77,6 +85,7 @@ class PaymentRepository extends BaseRepository $payment->status_id = Payment::STATUS_COMPLETED; $payment->save(); + /*Ensure payment number generated*/ if (!$payment->number || strlen($payment->number) == 0) { $payment->number = $payment->client->getNextPaymentNumber($payment->client); @@ -86,19 +95,33 @@ class PaymentRepository extends BaseRepository $credit_totals = 0; /*Iterate through invoices and apply payments*/ - if (array_key_exists('invoices', $data) && is_array($data['invoices'])) { + if (array_key_exists('invoices', $data) && is_array($data['invoices']) && count($data['invoices']) > 0) { $invoice_totals = array_sum(array_column($data['invoices'], 'amount')); $invoices = Invoice::whereIn('id', array_column($data['invoices'], 'invoice_id'))->get(); + $payment->invoices()->saveMany($invoices); + info("iterating through payment invoices"); + foreach ($data['invoices'] as $paid_invoice) { - $invoice = Invoice::whereId($paid_invoice['invoice_id'])->first(); + + $invoice = Invoice::whereId($paid_invoice['invoice_id'])->with('client')->first(); + + info("current client balance = {$invoice->client->balance}"); if ($invoice) { - $invoice->service()->applyPayment($payment, $paid_invoice['amount'])->save(); + + info("apply payment amount {$paid_invoice['amount']}"); + + $invoice = $invoice->service()->markSent()->applyPayment($payment, $paid_invoice['amount'])->save(); + + info("after processing invoice the client balance is now {$invoice->client->balance}"); + } + + } } else { //payment is made, but not to any invoice, therefore we are applying the payment to the clients paid_to_date only @@ -136,53 +159,6 @@ class PaymentRepository extends BaseRepository return $payment->fresh(); } - /** - * @deprecated Refundable trait replaces this. - */ - private function refundPayment(array $data, Payment $payment): string - { - // //temp variable to sum the total refund/credit amount - // $invoice_total_adjustment = 0; - - // if (array_key_exists('invoices', $data) && is_array($data['invoices'])) { - - // foreach ($data['invoices'] as $adjusted_invoice) { - - // $invoice = Invoice::whereId($adjusted_invoice['invoice_id'])->first(); - - // $invoice_total_adjustment += $adjusted_invoice['amount']; - - // if (array_key_exists('credits', $adjusted_invoice)) { - - // //process and insert credit notes - // foreach ($adjusted_invoice['credits'] as $credit) { - - // $credit = $this->credit_repo->save($credit, CreditFactory::create(auth()->user()->id, auth()->user()->id), $invoice); - - // } - - // } else { - // //todo - generate Credit Note for $amount on $invoice - the assumption here is that it is a FULL refund - // } - - // } - - // if (array_key_exists('amount', $data) && $data['amount'] != $invoice_total_adjustment) - // return 'Amount must equal the sum of invoice adjustments'; - // } - - - // //adjust applied amount - // $payment->applied += $invoice_total_adjustment; - - // //adjust clients paid to date - // $client = $payment->client; - // $client->paid_to_date += $invoice_total_adjustment; - - // $payment->save(); - // $client->save(); - } - /** * If the client is paying in a currency other than diff --git a/app/Services/Invoice/ApplyPayment.php b/app/Services/Invoice/ApplyPayment.php index dda5d1fcce6e..d8f5ead9213c 100644 --- a/app/Services/Invoice/ApplyPayment.php +++ b/app/Services/Invoice/ApplyPayment.php @@ -37,7 +37,14 @@ class ApplyPayment extends AbstractService ->ledger() ->updatePaymentBalance($this->payment_amount*-1); - $this->payment->client->service()->updateBalance($this->payment_amount*-1)->save(); + info("apply paymenet method - current client balance = {$this->payment->client->balance}"); + + info("reducing client balance by payment amount {$this->payment_amount}"); + + $this->invoice->client->service()->updateBalance($this->payment_amount*-1)->save(); +// $this->invoice->client->service()->updateBalance($this->payment_amount*-1)->updatePaidToDate($this->payment_amount)->save(); + + info("post client balance = {$this->invoice->client->balance}"); /* Update Pivot Record amount */ $this->payment->invoices->each(function ($inv) { @@ -47,6 +54,10 @@ class ApplyPayment extends AbstractService } }); + $this->invoice->fresh('client'); + + info("1 end of apply payment method the client balnace = {$this->invoice->client->balance}"); + if ($this->invoice->hasPartial()) { //is partial and amount is exactly the partial amount if ($this->invoice->partial == $this->payment_amount) { @@ -61,9 +72,11 @@ class ApplyPayment extends AbstractService } elseif ($this->payment_amount < $this->invoice->balance) { //partial invoice payment made $this->invoice->service()->clearPartial()->setStatus(Invoice::STATUS_PARTIAL)->updateBalance($this->payment_amount*-1); } + info("2 end of apply payment method the client balnace = {$this->invoice->client->balance}"); $this->invoice->service()->applyNumber()->save(); + info("3 end of apply payment method the client balnace = {$this->invoice->client->balance}"); return $this->invoice; } } diff --git a/app/Services/Invoice/MarkSent.php b/app/Services/Invoice/MarkSent.php index f31175598b08..314777d35769 100644 --- a/app/Services/Invoice/MarkSent.php +++ b/app/Services/Invoice/MarkSent.php @@ -48,10 +48,14 @@ class MarkSent extends AbstractService ->setDueDate() ->save(); + info("marking invoice sent currently client balance = {$this->client->balance}"); + $this->client->service()->updateBalance($this->invoice->balance)->save(); + info("after marking invoice sent currently client balance = {$this->client->balance}"); + $this->invoice->ledger()->updateInvoiceBalance($this->invoice->balance); - return $this->invoice; + return $this->invoice->fresh(); } } diff --git a/tests/Integration/CompanyLedgerTest.php b/tests/Integration/CompanyLedgerTest.php index cac91786f1a6..905c2b77f246 100644 --- a/tests/Integration/CompanyLedgerTest.php +++ b/tests/Integration/CompanyLedgerTest.php @@ -171,6 +171,7 @@ class CompanyLedgerTest extends TestCase $invoice = Invoice::find($this->decodePrimaryKey($acc['data']['id'])); + //client->balance should = 10 $invoice->service()->markSent()->save(); $this->assertEquals($invoice->client->balance, 10); @@ -193,6 +194,7 @@ class CompanyLedgerTest extends TestCase $invoice = Invoice::find($this->decodePrimaryKey($acc['data']['id'])); $invoice->service()->markSent()->save(); + //client balance should = 20 $this->assertEquals($invoice->client->balance, 20); $invoice_ledger = $invoice->company_ledger->sortByDesc('id')->first(); @@ -211,7 +213,6 @@ class CompanyLedgerTest extends TestCase ], ], 'date' => '2020/12/11', - ]; $response = $this->withHeaders([ @@ -224,7 +225,8 @@ class CompanyLedgerTest extends TestCase $payment = Payment::find($this->decodePrimaryKey($acc['data']['id'])); $payment_ledger = $payment->company_ledger->sortByDesc('id')->first(); - $invoice->fresh(); + +info($payment->client->balance); $this->assertEquals($payment->client->balance, $payment_ledger->balance); $this->assertEquals($payment->client->paid_to_date, 10); From a07742a0096e893986e0fb71015c5dad19c85d26 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Sat, 6 Jun 2020 14:00:59 +1000 Subject: [PATCH 4/8] Fixes for repo --- app/Repositories/PaymentRepository.php | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/app/Repositories/PaymentRepository.php b/app/Repositories/PaymentRepository.php index dd79fa91ab8d..3f6e13c43410 100644 --- a/app/Repositories/PaymentRepository.php +++ b/app/Repositories/PaymentRepository.php @@ -74,9 +74,13 @@ class PaymentRepository extends BaseRepository /*We only update the paid to date ONCE per payment*/ if (array_key_exists('invoices', $data) && is_array($data['invoices']) && count($data['invoices']) > 0) { - $invoice_totals = array_sum(array_column($data['invoices'], 'amount')); + + if($data['amount'] == '') + $data['amount'] = array_sum(array_column($data['invoices'], 'amount')); + $client = Client::find($data['client_id']); - $client->service()->updatePaidToDate($invoice_totals)->save(); + $client->service()->updatePaidToDate($data['amount'])->save(); + } } @@ -100,7 +104,6 @@ class PaymentRepository extends BaseRepository $invoices = Invoice::whereIn('id', array_column($data['invoices'], 'invoice_id'))->get(); - $payment->invoices()->saveMany($invoices); info("iterating through payment invoices"); From 532197621bd7a0c2fd5787cee4e4db875dfabd52 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Tue, 9 Jun 2020 07:27:54 +1000 Subject: [PATCH 5/8] Update logos and remove white eyed logo --- .../invoiceninja-black-logo-vertical.png | Bin 15579 -> 0 bytes public/images/invoiceninja-black-logo.png | Bin 4845 -> 0 bytes public/images/logo.png | Bin 40717 -> 36038 bytes 3 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 public/images/invoiceninja-black-logo-vertical.png delete mode 100644 public/images/invoiceninja-black-logo.png diff --git a/public/images/invoiceninja-black-logo-vertical.png b/public/images/invoiceninja-black-logo-vertical.png deleted file mode 100644 index 9ea0baffa92bae8a9606edda886b054477bb733b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15579 zcmZ{LV{|25(C&$CoY=N)849$Vka3vGGZX{#yUR2+96g|AGk#iSdX(Y5e!0p`jtc|Ev5j&VS&)<0p)Oh>(!* z6Grx#>wklj;F6G$k+HI}{!RB!Nk&NgH}7Azgfzgh{K<+0pX9$3|5AUJPy9F0 z-&PP%Qd0g;E%<+1^w))eh?to8uh&2K&-g@mc%N1LPuu@0KOH~a2|s!MBk(`j1qB8F zh9V&$$HOB50{_eS8R{?QFEIi#eEfd`5&0)K0)qdV@Cl>*)c-5wGvj~Yzat(2$=@0I zB>(9}NI^pSKPLRY4F7WY?D=Q#|CRr5z`q>+_2E4}u z{jZgfkb;<$l9UWYue;%MF2|j|D5wCySv}wp@hOe7hE6{=Tf-GF z&?H@pmOq}7P1(UgKq2XrgL)p0DjdWJ!IB#gg;c zny}`Dfz^l}Id_*Pt2$gtRi{RI{FBW9y&oWm3dLPLf8Sgp zp0^OH1|Efk3)fzVDbvJCI>=9~b=GHr6Ir%r;B8LJQOox7v2MfHkpGjyw)~rH|BtE8 zZP70o9d=5$-|bzFb37PlrC$8)Jj43{0B%)jF=16VkUyEBqUb{}A47wDb*z*D!D!$~ zg>5-RKSa^dCm{n2RFSJum@$XLI}9NbHF_e*aLNe-I+n!b7_+xNZePaN({j%L;5X~v z#&{QbKzX*^tRAL42&f>Yl?Zsh+z}!NF(U^nnT)6_8yfk2Gq}u&Q`(Eg;WIv}X5xjE zfxd&?L@h|9f@i`dAYdjzeX9B;5rcz|fQ7ZYmqzX$gf?gh7($GUBxJ>WDpOTkU<*q0E1F*1>*t zM%YhJ=IgSzv9@XItGz{Vi)cNRZ)9~uKAZ{q*>kwM%uiWsYaBNct86ZFH1Ph|RbN%2 z>yrO2AhE#5$f%31%nR}o*^scz5mu?K)3r9-STbnev$fd)^%TvP=wg?Dl}Q5_tJpa2 zAhtwmsmK&57DO>+2E=8|Upnu63%9u^U<*f6X zD4L{Gz=*LrSUebdRo_y-#Waw$wx_NpJ-hrbWc z6vPc2%50m}ncVvd>EX}k<`!J7ww;5UHN*xcy5<*u>quRn#&3oy0lC(W>fd9EeE6T! zZCO<{!G6I3GXY!QAJJ~vE22cK-m$$!Q|wCC33R@w)ePYymgY9lR<`hU@L?L=UsYtT zH!64ECqLCy>999iXAu__TV6#gGqQ%^i-0d|J=Ig zuP1D`uNy87M3e7lZ?4_z{~G1b$@JFmr!s1-?K#@sD`o7){E^^k=RQ}#^7?kD{!ElF z1Fy5ShE7HN4wcCw3M2O;Zn^W38c=?>Ae@k0usPU(sta^% zX{e*VHA01ovi`O8>=qJD?UOqJ*3W!)BV#n!%xBT0@Bi~dJx8Dz05ry_txj&*U zlRwtKK^A^Q5yz~v;bx|hzfHhrow>#O^i|=Y;W2l{0BW$`d8b;w4P}-L(q_U8GLeZv zP~k!(Xceqaf|L12c$7$j#2M&aO8+n9*gTElp!C$=iZYpU4)i?9SK|!2 ze5*EJh*1cp1+#SZ8XXDwmVgEIvHwBsN@JxBkI?qMyE#$nZ++^tsa&<=(7V0Go&g)U z{}4l}mVniq5W5b^pp?TZLj0sqmz6sg_caMIr`=o!7i>J^nEVci+TKvHU1_2d-L-WN zURR#kU%bY=@{@p*p&rYfx2)#113{J+HyeMO*~W9%8anO*bsw^lyHXUZ84xh(c8yp$ zJ}+&JBLXDg)eUOLQ0)%c;?Cw$u}RqcY1Y_wY54IQzHPk8gNk=|}-SDQ@6b%8FK7_W!IeF89`-46y9&T5si+sdpI3kz)I=SuG# z#r{(peN=ywjN^@a>b#wWACxtjj+RZZR+v+r z>{&%vz|^_Mt+zqZTaQ+?4l3r6?su|XI<3Dq7i$n9w|R{P^e^y`CVMPS*6^HdcD5sa zJA*zWupf6o>d=|@!gHr&7-f`aN8tWGUui^90?On}GE`=}Jz0(bsu%&+e!E$sdQ(h5 z9I97h^5P1PUfN}n4MBeAnN^B*@w`}hEdI_3h84n~$$L^`4fV@bw^K7eLB|QsMjS)! zX@*Y1w-)N#V~V^a`M1j4UrT+&66OXd!>t(B4^Ro6qxnpV3epEW~ zERU-__)Ng`GDvvWx@1}4zVG+%jZ*VCw%)Se90aUQ<+I*X`=@Gi?sq)3oZ5f^FQ*6Q z))FwJy6}8m>1S*q6-Q!{megXeCf^7dbsyI{nE+uZaviH2RD>P{6r~BAY>OeiVXNlL zDt2=nO6sT4hWRpak}*hquP%QOrrj-@<3mp-N|o`YJg>xdEH@MXEc?yIckr+yhBs)Z zadG-~MS~ctr2oQ={#=PyPI_-?;NK9u05LI@W_)`L%_Fs}z7k1^MvqBd!#{M)y6=uN zEijN!Z%=E1G8x@rx12^Gyi0oGozl2v_SqQDXNQ+x^@zX<>sQc&p{XMbElK$b>im14 zI5#(PY}d$6R2~z*VbTgJ`)x<3NiEzWtZ(R(Lo(RqMlxaDwkcp;5|tgQnWZf`1SheP zrjaFQS>F6=CKEsvgfap)e;;x~>{oa+dagXgjmv0OJ*`q%aYqFeW>hJdGRN)ohLp>t z%gL4HY0u_3TKcX&wcC-|3HSON@0vk+q0+FwJk0u`FLdIAwDnENW0JG!q;nbly1l#2 zI^oF9i(uH}W|oHRY{IfI(2k)4q4fpEWlVmPg=fM+rAZUIdZetaVY*30c%p{I$$a3x zGaO?A=w`iTx>gu@At=ot<7_h#1FaV`^O0E?#scKD>p=Cfa&u2*2ko0pB zfcc#U8IW6`$3CzThuG!>tA>JP~CaA5*Wf~?5h zX>Cm0QBy!>x6y(usc|VqC8%qP1{xdV(kdU}uy!9@Q>AqBJyBv!jv7|;CW3CF#Vk;| za5}RE4ekR`y6ySm9`o>Mp=k|&<2auj)4)~U`PWipCKvK>*RJ{0Ik}YQO?ZO?*iw2< zqyUrUkpav-klW>8P=Tn4;O?q%{${TmBoK4S*yaAu2FJ?}MuredMQf3tO=^26-ACz% z(}9N0p$yj({jC^)YfUJ zrl(GIO|%XQAOgPSVXlHSyqLPlD164(w9S!j&1v`Qy6@)k>?l(MLBgQlJUg2FLMjmf z5KKN2x z7x-4GhdwvsmU05Pz}k+vn$4sLJ{~=l4GqLh;KcGJQ9g;jz-`e*AEgX}&dDBPn~;ro z>wCAVd9Ja1|FJHsH%Lw{zKVZm!$bo9+G_SeXp|=P$6d`())bcp4+7J)0;@GuVAqd> zxx4d@cCF-<2H8*|iJvRv*Q%o$?k`Hq z_Ey8Wl@nQX;2LX@H_pn=L+k$ZK5MJ6zN)_Fd-A%SoWl`35Y{xj*1wVDFOrR`D>zOn z`9?xxhv{V7qu|?7x>WZ9>kVWo6+HaW1%E-cmI)8NV0oMTqm!f6$JU2MdZ}AeLcvyE z>;+>a5lx>|x6>pTS>yx7{zH28=sTryQ<;aC`zi>G16=F*&oJ*IcgaosBX2!WR>?&9 z(my77meBYxb&~H#Vu$8# zMdWwjMmC8-=fgGMfW0a9p}&UBNZR~P0-v#)-ir5!#se!+UOq6(5u{|}XhJdrB2Ei} zc6NU!@N2>D-Wu$f*Sc)Ze7yqyk>z~R*f3O;Jm%OL{n19RO*T4kwZK4K*@Bm9oQ~R! zO2lG`#k04m$3@ztX|^radFA>>3z)TucVugjm_|P8U`ryI()+raJV{$wA$6fw5;ER- zQkUzPBgP7r8C%D0LNakUCIR7l=+f7%`J=MVdmza$|A}LD->g1;B!e;NjPpd69YaO?Vt7sNp?rUnOnvzjA>Ev%s~wf5CEM zLx--Nb#Ya7_3M=bl2`lw%1v^*djQRsIaMnma0;-))!7|#kQF{iA!3Vt3)Pi1q}(cPH-*aRzVhQjM086AFRWT z1PcA56F^=$cDt|nvb~6%t7S$h8Qbu};|fi;Iihe3I{oWNHq1a0>++>-<%2>{3F^V9D89R3GI*eFyg|f| zKScjM4YJ-vVne}l4{{5mJgLSPO51q(9WM9H6UI3|&ytI@rTYQhx9F1T^(W-KX{3${ zsSOut+fLJ6Vn^Cf`xeydm?&HR3BBK{S3Vfk6H^lw-i}bIjfuXB>Ea&N*swDx*0F2X zX@!|9k!m*h29zikmAx!EpG;dX&qGc8tqLn zM211s4r`PL5-HuFv-R%;46d^B9 zEvf1;cra7(R+yf1hM&jaFBj3h4(^=@;DpQiFSXwW14{)hZ5YZ|JZ-#x|9ae#!ATG> zUB2KcHC6NoM0@>*~O5K->C%N#=QfD!@2c| zD{xIHnnrl#g(Y?@zIlUaOtbx5t_Kf)nC=u8&`)Sa!#>vkq2|OfBEIPbFgxExN2P@- zWP|m;&VOzzPh+S=bT-C6&|9Au4=zdrKcpc$42)!u0jz{=7{>?URPf7}U1$ZK5f+FG zhw1~&5x~LV0f0&v#M@kuLKk=j`^ONRRAaB|?iuIJ^7hXgxKiJ>2Ftl(?5o|%O!Lvb zuAI?(fNGHyPyRMmU5)nf2Dox*zrkTi^w4*3wV3v8cjt|F<0G;~2afZeRFZe6!qM}D zB=z1*EOZ(Aqij?s8S3roTv9x#+F~_i`O}p75Rhf<2oT_V0Ykp@*FKayMwqG)h3;+- zoHhtuhTaWry*@n!ol%6$HdeegEaF>TlwKyToZ+W5PwaNGW1O;pKR1H``ZQ^2*Nb7!&L2`3U?8xa@O z0D`d6gdpRzANcx^UqVopv^`MUJ~xNqzAt*lI3$X=81TrXqMOvKAZBj+CNa7mboCFB z2Gw%}ZVpX3W1sZa9gX)k>z`l0{?XQ#gZU09h(z1Zis{n2T2t-b3H6SH*zkJ5++duT z?l>!!qwW*(a@j~k_S=5#kn&LVS%ym*L$6L|zjMp3LOZpoC=c?E`FS zaMl*jn~k~O)vcxAqKcuIF}5k_Cv-=JEu3p}H$ZS5?CT!j7&eC~bjC8km2BXG120%q zwrWpFdSFoI!i0!X7TY}ompZM3Mz2{O-d6<;pEUg48dk)t9PecYSTs65^tqPZ{0QE^ ztR}(j$*Ya6`jK+F>p{MLabWFXT2-DHbE!_(sIJLzECRpWyAW&f+%>WQFVl~d1+}PL8REK3q5ZDYjuZ*D>;FP8039Gq|Jna^5@nqFcL=CCy1&WPI{(j`P z+T_|u{9C3~hWJ^^l_m}_{ z3=U7*r~bmh%JFko?d!KHvmo%W4I~|&=LmiC0~4qZ2OMf;gAaRT6z|;K3OX=J9z6Di z1GG3zhH;)eaINbsV40mYLOYvcyQN4?4TeN|I7?oNP&Y%egkQO=W#uvib^`G9drLNpxh;SF?y6eU>bPkrs^(#Z zfcZ63*$0lt)wXdq8_u}EdeaX3u4{C6pEM%Q%HS+zE~+Lk0NXV1F^UK7x$FF_`z|g| z;=E$JM;$%&>3pJ``jLyy*Ek?WWaFuog*k8XWRBXF`EX2R1=ZdjSMJy~+1u-ZB1Plr zL~f2co6c|skp*za86?Xeh$ z`r@nRP*fZzzZ;u0i`@xhW*b~D&JqyUNKq=Cj+z-#HQ#a1&EV`QO=6g~G%xK6li6qI zxVHBY6U#_4T{3C#`q^q*1Q-dL^6{+1!a#0w-$K8sdBbEy?T?F^Q z!B;sr+)+_!A(veBcH@ge<5JZzlHOgcl;Q5IqN@X#Mw)2;{SUy z>Y+q{i$Ue&c>QdS@01#B)9M{gcO0F7BVThIA?XY_8^@3)jc&G#(LITFRkp9G$0nuv zZG&uP=E?N$#$kHaoYam;+|tWm7IF@*oN$6b!qMI69H|mr?dV%~U{CAF9Q=rX3o;H_ zeRJ<|K87D(7K!sC9W{a)<(k_09x#!~{`PvgSf8K5?# z!(MrlR41FOJcTVKw~L@?rFs0Al((+T9vYY@h6~^@hnzOL`UU8?qE~8pfPDd+UE{;A zz9i0#X9?MoMOOc4pF8;gD=Lg_IkbxZW3sb_>fX`p;IZ0;JZr(}S{wg$k-N1YCN}(EHMEos#p*%Hs7|Z8 z-YqOGPj9OlIka8hzn|`OJr=!PFm@?xTOkL=*zPcrJ(?Gn6;uDRn*4ZS9CY+bA&=_% zAh=h5uE-uMCd6>Hn|4iZEo{w|tjvExagt3|o%pRp?=0UwBWHJ!Os83EJQ7bX`~MY6 zwTdQV=RNbI)leL`;si%?!+quA4&v~sm4FiGS5vsUR-Cyc`DxvF#AkL*G5Id>UG=yk zxmQnh7q{AGGHcFl6JF0X4^!U19|P9})}rQ-Y(pXj)(|IU|KQulOb0rp1~O;G5r)^t zdXQ{PN9$jH+)kM1dz)o+MI1=N63pD8xnIUI3}nx}20l?isH7XJ0G2R`8iwA)1W(?O^(Vt zCxWonQjVhrMY&8e9yL=g+)3nn7(|q&#)wV6_qdcPc!0`}Me(CT+RIPV52VGy@$(d_ z**(cfr_m38uY5>Qr>E-E58I3Otvrs#P+z&4Ni!4TR6luUvKr!XB{?F@j^#wzNCc2T zc__!e=#h|3{LszxmRwODzWzA93|I=T{13&8$W#w8EU z4#uTu3*zNbk=4nPZkO!)&QzEwLoJkzP~%}16d-s$+_JZMP`ofR>T^6Nkhp(Z2%1T6 zf)v8dJ~);1zFW0Xb$PFZU|1J`zS~&N!8XK0l^&lSb}fC>WmYC}guxfj)~rILKq_Q*nIE^XJj6@PUNpiq*j9FOI-GQi17#?J zT(j~bIT5ivE+#W=yxSNPwYagJ%Gc2sP_lk|09L*p`3&PqcCgu<9B#Bb>j7|%5PCmWi_vItaGHs$4sOBdT7?iKk3KiD8Br`VsST;UF=1tnU(P2 zz(5+OHKwI%if#w5Ko_!5u&C>{70`-7^okYzJS!;dJonMp<7+0U_(=y=H1lZ#T8>vz zc|~!ng2NEhqL@0(-OANrkg|Y*9~dSaT7K3_ise|g`}LsY zdrm+O9KB$mqRah|Y`2nM3}aUqvTz<1ea;A$2muCC!%;= z=O*^-uXxFFXj@cV+TjLtF4l>~RwK5&E9TfUhp;WPM^+7P%T0wlG&c_mSPd#i;6{m*%@{;j+@dDq!1(RddrKLL< z^KDLX8}Wdze|2P6>p6dn-KwK^y3oJSexb7&#{7EWnA4l9FENLqVGP%0$Gf^BD?m$C z&icHboujJsqM}e2p1P_7F!!o}GMrYdTJ80C3&^!;t!TmXy%AOiL~b^4RnXRiVB`rs zr7~93aaoq&343`m6~~!AS22M+=WIWJ*apgVZW~%mT{`$?7oDc|l#_1^^&hR-Xe@o$ z9o*lHp66(ZEVY1cfapdfL4asQx>qZUp9c-}?_e%&0`6GTYm zeLMD48FJAg-U;EVixFi}G$qmD8d95JI29_ntakWjd%f_zqlKL7zLFW`*8wu*($;X4S{!37P=s)~mntsIQnoxVS$Ts-a6SSY&VfK3(|Iv;>qE|El|Bk~$ z){j+rQ2N&OgLuA67mNj*hw8C>65;a3NqiMvSF&9IKmk*hv!}ghFZhI}%H>3w?qQW< zF1s|{>|wmBbZ<&6IM=|mw)i1&q#Uxc6*%W4@iEq)E~)PS%YNyRb?jJq*V#)jb0;V2 zOsfCjHY|(|G_99aS9nE*+l6FDYCP3;)<4^m-YXVH0v0)Py(S@C%C#FN5D_)Y1*mzY z23Tn{ZS@>bB>o+bJ^jYJA^g$UDFDJEe#DNZW&A52Oq8-MZ?e=WXRWtZ$zYx&tHja~ zJkb(3>O)d#bC<&h`H_Nn222a-hz*#t%=xa#9bjmx(S>PD1J+W?XA#*pNSD8u+8x6{ z0I{SOv%2@VPb=tiBRjw$W}@RgF0S-#8siV%4m7bWjS$m^_}yExdn+1h`wjUbbP z=$*~bIAbF!^|KkUROD>vtnK-W^MC7#2;z4`>(Tn|C(S{yngFpa<+iJPh&FgC9^jAl z_-~Tuze-flaD3I6T(CRZ?!MD)g@C7B^s_Q@I}EV4;AS5?JE{ERB!}%`z`_h>(}M8A z<9viSMVJYxHM;06-<}Y;vnJp0gUJFS{NiQthZdsop35U-zBH|}3YXDyC>o%$g4ZrV zhu2W;7A);G%||Vr>8gi7xnUec!}CqS*1tT>y~V<$vw*|`73vT6)cA?+-uo*LP}On- zd#GU!Wuv+UTXikR(v=G(F2GA$zq@f#i4WbwVy8PY`YOa(fxDgckM3!Qx91rfeGP~E z^fy5kqbejSR@Z#jKIMy`27T=hit(vLp#(X~_rZY)*=;hI3sgu&F^QA59lek;B&PSk zm0_I&qx8cF#C9=4E^jBP`Co?fkq{37a_q%Sicm1Pa64IHj5<(7^uIUoDz?>j9^kXF###M9IG#-fY9A)>Ji*>$5q>8)f`F2N(O2SpTEAy2BS2vv}4?R>~ zoDuqG?8Oj_sjw5^{rsN-60ZEgu@QB9zTl+T&#D8kzXT-GfNgt-Cz3OzD9!b;Ao3sl z9FhPTulZwg^lTINZCbb|1X7oj_mJAUU4Ht80lb1Rb8K?%aQqygfSV&b%zx2HJ8(J4 zO#l+A`UZ_1x$AGfnNMH#!_Dd7L9fecjO=+IQk9U_kZVF461(uwb6U2%9GsG`oin5S zn!kxZhR*=L0C@!O`2e&-B!!z_{SPHH+aTJ4kV`QPJGO_?`^DN_8IA4x)j&@h$ zutBX?_as}e#X3$&BikrP(W(9DJ==B0tSe_C?)>S8fXFQ$EnPdU#&p_x9;-h1P}8=D z>*IZ}6Y8a@qr5YwGauP7>Wu2(z+UO)<++c=cH!dTOpTU*$OBuhEhC)FYiSL)+(S<* zTh3T2*?S4w?L7YmncBp}Lpb%=+QI%3-tbApdcW%f^gwsxfrFNL{UEAumFt86`%;f}gJ>=%L7;cSm zew?C#3ej41eJd_#E@Mq9gE!-VY3qDp-KJ;5c9R}$Eu(4I zT7%EWvbZ)NBfDHmYx?jx$Cb>ARJ5D<#k%=xQKUI+tw($+^LM7<9BnA1fNO8do(#45 zX7~)`Bh+m*Te)GoN8z}hrY?7(iTpBAZe<#7DF;RV1W_m`$P<%vw%Ly@){S4R9IZlW zm`)H%E|=Yva`g_=7-PNOZJX5e$B9`*H+P*LQDn{6N4pjIL>B3iWhOg9zH4Hx>&Dk~ z-$RcywjzNOH|J`~Dl|Uwpx&#{IP$lbL~>;93w}|?R%pRL^j3JexSe1o3HGjn4ZOMD zE(s9de0ZiYx&!#(l`q4r>r$6p_O^aOE30~i^4*#8JlKvZ+a(DVovBx+2U&68*N?Ou zC~f9Dn#_Cl=35Or4UEGbvt#<9UCXH}t);J9)p1e;zwZcu@rzmg`MiH;B25X)5zR}d zdlUDU6Ns}EJc6~zqPAJRHYJnDg5#Hv8Jl~XE_%sLH`eFC7Vj#I-NQ^JT`bDlrE&`d zxBJlkhPn;XG5C->M9)t-j>Ht&gq{pcn+ScJ1pj3>9^?$lDa;VF#(uz?tCQ_2Yy+!%~iLdeu` za=x*kAM?j?+pbf{xIHuH6aw1zyuV+d!-9>l15CpgMRi*VA$tt=?lw^1$olTKGtHfj zU6BzU>EZwld%y-!eCld1&z}KAfNEA@(thiH%@*Efk$=HhJ1_d+bh8*Ju<&@jKlS>Q;?U}7@*PvN8QUq4i)Rr*+K(ar zBEuag|JRs;BoJ;K4<_em4QOKMi^^iWGaDsG*czkDNHpi-i^aEtBE(oS?c5g;ilkdr zy$&zsYQOFnrPHl##<`yj54lfOf(Nzj{Y{2sk(ly{prxvHn%^P%t%n`+1xjecT*xHv zO~5TS&_{4a%E5$EYACn@&ktgsJjZx-TDTY06=*b74mJ}?xY;y5JTq+yE~>v=f}cxU z?0i8@bKZtgyT3$j_3P4tzPYw8k3MWGqDW;0!4lKXS$VgxM=#g~57}lXh)`K?IQ6I9 zF<7wu1ef`pXy!s2YQ7w9YXBOAvaXfuEATq>_}Ju>v`-HgEO+VFCYCy#+tm?pOHvnO z@&`{itNP+?ws}3;64p06ARyuAz%Se9m(8cJS;seyEUM%8g|f(vhq^n#Ej+OO#j6VG zTX#R_xwfhW2zE++FAhR?rwd3x5`~lXeGVd5`_V>LEZ|vzAI((5%3-74qy^*b=ye(q*S8@rMYA}y-j(!0Mp6ZgG!RU&7H?8-cd9zmX*X;*KBksNI4pQAx++tSL zXBTtp<=9_+HVbPld|x#snhUA)vEq1{2I@GpwOR^zLMBibk6 z8w3{wk~_vBLl`yZPZ=yaihM49ZeWl+-B*zcpcUC-NlCPRkW#F{Zm?4)wkwC35KEiG}V@@m+#F7G2Upx)s?aT|v-pp_`l zQd3N0`P2uS>Ns>&R4!{>^?SMg;w;9uiG!6?Qj#b~Rt!?zewFq218~ugm8uSx zNi*3dy(Y0po7a8r1^}F=QQxo<$C;Iq=!iaPp zi+=EIUz^P*lYrCgU-=HkpVyELCW^D$o!TGTN51N?v~4bLxXPEEl&W&_SI^W3#^9e} zsd(BofE!1yZuwq5iF;@W7c{#2o?AmFo;o@o9}tHhTE&PqT|l@iZCwXQG~GQ-dE0-q zu8kT+9t?&D*+aju=1spe!Zx-q_$oI&J(Ny% za@!QuES7ql$DHJjc{PYYOW+r)umxZLhQJ0-T)3y&sUh7%LK$d=u#8j%QWseC&os#ZVqDU@dat`I- zNz)3EJFd=yPLW)*yg-KHZP-vR5N-UVyhcKS;WXJmhsUk#Lo1C%xLFUs(q&<7@(UOe z$qEBo@W_VkTTL{z00X4O6~rn<3N2m5A2n13rO`}4Idk=+p29yT8#X26ZhQZ%RR^Uq0%-eo#7kl zDQ*&vTL+6-b;~QG5CqXAar=9lWyY*Syx$Ga5F=^!!(YPDX0u)Bnefn71DnVNK|nk>SRH7eMrep~IRH0IdA zs_89tH2U@qTa~2l*wTpzMAL94Pd@z3lwIHAbpVl}Nrg{UV$9JSMq_xkqx@^~n1W9{ zoN}>vaUOQsjy}g=C?UCPS<}QCzSxji4c+DsBoz8G39j&p_14lzO_7+lA1u_6SgLvg zgcT+VvW6<<+!vwO=&3!~WFHjfW$7iGD!d<1^a{bQ3k^3^W1KHlI`O&ho z1Yrx#m^ne2-t(wJx91Rc;;Pn!tdGFKYL@!7%1J(v)m5HsM>c6%doF%+U|FU0@;>_} zS8G1vWQ}C{53Xn7Cs-$|2}%&QF@dweOAjwu%YmLvV07o^nO~_&*T~z)>EoTn9Co;G z=KeO}j|%^(7VxU%kRMSvmUqd=^)Y}bB)8^ns!@rR#Zu=u4ME~%H9aZufn9dkCL>hz}bB%Pp%-dwydhPX1`VM+XhsK4l`QT0}v>)VL znB^cYoSc`j>X6Kn8p23f&eSD(Mpo53awT_53I#c&8_ET+?il>5svZuCUH)v1^=%`T z)=iW>=&S5MUQSltuzK)_(Tu0#AwGYTOp0P{DLZT-6)KWW2e5BzklU}|s z|H7+6?~7FV|Mo)3Z#?PwC(zhG8|0oNDbsWwe!dBvMGgqFNO0?Xof{q3`VG709@S=4NHR@F`Bz@ZD6ZjVrT6@P z@$M2|O0mESAMwS|T++Yj+DdYYAUU6h)nQR&G3JXXd?F-Gb|-T)>aM-8?>n1@HB^pA z4YPHn5+XAFJau0Rx;s<+OjxW{RFapiKd4B2wmV4CA9n?;3dY?gPG}vr0s3{B<#(jPG`DV@nMdW+wuJyTI6z>9*Az$T0 z(K1kI71mebGJznOf+O^n4Fl0jFxYxn)5TjL)yTknAUiIL3uY0_(f52W>272JAR2mi zN#8v4*`lm;Ba+^Vy_Kit3)ZzYm8GmZ5h{HDl_Qs;BO)m@9M2AexLQe9?E}e9j=xzf zKWUX-gD__VI6gx+K`=M9&yGZ{y(0z?DV42tgTjLJPJCRwatTtBF{Yt)eCc8A{AgdQ zxFXb$!~f`_Gn2rHhlmuFP_+8w%G#9zQFRa1Env$tYar}Mw2yT#osBIn9;xyGH~k~# zoa2hOQ-1e#23)4~*^E7V$8r!j^}iWZDnmj&tm9%IokGU7mm8X_k0tC#$<6MsYD7v% zw7AI_X1J4bb_|+f--LAvw>5yo?x(KVK?K$W!9L_|x#>IY>I0+x zeqflZhV}AIJ>7VH?99U9T|W87E*`kR8C?)Qc7vDYTAzmIDp%Xu2a*(@eWx!Wsp*JL zR~0EQb~m?P*a-peQTfMKPry>U?~Jbd`cYny0R1+7!D2TAH^S=bwQnDYJhkz%#!_(4 zHyE0piiOJ=F0{!bmDX;ZKIj-dgkG&oV0s8m2<*Ubn!c|SAbh6;X^HAq(Hq+wu7EUN zvL6HpS|*V@ueZeeS=Ry{f#AO`ezl8sqpYV4nNG(zi9O+($gRthmS}<|hWf$*218BCOa781BVwlWt z3lfO$7yY;|@SIcgh*By1jRwI#sCxv7SAp#q4W)M~3%<)Ak(SmPp+h~;Mj-g~-nVU( zi;DR>;$P2G!&55a+0Mp=Qd1#mtC zXHgX8SpS~c*m-(e5m!plRP4H+pt@K5m&PN$$Y$yj<_b=@OS!hh!Ji!tsPx9?(ied| zIaQ2bO3z`}yX@Zz6Z z$#?J{qbRi?4=dj;Gc2o7)P4>UHRA_j$san8r|SrD5qx5Q4+`(mkrw*eKzOsLXeZPb5=sT zQZ7WLux35VeC+w35kyUnoM(K6o~R-R^(4(}LGH3cJn2>VMqRec?46R*CqH=eN(6*>PspbFP$2H}R!43r0fpF59-mcRC5d!w>soTNF6iQhv>v z*0UwNP|yzW=s55N@`jEyf5`Yi5{^OxzgiFb$wY#^Ecx_R=dXi_Mgp5tO`SC%CE?*Y zAs6mc-6FJ1AhFO?@iVn{PT6PDrqz;dS?;3FUM8bRpr>gD8vxLgt=-*aL7+|T9oGy=u z4j3(qnoLu|2z%!fROjmw(y!}rycxtNtC%!TI}gzRq9oc{|9aHH`SCZdFZk8~xwe~e z)7kwSk0&brvW(p!3mi&l@=ypLQ_pt?AR{N2>492kw$ zJeQB?tAkV`()V{5UiM!<>IMQmlr8etS}7{pGO06HJOOuXC25~)2PqP-J-Wbo!qU1D zfl>eXt9SMmzZN4wyFj-t7y&~SaF?}Gk3{pxzzaQQ`|k%qr|xaC8qyly{TlX=w`fof zV)%i_`Up2Uq~TYTr&ME{2xfurA0Kkb{%rVkA>9rEzxHy8P~_(+PLWunxxxRMw!wi{ zk-k;+T#<%f|E4lxX&iUsaJN+Tpr)>G>oXTj=3mNvw7ZGK?)}txm{o`PPaUDh-@b`m zYXHYnx^{T(@&0pvvr)+8e}Ymp4842L_{H*_(aG(j=|^k2sZ6hy@^TxjOIrl!(Xry< zOxddB!u2KolGXjC**uAm2`WZ@-OFQAtxmX=XS#a9d`Y)Tw6jVP)=43Os j`@N6wVc*EY(N38!ekBk3?fmuq?;WA1W29Yybc*;t_@%BJ diff --git a/public/images/logo.png b/public/images/logo.png index e88127bbbc8b22bcf79c8e73460daa408c434d92..5141cd4d1e38c783c8c40662618464df3f029219 100644 GIT binary patch literal 36038 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 literal 40717 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 From bf6044006d4d15e6a12e687aec98ab1306a30aa6 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Tue, 9 Jun 2020 07:43:46 +1000 Subject: [PATCH 6/8] Fix for restoring invoices --- app/Http/Controllers/InvoiceController.php | 7 +++++++ app/Repositories/BaseRepository.php | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/app/Http/Controllers/InvoiceController.php b/app/Http/Controllers/InvoiceController.php index 8649ccd1d749..e0e95cbc19f2 100644 --- a/app/Http/Controllers/InvoiceController.php +++ b/app/Http/Controllers/InvoiceController.php @@ -662,6 +662,13 @@ class InvoiceController extends BaseController case 'download': return response()->download(TempFile::path($invoice->pdf_file_path()), basename($invoice->pdf_file_path())); break; + case 'restore': + $this->invoice_repo->restore($invoice); + + if (!$bulk) { + return $this->listResponse($invoice); + } + break; case 'archive': $this->invoice_repo->archive($invoice); diff --git a/app/Repositories/BaseRepository.php b/app/Repositories/BaseRepository.php index 6a1084bec687..277b15a6b984 100644 --- a/app/Repositories/BaseRepository.php +++ b/app/Repositories/BaseRepository.php @@ -263,7 +263,7 @@ class BaseRepository //make sure we are creating an invite for a contact who belongs to the client only! $contact = ClientContact::find($invitation['client_contact_id']); - if ($model->client_id == $contact->client_id); + if ($contact && $model->client_id == $contact->client_id); { $new_invitation = $invitation_factory_class::create($model->company_id, $model->user_id); $new_invitation->{$lcfirst_resource_id} = $model->id; From 01f53e168992dc28ec427c5bb0e50ab4e5468fac Mon Sep 17 00:00:00 2001 From: David Bomba Date: Tue, 9 Jun 2020 07:55:31 +1000 Subject: [PATCH 7/8] Fix for blank contact name --- app/Listeners/Invoice/UpdateInvoiceActivity.php | 3 ++- app/Models/Presenters/ClientPresenter.php | 9 +++++++-- database/factories/AccountFactory.php | 1 + 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/app/Listeners/Invoice/UpdateInvoiceActivity.php b/app/Listeners/Invoice/UpdateInvoiceActivity.php index 9c7a0cb04015..5f7bbd8cad62 100644 --- a/app/Listeners/Invoice/UpdateInvoiceActivity.php +++ b/app/Listeners/Invoice/UpdateInvoiceActivity.php @@ -50,7 +50,8 @@ class UpdateInvoiceActivity implements ShouldQueue $fields->user_id = $event->invoice->user_id; $fields->company_id = $event->invoice->company_id; $fields->activity_type_id = Activity::UPDATE_INVOICE; - + $fields->invoice_id = $event->invoice->id; + $this->activity_repo->save($fields, $event->invoice); } } diff --git a/app/Models/Presenters/ClientPresenter.php b/app/Models/Presenters/ClientPresenter.php index e3686629955b..b13d007437f0 100644 --- a/app/Models/Presenters/ClientPresenter.php +++ b/app/Models/Presenters/ClientPresenter.php @@ -25,15 +25,20 @@ class ClientPresenter extends EntityPresenter */ public function name() { + if($this->entity->name) + return $this->entity->name; + $contact = $this->entity->primary_contact->first(); $contact_name = 'No Contact Set'; - if ($contact) { + if ($contact && (strlen($contact->first_name) >=1 || strlen($contact->last_name) >=1)) { $contact_name = $contact->first_name. ' '. $contact->last_name; } + elseif($contact && (strlen($contact->email))) + $contact_name = $contact->email; - return $this->entity->name ?: $contact_name; + return $contact_name; } public function primary_contact_name() diff --git a/database/factories/AccountFactory.php b/database/factories/AccountFactory.php index 67868546c159..dc068b1ae9ac 100644 --- a/database/factories/AccountFactory.php +++ b/database/factories/AccountFactory.php @@ -7,5 +7,6 @@ $factory->define(App\Models\Account::class, function (Faker $faker) { return [ 'default_company_id' => 1, 'key' => Str::random(32), + 'report_errors' => 1, ]; }); From 51c7e2c00769daa4f738823a6c0865225978289b Mon Sep 17 00:00:00 2001 From: David Bomba Date: Tue, 9 Jun 2020 08:10:06 +1000 Subject: [PATCH 8/8] fix for typo in README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f0776a9ae2bb..6e333aa72af8 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ npm i npm run production ``` -Please Note: Your APP_KEY in the .env file is used to encrypt data, if you loose this you will not be able to run the application. +Please Note: Your APP_KEY in the .env file is used to encrypt data, if you lose this you will not be able to run the application. Run if you want to load sample data, remember to configure .env ```