mirror of
				https://github.com/invoiceninja/invoiceninja.git
				synced 2025-10-31 13:07:32 -04:00 
			
		
		
		
	Explicitly call the service() method, rather than obfuscate. (#3281)
* Include fix as describe by @michael-hampton here #3280 * Refactor createinvitations away from jobs * Clean up * Fixes for service() refactoring * Fixes for services refactor
This commit is contained in:
		
							parent
							
								
									c25de936ed
								
							
						
					
					
						commit
						cda534e996
					
				| @ -12,7 +12,6 @@ use App\Factory\PaymentFactory; | ||||
| use App\Factory\QuoteFactory; | ||||
| use App\Helpers\Invoice\InvoiceSum; | ||||
| use App\Jobs\Company\UpdateCompanyLedgerWithInvoice; | ||||
| use App\Jobs\Invoice\CreateInvoiceInvitations; | ||||
| use App\Jobs\Invoice\UpdateInvoicePayment; | ||||
| use App\Jobs\Quote\CreateQuoteInvitations; | ||||
| use App\Listeners\Credit\CreateCreditInvitation; | ||||
| @ -464,7 +463,7 @@ class CreateTestData extends Command | ||||
| 
 | ||||
|         $this->invoice_repo->markSent($invoice); | ||||
| 
 | ||||
|         CreateInvoiceInvitations::dispatch($invoice, $invoice->company); | ||||
|         $invoice->service()->createInvitations(); | ||||
| 
 | ||||
|         if (rand(0, 1)) { | ||||
|             $payment = PaymentFactory::create($client->company->id, $client->user->id); | ||||
|  | ||||
| @ -618,7 +618,7 @@ class InvoiceController extends BaseController | ||||
|                     return $this->errorResponse(['message' => 'Invoice cannot be marked as paid'], 400); | ||||
|                 } | ||||
| 
 | ||||
|                 $invoice = $invoice->markPaid(); | ||||
|                 $invoice = $invoice->service()->markPaid(); | ||||
| 
 | ||||
|                 if (!$bulk) { | ||||
|                     return $this->itemResponse($invoice); | ||||
|  | ||||
| @ -1,81 +0,0 @@ | ||||
| <?php | ||||
| /** | ||||
|  * Invoice Ninja (https://invoiceninja.com) | ||||
|  * | ||||
|  * @link https://github.com/invoiceninja/invoiceninja source repository | ||||
|  * | ||||
|  * @copyright Copyright (c) 2020. Invoice Ninja LLC (https://invoiceninja.com) | ||||
|  * | ||||
|  * @license https://opensource.org/licenses/AAL | ||||
|  */ | ||||
| 
 | ||||
| namespace App\Jobs\Invoice; | ||||
| 
 | ||||
| use App\Events\Payment\PaymentWasCreated; | ||||
| use App\Factory\CreditFactory; | ||||
| use App\Factory\PaymentFactory; | ||||
| use App\Jobs\Company\UpdateCompanyLedgerWithPayment; | ||||
| use App\Libraries\MultiDB; | ||||
| use App\Models\Company; | ||||
| use App\Models\Credit; | ||||
| use Illuminate\Bus\Queueable; | ||||
| use Illuminate\Contracts\Queue\ShouldQueue; | ||||
| use Illuminate\Foundation\Bus\Dispatchable; | ||||
| use Illuminate\Queue\InteractsWithQueue; | ||||
| use Illuminate\Queue\SerializesModels; | ||||
| 
 | ||||
| class MarkCreditPaid implements ShouldQueue | ||||
| { | ||||
|     use Dispatchable, InteractsWithQueue, Queueable, SerializesModels; | ||||
| 
 | ||||
|     public $credit; | ||||
| 
 | ||||
|     private $company; | ||||
|     /** | ||||
|      * Create a new job instance. | ||||
|      * | ||||
|      * @return void | ||||
|      */ | ||||
|     public function __construct(Credit $credit, Company $company) | ||||
|     { | ||||
|         $this->credit = $credit; | ||||
|         $this->company = $company; | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * Execute the job. | ||||
|      * | ||||
|      * | ||||
|      * @return void | ||||
|      */ | ||||
|     public function handle() | ||||
|     { | ||||
|         MultiDB::setDB($this->company->db); | ||||
| 
 | ||||
|         if($this->credit->status_id == Credit::STATUS_DRAFT) | ||||
|             $this->credit->markSent(); | ||||
| 
 | ||||
|         /* Create Payment */ | ||||
|         $payment = PaymentFactory::create($this->credit->company_id, $this->credit->user_id); | ||||
| 
 | ||||
|         $payment->amount = $this->credit->balance; | ||||
|         $payment->status_id = Credit::STATUS_COMPLETED; | ||||
|         $payment->client_id = $this->credit->client_id; | ||||
|         $payment->transaction_reference = ctrans('texts.manual_entry'); | ||||
|         /* Create a payment relationship to the invoice entity */ | ||||
|         $payment->save(); | ||||
| 
 | ||||
|         $payment->credits()->attach($this->credit->id, [ | ||||
|             'amount' => $payment->amount | ||||
|         ]); | ||||
| 
 | ||||
|         $this->credit->updateBalance($payment->amount*-1); | ||||
| 
 | ||||
|         /* Update Credit balance */ | ||||
|         event(new PaymentWasCreated($payment, $payment->company)); | ||||
| 
 | ||||
|         // UpdateCompanyLedgerWithPayment::dispatchNow($payment, ($payment->amount*-1), $this->company);
 | ||||
| 
 | ||||
|         return $this->credit; | ||||
|     } | ||||
| } | ||||
| @ -44,13 +44,13 @@ class StoreCredit implements ShouldQueue | ||||
|      */ | ||||
|     public function handle(CreditRepository $credit_repository): ?Credit | ||||
|     { | ||||
|         MultiDB::setDB($this->company->db); | ||||
|         // MultiDB::setDB($this->company->db);
 | ||||
| 
 | ||||
|         $payment = false; | ||||
|         // $payment = false;
 | ||||
| 
 | ||||
|         if ($payment) { | ||||
|             PaymentNotification::dispatch($payment, $payment->company); | ||||
|         } | ||||
|         // if ($payment) {
 | ||||
|         //     PaymentNotification::dispatch($payment, $payment->company);
 | ||||
|         // }
 | ||||
| 
 | ||||
|         return $this->credit; | ||||
|     } | ||||
|  | ||||
| @ -113,7 +113,7 @@ class ApplyPaymentToInvoice implements ShouldQueue | ||||
| 
 | ||||
|         $this->invoice->save(); | ||||
| 
 | ||||
|         $this->invoice = $this->invoice->applyNumber()->save(); | ||||
|         $this->invoice = $this->invoice->service()->applyNumber()->save(); | ||||
| 
 | ||||
|         return $this->invoice; | ||||
|     } | ||||
|  | ||||
| @ -1,67 +0,0 @@ | ||||
| <?php | ||||
| /** | ||||
|  * Invoice Ninja (https://invoiceninja.com) | ||||
|  * | ||||
|  * @link https://github.com/invoiceninja/invoiceninja source repository | ||||
|  * | ||||
|  * @copyright Copyright (c) 2020. Invoice Ninja LLC (https://invoiceninja.com) | ||||
|  * | ||||
|  * @license https://opensource.org/licenses/AAL | ||||
|  */ | ||||
| 
 | ||||
| namespace App\Jobs\Invoice; | ||||
| 
 | ||||
| use App\Factory\InvoiceInvitationFactory; | ||||
| use App\Libraries\MultiDB; | ||||
| use App\Models\Company; | ||||
| use App\Models\Invoice; | ||||
| use App\Models\InvoiceInvitation; | ||||
| use Illuminate\Bus\Queueable; | ||||
| use Illuminate\Contracts\Queue\ShouldQueue; | ||||
| use Illuminate\Foundation\Bus\Dispatchable; | ||||
| use Illuminate\Queue\InteractsWithQueue; | ||||
| use Illuminate\Queue\SerializesModels; | ||||
| use Symfony\Component\Debug\Exception\FatalThrowableError; | ||||
| 
 | ||||
| class CreateInvoiceInvitations implements ShouldQueue | ||||
| { | ||||
|     use Dispatchable, InteractsWithQueue, Queueable, SerializesModels; | ||||
| 
 | ||||
|     private $invoice; | ||||
| 
 | ||||
|     private $company; | ||||
| 
 | ||||
|     /** | ||||
|      * Create a new job instance. | ||||
|      * | ||||
|      * @return void | ||||
|      */ | ||||
|     public function __construct(Invoice $invoice, Company $company) | ||||
|     { | ||||
|         $this->invoice = $invoice; | ||||
|         $this->company = $company; | ||||
|     } | ||||
| 
 | ||||
|     public function handle() | ||||
|     { | ||||
|         MultiDB::setDB($this->company->db); | ||||
| 
 | ||||
|         $contacts = $this->invoice->client->contacts; | ||||
| 
 | ||||
|         $contacts->each(function ($contact) { | ||||
|             $invitation = InvoiceInvitation::whereCompanyId($this->invoice->company_id) | ||||
|                                         ->whereClientContactId($contact->id) | ||||
|                                         ->whereInvoiceId($this->invoice->id) | ||||
|                                         ->first(); | ||||
| 
 | ||||
|             if (!$invitation && $contact->send_invoice) { | ||||
|                 $ii = InvoiceInvitationFactory::create($this->invoice->company_id, $this->invoice->user_id); | ||||
|                 $ii->invoice_id = $this->invoice->id; | ||||
|                 $ii->client_contact_id = $contact->id; | ||||
|                 $ii->save(); | ||||
|             } elseif ($invitation && !$contact->send_invoice) { | ||||
|                 $invitation->delete(); | ||||
|             } | ||||
|         }); | ||||
|     } | ||||
| } | ||||
| @ -103,7 +103,7 @@ class UpdateInvoicePayment implements ShouldQueue | ||||
|                         $invoice->pivot->amount = $invoice->partial; | ||||
|                         $invoice->pivot->save(); | ||||
| 
 | ||||
|                         $invoice->updateBalance($invoice->partial*-1) | ||||
|                         $invoice->service()->updateBalance($invoice->partial*-1) | ||||
|                                 ->clearPartial() | ||||
|                                 ->setDueDate() | ||||
|                                 ->setStatus(Invoice::STATUS_PARTIAL) | ||||
|  | ||||
| @ -168,56 +168,6 @@ class Invoice extends BaseModel | ||||
|         return new InvoiceService($this); | ||||
|     } | ||||
| 
 | ||||
|     public function markPaid() :InvoiceService | ||||
|     { | ||||
|         return $this->service()->markPaid(); | ||||
|     } | ||||
| 
 | ||||
|     public function applyNumber() :InvoiceService | ||||
|     { | ||||
|         return $this->service()->applyNumber(); | ||||
|     } | ||||
| 
 | ||||
|     public function applyPayment($payment, $payment_amount) :InvoiceService | ||||
|     { | ||||
|         return $this->service()->applyPayment($payment, $payment_amount); | ||||
|     } | ||||
|      | ||||
|     public function updateBalance($balance_adjustment) :InvoiceService | ||||
|     { | ||||
|         return $this->service()->updateBalance($balance_adjustment); | ||||
|     } | ||||
| 
 | ||||
|     public function setDueDate() :InvoiceService | ||||
|     { | ||||
|         return $this->service->setDueDate(); | ||||
|     } | ||||
| 
 | ||||
|     public function setStatus($status) :InvoiceService | ||||
|     { | ||||
|         return $this->service()->setStatus($status); | ||||
|     } | ||||
| 
 | ||||
|     public function clearPartial() :InvoiceService | ||||
|     { | ||||
|         return $this->service()->clearPartial(); | ||||
|     } | ||||
| 
 | ||||
|     public function updatePartial($amount) :InvoiceService | ||||
|     { | ||||
|         return $this->service()->updatePartial($amount); | ||||
|     } | ||||
| 
 | ||||
|     public function markSent() :InvoiceService | ||||
|     { | ||||
|         return $this->service()->markSent(); | ||||
|     } | ||||
| 
 | ||||
|     public function markViewed() :InvoiceService | ||||
|     { | ||||
|         return $this->service()->markViewed(); | ||||
|     } | ||||
| 
 | ||||
|     /* ---------------- */ | ||||
|     /* Settings getters */ | ||||
|     /* ---------------- */ | ||||
|  | ||||
| @ -16,7 +16,6 @@ use App\Events\Invoice\InvoiceWasUpdated; | ||||
| use App\Factory\InvoiceInvitationFactory; | ||||
| use App\Helpers\Invoice\InvoiceSum; | ||||
| use App\Jobs\Company\UpdateCompanyLedgerWithInvoice; | ||||
| use App\Jobs\Invoice\CreateInvoiceInvitations; | ||||
| use App\Jobs\Product\UpdateOrCreateProduct; | ||||
| use App\Listeners\Invoice\CreateInvoiceInvitation; | ||||
| use App\Models\ClientContact; | ||||
| @ -100,7 +99,7 @@ class InvoiceRepository extends BaseRepository | ||||
| 
 | ||||
|         /* If no invitations have been created, this is our fail safe to maintain state*/ | ||||
|         if ($invoice->invitations->count() == 0) { | ||||
|             CreateInvoiceInvitations::dispatchNow($invoice, $invoice->company); | ||||
|             $invoice->service()->createInvitations(); | ||||
|         } | ||||
| 
 | ||||
|         $invoice = $invoice->calc()->getInvoice(); | ||||
| @ -114,7 +113,7 @@ class InvoiceRepository extends BaseRepository | ||||
|             UpdateCompanyLedgerWithInvoice::dispatchNow($invoice, ($finished_amount - $starting_amount), $invoice->company); | ||||
|         } | ||||
| 
 | ||||
