mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-05-24 02:14:21 -04:00
Fixes for payment numbers (#3384)
This commit is contained in:
parent
cb9e4b26e5
commit
0b2435af2a
@ -115,6 +115,8 @@ class CompanySettings extends BaseSettings {
|
||||
public $invoice_design_id = '1';
|
||||
public $quote_design_id = '1';
|
||||
public $invoice_footer = '';
|
||||
public $credit_footer = '';
|
||||
public $credit_terms = '';
|
||||
public $invoice_labels = '';
|
||||
public $tax_name1 = '';
|
||||
public $tax_rate1 = 0;
|
||||
@ -336,6 +338,8 @@ class CompanySettings extends BaseSettings {
|
||||
'invoice_footer' => 'string',
|
||||
'invoice_labels' => 'string',
|
||||
'invoice_terms' => 'string',
|
||||
'credit_footer' => 'string',
|
||||
'credit_terms' => 'string',
|
||||
'name' => 'string',
|
||||
'payment_terms' => 'integer',
|
||||
'payment_type_id' => 'string',
|
||||
|
@ -11,11 +11,12 @@
|
||||
|
||||
namespace App\Factory;
|
||||
|
||||
use App\Models\Client;
|
||||
use App\Models\Credit;
|
||||
|
||||
class CreditFactory
|
||||
{
|
||||
public static function create(int $company_id, int $user_id) :Credit
|
||||
public static function create(int $company_id, int $user_id, object $settings, Client $client) :Credit
|
||||
{
|
||||
$credit = new Credit();
|
||||
$credit->status_id = Credit::STATUS_DRAFT;
|
||||
@ -23,9 +24,9 @@ class CreditFactory
|
||||
$credit->discount = 0;
|
||||
$credit->is_amount_discount = true;
|
||||
$credit->po_number = '';
|
||||
$credit->footer = '';
|
||||
$credit->terms = '';
|
||||
$credit->public_notes = '';
|
||||
$credit->footer = strlen($settings->credit_footer) > 0 ? $settings->credit_footer : '';
|
||||
$credit->terms = strlen($settings->credit_terms) > 0 ? $settings->credit_terms : '';
|
||||
$credit->public_notes = strlen($client->public_notes) > 0 ? $client->public_notes : '';
|
||||
$credit->private_notes = '';
|
||||
$credit->date = null;
|
||||
$credit->due_date = null;
|
||||
|
@ -13,12 +13,13 @@ namespace App\Factory;
|
||||
|
||||
use App\DataMapper\ClientSettings;
|
||||
use App\DataMapper\CompanySettings;
|
||||
use App\Models\Client;
|
||||
use App\Models\Invoice;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
|
||||
class InvoiceFactory
|
||||
{
|
||||
public static function create(int $company_id, int $user_id) :Invoice
|
||||
public static function create(int $company_id, int $user_id, object $settings, Client $client) :Invoice
|
||||
{
|
||||
$invoice = new Invoice();
|
||||
$invoice->status_id = Invoice::STATUS_DRAFT;
|
||||
@ -26,9 +27,9 @@ class InvoiceFactory
|
||||
$invoice->discount = 0;
|
||||
$invoice->is_amount_discount = true;
|
||||
$invoice->po_number = '';
|
||||
$invoice->footer = '';
|
||||
$invoice->terms = '';
|
||||
$invoice->public_notes = '';
|
||||
$invoice->footer = strlen($settings->invoice_footer) > 0 ? $settings->invoice_footer : '';
|
||||
$invoice->terms = strlen($settings->invoice_terms) > 0 ? $settings->invoice_terms : '';
|
||||
$invoice->public_notes = strlen($client->public_notes) > 0 ? $client->public_notes : '';
|
||||
$invoice->private_notes = '';
|
||||
$invoice->date = null;
|
||||
$invoice->due_date = null;
|
||||
|
@ -13,12 +13,13 @@ namespace App\Factory;
|
||||
|
||||
use App\DataMapper\ClientSettings;
|
||||
use App\DataMapper\CompanySettings;
|
||||
use App\Models\Client;
|
||||
use App\Models\Quote;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
|
||||
class QuoteFactory
|
||||
{
|
||||
public static function create(int $company_id, int $user_id) :Quote
|
||||
public static function create(int $company_id, int $user_id, object $settings, Client $client) :Quote
|
||||
{
|
||||
$quote = new Quote();
|
||||
$quote->status_id = Quote::STATUS_DRAFT;
|
||||
@ -26,9 +27,9 @@ class QuoteFactory
|
||||
$quote->discount = 0;
|
||||
$quote->is_amount_discount = true;
|
||||
$quote->po_number = '';
|
||||
$quote->footer = '';
|
||||
$quote->terms = '';
|
||||
$quote->public_notes = '';
|
||||
$quote->footer = strlen($settings->quote_footer) > 0 ? $settings->quote_footer : '';
|
||||
$quote->terms = strlen($settings->quote_terms) > 0 ? $settings->quote_terms : '';
|
||||
$quote->public_notes = strlen($client->public_notes) > 0 ? $client->public_notes : '';
|
||||
$quote->private_notes = '';
|
||||
$quote->date = null;
|
||||
$quote->due_date = null;
|
||||
|
@ -29,6 +29,7 @@ use App\Jobs\Invoice\CreateInvoicePdf;
|
||||
use App\Jobs\Invoice\EmailInvoice;
|
||||
use App\Jobs\Invoice\StoreInvoice;
|
||||
use App\Jobs\Invoice\ZipInvoices;
|
||||
use App\Models\Client;
|
||||
use App\Models\Invoice;
|
||||
use App\Models\InvoiceInvitation;
|
||||
use App\Repositories\InvoiceRepository;
|
||||
@ -203,7 +204,10 @@ class InvoiceController extends BaseController {
|
||||
*
|
||||
*/
|
||||
public function store(StoreInvoiceRequest $request) {
|
||||
$invoice = $this->invoice_repo->save($request->all(), InvoiceFactory::create(auth()->user()->company()->id, auth()->user()->id));
|
||||
|
||||
$client = Client::find($request->input('client_id'));
|
||||
|
||||
$invoice = $this->invoice_repo->save($request->all(), InvoiceFactory::create(auth()->user()->company()->id, auth()->user()->id), $client->getMergedSettings(), $client);
|
||||
|
||||
$invoice = StoreInvoice::dispatchNow($invoice, $request->all(), $invoice->company);//todo potentially this may return mixed ie PDF/$invoice... need to revisit when we implement UI
|
||||
|
||||
|
@ -18,9 +18,12 @@ use App\Models\Payment;
|
||||
use App\Services\AbstractService;
|
||||
use App\Services\Client\ClientService;
|
||||
use App\Services\Payment\PaymentService;
|
||||
use App\Utils\Traits\GeneratesCounter;
|
||||
|
||||
class MarkPaid extends AbstractService
|
||||
{
|
||||
use GeneratesCounter;
|
||||
|
||||
private $client_service;
|
||||
|
||||
private $invoice;
|
||||
@ -42,6 +45,7 @@ class MarkPaid extends AbstractService
|
||||
$payment = PaymentFactory::create($this->invoice->company_id, $this->invoice->user_id);
|
||||
|
||||
$payment->amount = $this->invoice->balance;
|
||||
$payment->number = $this->getNextPaymentNumber($payment->client);
|
||||
$payment->status_id = Payment::STATUS_COMPLETED;
|
||||
$payment->client_id = $this->invoice->client_id;
|
||||
$payment->transaction_reference = ctrans('texts.manual_entry');
|
||||
|
Loading…
x
Reference in New Issue
Block a user