|         $invoice = $invoice->applyNumber()->save(); | ||||
|         $invoice = $invoice->service()->applyNumber()->save(); | ||||
| 
 | ||||
|         if ($invoice->company->update_products !== false) { | ||||
|             UpdateOrCreateProduct::dispatch($invoice->line_items, $invoice, $invoice->company); | ||||
| @ -132,6 +131,6 @@ class InvoiceRepository extends BaseRepository | ||||
|      */ | ||||
|     public function markSent(Invoice $invoice) : ?Invoice | ||||
|     { | ||||
|         return $invoice->markSent()->save(); | ||||
|         return $invoice->service()->markSent()->save(); | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -94,7 +94,7 @@ class PaymentRepository extends BaseRepository | ||||
|                 $invoice = Invoice::whereId($paid_invoice['invoice_id'])->first(); | ||||
| 
 | ||||
|                 if ($invoice) { | ||||
|                     $invoice->applyPayment($payment, $paid_invoice['amount'])->save(); | ||||
|                     $invoice->service()->applyPayment($payment, $paid_invoice['amount'])->save(); | ||||
|                 } | ||||
|             } | ||||
|         } else { | ||||
|  | ||||
| @ -44,16 +44,16 @@ class ApplyPayment | ||||
|         if ($this->invoice->hasPartial()) { | ||||
|         //is partial and amount is exactly the partial amount
 | ||||
|             if ($this->invoice->partial == $payment_amount) { | ||||
|                 $this->invoice->clearPartial()->setDueDate()->setStatus(Invoice::STATUS_PARTIAL)->updateBalance($payment_amount*-1); | ||||
|                 $this->invoice->service()->clearPartial()->setDueDate()->setStatus(Invoice::STATUS_PARTIAL)->updateBalance($payment_amount*-1); | ||||
|             } elseif ($this->invoice->partial > 0 && $this->invoice->partial > $payment_amount) { //partial amount exists, but the amount is less than the partial amount
 | ||||
|                 $this->invoice->updatePartial($payment_amount*-1)->updateBalance($payment_amount*-1); | ||||
|                 $this->invoice->service()->updatePartial($payment_amount*-1)->updateBalance($payment_amount*-1); | ||||
|             } elseif ($this->invoice->partial > 0 && $this->invoice->partial < $payment_amount) { //partial exists and the amount paid is GREATER than the partial amount
 | ||||
|                 $this->invoice->clearPartial()->setDueDate()->setStatus(Invoice::STATUS_PARTIAL)->updateBalance($payment_amount*-1); | ||||
|                 $this->invoice->service()->clearPartial()->setDueDate()->setStatus(Invoice::STATUS_PARTIAL)->updateBalance($payment_amount*-1); | ||||
|             } | ||||
|         } elseif ($payment_amount == $this->invoice->balance) { //total invoice paid.
 | ||||
|             $this->invoice->clearPartial()->setStatus(Invoice::STATUS_PAID)->updateBalance($payment_amount*-1); | ||||
|             $this->invoice->service()->clearPartial()->setStatus(Invoice::STATUS_PAID)->updateBalance($payment_amount*-1); | ||||
|         } elseif($payment_amount < $this->invoice->balance) { //partial invoice payment made
 | ||||
|             $this->invoice->clearPartial()->updateBalance($payment_amount*-1); | ||||
|             $this->invoice->service()->clearPartial()->updateBalance($payment_amount*-1); | ||||
|         } | ||||
|          | ||||
|         return $this->invoice; | ||||
|  | ||||
							
								
								
									
										49
									
								
								app/Services/Invoice/CreateInvitations.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								app/Services/Invoice/CreateInvitations.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,49 @@ | ||||
| <?php | ||||
| /** | ||||
|  * Invoice Ninja (https://invoiceninja.com) | ||||
|  * | ||||
|  * @link https://github.com/invoiceninja/invoiceninja source repository | ||||
|  * | ||||
|  * @copyright Copyright (c) 2020. Invoice Ninja LLC (https://invoiceninja.com) | ||||
|  * | ||||
|  * @license https://opensource.org/licenses/AAL | ||||
|  */ | ||||
| 
 | ||||
| namespace App\Services\Invoice; | ||||
| 
 | ||||
| 
 | ||||
| use App\Factory\InvoiceInvitationFactory; | ||||
| use App\Models\Invoice; | ||||
| use App\Models\InvoiceInvitation; | ||||
| 
 | ||||
| class CreateInvitations | ||||
| { | ||||
| 
 | ||||
|     public function __construct() | ||||
|     { | ||||
|     } | ||||
| 
 | ||||
|   	public function __invoke($invoice) | ||||
|   	{ | ||||
| 
 | ||||
|         $contacts = $invoice->client->contacts; | ||||
| 
 | ||||
|         $contacts->each(function ($contact) use($invoice){ | ||||
|             $invitation = InvoiceInvitation::whereCompanyId($invoice->company_id) | ||||
|                                         ->whereClientContactId($contact->id) | ||||
|                                         ->whereInvoiceId($invoice->id) | ||||
|                                         ->first(); | ||||
| 
 | ||||
|             if (!$invitation && $contact->send_invoice) { | ||||
|                 $ii = InvoiceInvitationFactory::create($invoice->company_id, $invoice->user_id); | ||||
|                 $ii->invoice_id = $invoice->id; | ||||
|                 $ii->client_contact_id = $contact->id; | ||||
|                 $ii->save(); | ||||
|             } elseif ($invitation && !$contact->send_invoice) { | ||||
|                 $invitation->delete(); | ||||
|             } | ||||
|         }); | ||||
| 
 | ||||
|         return $invoice; | ||||
|   	} | ||||
| }	 | ||||
| @ -15,6 +15,8 @@ use App\Models\Invoice; | ||||
| use App\Models\Payment; | ||||
| use App\Services\Client\ClientService; | ||||
| use App\Services\Invoice\ApplyNumber; | ||||
| use App\Services\Invoice\ApplyPayment; | ||||
| use App\Services\Invoice\CreateInvitations; | ||||
| use App\Services\Invoice\MarkInvoicePaid; | ||||
| use App\Services\Invoice\MarkSent; | ||||
| use App\Services\Invoice\UpdateBalance; | ||||
| @ -92,6 +94,15 @@ class InvoiceService | ||||
|         return $this; | ||||
|     } | ||||
| 
 | ||||
|     public function createInvitations() | ||||
|     { | ||||
|         $create_invitation = new CreateInvitations(); | ||||
| 
 | ||||
|         $this->invoice = $create_invitation($this->invoice); | ||||
| 
 | ||||
|         return $this; | ||||
|     } | ||||
| 
 | ||||
|     public function markSent() | ||||
|     { | ||||
|         $mark_sent = new MarkSent($this->invoice->client); | ||||
| @ -149,9 +160,6 @@ class InvoiceService | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|     /** | ||||
|      * Saves the invoice | ||||
|      * @return Invoice object  | ||||
|  | ||||
| @ -48,7 +48,10 @@ class MarkPaid | ||||
|             'amount' => $payment->amount | ||||
|         ]); | ||||
| 
 | ||||
|         $invoice->updateBalance($payment->amount*-1)->save(); | ||||
|         $invoice->service() | ||||
|                 ->updateBalance($payment->amount*-1) | ||||
|                 ->setStatus(Invoice::STATUS_PAID) | ||||
|                 ->save(); | ||||
| 
 | ||||
|         /* Update Invoice balance */ | ||||
|         event(new PaymentWasCreated($payment, $payment->company)); | ||||
|  | ||||
| @ -43,7 +43,7 @@ class MarkSent | ||||
| 
 | ||||
|         $this->client->updateBalance($invoice->balance)->save(); | ||||
| 
 | ||||
|         $invoice->applyNumber()->save(); | ||||
|         $invoice->service()->applyNumber()->save(); | ||||
| 
 | ||||
|         UpdateCompanyLedgerWithInvoice::dispatchNow($invoice, $invoice->balance, $invoice->company); | ||||
| 
 | ||||
|  | ||||
| @ -225,12 +225,12 @@ trait Refundable | ||||
|         { | ||||
|         	$invoice = Invoice::find($refunded_invoice['invoice_id']); | ||||
| 
 | ||||
|         	$invoice->updateBalance($refunded_invoice['amount'])->save(); | ||||
|         	$invoice->service()->updateBalance($refunded_invoice['amount'])->save(); | ||||
| 
 | ||||
|         	if($invoice->amount == $invoice->balance) | ||||
|         		$invoice->setStatus(Invoice::STATUS_SENT); | ||||
|         		$invoice->service()->setStatus(Invoice::STATUS_SENT); | ||||
|         	else | ||||
|         		$invoice->setStatus(Invoice::STATUS_PARTIAL); | ||||
|         		$invoice->service()->setStatus(Invoice::STATUS_PARTIAL); | ||||
| 
 | ||||
|         	$client = $invoice->client; | ||||
| 
 | ||||
|  | ||||
| @ -7,7 +7,6 @@ use App\DataMapper\DefaultSettings; | ||||
| use App\Events\Invoice\InvoiceWasMarkedSent; | ||||
| use App\Factory\InvoiceInvitationFactory; | ||||
| use App\Jobs\Account\CreateAccount; | ||||
| use App\Listeners\Invoice\CreateInvoiceInvitations; | ||||
| use App\Models\Account; | ||||
| use App\Models\Client; | ||||
| use App\Models\Invoice; | ||||
|  | ||||
| @ -295,8 +295,7 @@ class PaymentTest extends TestCase | ||||
| 
 | ||||
|         $this->invoice = $this->invoice_calc->getInvoice(); | ||||
|         $this->invoice->save(); | ||||
|         $this->invoice->markSent(); | ||||
|         $this->invoice->save(); | ||||
|         $this->invoice->service()->markSent()->save(); | ||||
| 
 | ||||
| 
 | ||||
|         $data = [ | ||||
| @ -373,7 +372,7 @@ class PaymentTest extends TestCase | ||||
| 
 | ||||
|         $this->invoice = $this->invoice_calc->getInvoice(); | ||||
|         $this->invoice->save(); | ||||
|         $this->invoice->markSent(); | ||||
|         $this->invoice->service()->markSent()->save(); | ||||
|         $this->invoice->is_deleted = false; | ||||
|         $this->invoice->save(); | ||||
| 
 | ||||
| @ -445,8 +444,7 @@ class PaymentTest extends TestCase | ||||
| 
 | ||||
|         $this->invoice = $this->invoice_calc->getInvoice(); | ||||
|         $this->invoice->save(); | ||||
|         $this->invoice->markSent(); | ||||
|         $this->invoice->save(); | ||||
|         $this->invoice->service()->markSent()->save(); | ||||
| 
 | ||||
| 
 | ||||
|         $data = [ | ||||
| @ -506,8 +504,7 @@ class PaymentTest extends TestCase | ||||
| 
 | ||||
|         $this->invoice = $this->invoice_calc->getInvoice(); | ||||
|         $this->invoice->save(); | ||||
|         $this->invoice->markSent(); | ||||
|         $this->invoice->save(); | ||||
|         $this->invoice->service()->markSent()->save(); | ||||
| 
 | ||||
| 
 | ||||
|         $data = [ | ||||
| @ -563,8 +560,7 @@ class PaymentTest extends TestCase | ||||
| 
 | ||||
|         $this->invoice = $this->invoice_calc->getInvoice(); | ||||
|         $this->invoice->save(); | ||||
|         $this->invoice->markSent(); | ||||
|         $this->invoice->save(); | ||||
|         $this->invoice->service()->markSent()->save(); | ||||
| 
 | ||||
| 
 | ||||
|         $data = [ | ||||
| @ -630,8 +626,7 @@ class PaymentTest extends TestCase | ||||
| 
 | ||||
|         $this->invoice = $this->invoice_calc->getInvoice(); | ||||
|         $this->invoice->save(); | ||||
|         $this->invoice->markSent(); | ||||
|         $this->invoice->save(); | ||||
|         $this->invoice->service()->markSent()->save(); | ||||
| 
 | ||||
|         $payment = PaymentFactory::create($this->company->id, $this->user->id); | ||||
|         $payment->amount = 10; | ||||
| @ -690,8 +685,7 @@ class PaymentTest extends TestCase | ||||
| 
 | ||||
|         $this->invoice = $this->invoice_calc->getInvoice(); | ||||
|         $this->invoice->save(); | ||||
|         $this->invoice->markSent(); | ||||
|         $this->invoice->save(); | ||||
|         $this->invoice->service()->markSent()->save(); | ||||
| 
 | ||||
|         $payment = PaymentFactory::create($this->company->id, $this->user->id); | ||||
|         $payment->amount = 10; | ||||
| @ -757,7 +751,7 @@ class PaymentTest extends TestCase | ||||
| 
 | ||||
|         $this->invoice = $this->invoice_calc->getInvoice(); | ||||
|         $this->invoice->save(); | ||||
|         $this->invoice->markSent(); | ||||
|         $this->invoice->service()->markSent()->save(); | ||||
| 
 | ||||
|         $data = [ | ||||
|             'amount' => 15.0, | ||||
| @ -810,7 +804,7 @@ class PaymentTest extends TestCase | ||||
| 
 | ||||
|         $this->invoice = $this->invoice_calc->getInvoice(); | ||||
|         $this->invoice->save(); | ||||
|         $this->invoice->markSent(); | ||||
|         $this->invoice->service()->markSent()->save(); | ||||
| 
 | ||||
| 
 | ||||
|         $data = [ | ||||
| @ -870,7 +864,7 @@ class PaymentTest extends TestCase | ||||
| 
 | ||||
|         $this->invoice = $this->invoice_calc->getInvoice(); | ||||
|         $this->invoice->save(); | ||||
|         $this->invoice->markSent(); | ||||
|         $this->invoice->service()->markSent()->save(); | ||||
| 
 | ||||
|         $data = [ | ||||
|             'amount' => 20.0, | ||||
| @ -914,7 +908,7 @@ class PaymentTest extends TestCase | ||||
| 
 | ||||
|         $this->invoice = $this->invoice_calc->getInvoice(); | ||||
|         $this->invoice->save(); | ||||
|         $this->invoice->markSent(); | ||||
|         $this->invoice->service()->markSent()->save(); | ||||
| 
 | ||||
| 
 | ||||
|         $data = [ | ||||
|  | ||||
| @ -45,7 +45,7 @@ class CheckRemindersTest extends TestCase | ||||
|         $settings->num_days_reminder3 = 1; | ||||
| 
 | ||||
|         $this->company->settings = $settings; | ||||
|         $this->invoice->markSent(); | ||||
|         $this->invoice->service()->markSent(); | ||||
|         $this->invoice->setReminder($settings); | ||||
| 
 | ||||
|         $this->assertEquals(0, Carbon::now()->addDays(7)->diffInDays($this->invoice->next_send_date)); | ||||
| @ -68,8 +68,7 @@ class CheckRemindersTest extends TestCase | ||||
|         $settings->num_days_reminder3 = 1; | ||||
| 
 | ||||
|         $this->company->settings = $settings; | ||||
|         $this->invoice->markSent(); | ||||
|         $this->invoice->setStatus(Invoice::STATUS_PAID); | ||||
|         $this->invoice->service()->markSent()->setStatus(Invoice::STATUS_PAID); | ||||
|         $this->invoice->setReminder($settings); | ||||
| 
 | ||||
|         $this->assertEquals($this->invoice->next_send_date, null); | ||||
| @ -92,7 +91,7 @@ class CheckRemindersTest extends TestCase | ||||
|         $settings->num_days_reminder3 = 1; | ||||
| 
 | ||||
|         $this->company->settings = $settings; | ||||
|         $this->invoice->markSent(); | ||||
|         $this->invoice->service()->markSent(); | ||||
|         $this->invoice->setReminder($settings); | ||||
| 
 | ||||
|         $this->assertEquals(0, Carbon::parse($this->invoice->due_date)->subDays(29)->diffInDays($this->invoice->next_send_date)); | ||||
| @ -115,7 +114,7 @@ class CheckRemindersTest extends TestCase | ||||
|         $settings->num_days_reminder3 = 1; | ||||
| 
 | ||||
|         $this->company->settings = $settings; | ||||
|         $this->invoice->markSent(); | ||||
|         $this->invoice->service()->markSent(); | ||||
|         $this->invoice->setReminder($settings); | ||||
| 
 | ||||
|         $this->assertEquals(0, Carbon::parse($this->invoice->due_date)->addDays(1)->diffInDays($this->invoice->next_send_date)); | ||||
| @ -138,7 +137,7 @@ class CheckRemindersTest extends TestCase | ||||
|         $settings->num_days_reminder3 = 1; | ||||
| 
 | ||||
|         $this->company->settings = $settings; | ||||
|         $this->invoice->markSent(); | ||||
|         $this->invoice->service()->markSent(); | ||||
|         $this->invoice->setReminder($settings); | ||||
| 
 | ||||
|         $this->assertEquals($this->invoice->next_send_date, null); | ||||
| @ -161,7 +160,7 @@ class CheckRemindersTest extends TestCase | ||||
|         $settings->num_days_reminder3 = 0; | ||||
| 
 | ||||
|         $this->company->settings = $settings; | ||||
|         $this->invoice->markSent(); | ||||
|         $this->invoice->service()->markSent(); | ||||
|         $this->invoice->setReminder($settings); | ||||
| 
 | ||||
|         $this->assertEquals($this->invoice->next_send_date, null); | ||||
|  | ||||
| @ -42,7 +42,7 @@ class MarkInvoicePaidTest extends TestCase | ||||
|         $client = $invoice->client; | ||||
|         $client_balance = $client->balance; | ||||
| 
 | ||||
|         $this->invoice->markPaid(); | ||||
|         $this->invoice->service()->markPaid(); | ||||
| 
 | ||||
|         $invoice = Invoice::find($this->invoice->id); | ||||
|         $client = $invoice->client; | ||||
|  | ||||
| @ -37,7 +37,7 @@ class UpdateCompanyLedgerTest extends TestCase | ||||
|     public function testPaymentIsPresentInLedger() | ||||
|     { | ||||
| 
 | ||||
|         $invoice = $this->invoice->markPaid()->save(); | ||||
|         $invoice = $this->invoice->service()->markPaid()->save(); | ||||
| 
 | ||||
|         $ledger = CompanyLedger::whereClientId($invoice->client_id) | ||||
|                                 ->whereCompanyId($invoice->company_id) | ||||
|  | ||||
| @ -23,7 +23,6 @@ use App\Factory\InvoiceItemFactory; | ||||
| use App\Factory\InvoiceToRecurringInvoiceFactory; | ||||
| use App\Helpers\Invoice\InvoiceSum; | ||||
| use App\Jobs\Company\UpdateCompanyLedgerWithInvoice; | ||||
| use App\Jobs\Invoice\CreateInvoiceInvitations; | ||||
| use App\Models\Client; | ||||
| use App\Models\CompanyGateway; | ||||
| use App\Models\CompanyToken; | ||||
| @ -179,7 +178,7 @@ trait MockAccountData | ||||
| 
 | ||||
|         $this->invoice->save(); | ||||
| 
 | ||||
|         $this->invoice->markSent(); | ||||
|         $this->invoice->service()->markSent(); | ||||
| 
 | ||||
|         $this->credit = CreditFactory::create($this->company->id,$this->user->id); | ||||
|         $this->credit->client_id = $this->client->id; | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user