fixed #47
This commit is contained in:
parent
0c1e026bb5
commit
6d246f03e4
@ -138,6 +138,11 @@ class Invoices extends ApiController
|
||||
|
||||
InvoiceHistory::create($request->input());
|
||||
|
||||
// Update next invoice number
|
||||
$next = setting('general.invoice_number_next', 1) + 1;
|
||||
setting(['general.invoice_number_next' => $next]);
|
||||
setting()->save();
|
||||
|
||||
// Fire the event to make it extendible
|
||||
event(new InvoiceCreated($invoice));
|
||||
|
||||
|
@ -232,7 +232,13 @@ class Invoices extends Controller
|
||||
|
||||
$taxes = Tax::enabled()->pluck('name', 'id');
|
||||
|
||||
return view('incomes.invoices.create', compact('customers', 'currencies', 'items', 'taxes'));
|
||||
// Generate next invoice number
|
||||
$prefix = setting('general.invoice_number_prefix', 'INV-');
|
||||
$next = setting('general.invoice_number_next', '1');
|
||||
$digit = setting('general.invoice_number_digit', '5');
|
||||
$number = $prefix . str_pad($next, $digit, '0', STR_PAD_LEFT);
|
||||
|
||||
return view('incomes.invoices.create', compact('customers', 'currencies', 'items', 'taxes', 'number'));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -345,6 +351,11 @@ class Invoices extends Controller
|
||||
|
||||
InvoiceHistory::create($request->all());
|
||||
|
||||
// Update next invoice number
|
||||
$next = setting('general.invoice_number_next', 1) + 1;
|
||||
setting(['general.invoice_number_next' => $next]);
|
||||
setting()->save();
|
||||
|
||||
// Fire the event to make it extendible
|
||||
event(new InvoiceCreated($invoice));
|
||||
|
||||
|
36
app/Listeners/Updates/Version108.php
Normal file
36
app/Listeners/Updates/Version108.php
Normal file
@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
namespace App\Listeners\Updates;
|
||||
|
||||
use App\Events\UpdateFinished;
|
||||
|
||||
class Version108 extends Listener
|
||||
{
|
||||
const ALIAS = 'core';
|
||||
|
||||
const VERSION = '1.0.8';
|
||||
|
||||
/**
|
||||
* Handle the event.
|
||||
*
|
||||
* @param $event
|
||||
* @return void
|
||||
*/
|
||||
public function handle(UpdateFinished $event)
|
||||
{
|
||||
// Check if should listen
|
||||
if (!$this->check($event)) {
|
||||
return;
|
||||
}
|
||||
|
||||
setting(['general.invoice_number_prefix' => setting('general.invoice_prefix', 'INV-')]);
|
||||
setting(['general.invoice_number_digit' => setting('general.invoice_digit', '5')]);
|
||||
setting(['general.invoice_number_next' => setting('general.invoice_start', '1')]);
|
||||
|
||||
setting()->forget('general.invoice_prefix');
|
||||
setting()->forget('general.invoice_digit');
|
||||
setting()->forget('general.invoice_start');
|
||||
|
||||
setting()->save();
|
||||
}
|
||||
}
|
@ -16,6 +16,7 @@ class EventServiceProvider extends ServiceProvider
|
||||
'App\Events\UpdateFinished' => [
|
||||
'App\Listeners\Updates\Version106',
|
||||
'App\Listeners\Updates\Version107',
|
||||
'App\Listeners\Updates\Version108',
|
||||
],
|
||||
'Illuminate\Auth\Events\Login' => [
|
||||
'App\Listeners\Auth\Login',
|
||||
|
@ -30,9 +30,9 @@ class Settings extends Seeder
|
||||
'general.date_format' => 'd M Y',
|
||||
'general.date_separator' => 'space',
|
||||
'general.timezone' => 'Europe/London',
|
||||
'general.invoice_prefix' => 'INV-',
|
||||
'general.invoice_digit' => '5',
|
||||
'general.invoice_start' => '1',
|
||||
'general.invoice_number_prefix' => 'INV-',
|
||||
'general.invoice_number_digit' => '5',
|
||||
'general.invoice_number_next' => '1',
|
||||
'general.default_payment_method' => 'offlinepayment.cash.1',
|
||||
'general.email_protocol' => 'mail',
|
||||
'general.email_sendmail_path' => '/usr/sbin/sendmail -bs',
|
||||
|
@ -24,10 +24,10 @@ return [
|
||||
],
|
||||
'invoice' => [
|
||||
'tab' => 'Invoice',
|
||||
'prefix' => 'Invoice Prefix',
|
||||
'digit' => 'Invoice Number Digit',
|
||||
'start' => 'Invoice Start Number',
|
||||
'logo' => 'Invoice Logo',
|
||||
'prefix' => 'Prefix',
|
||||
'digit' => 'Number Digit',
|
||||
'next' => 'Next Number',
|
||||
'logo' => 'Logo',
|
||||
],
|
||||
'default' => [
|
||||
'tab' => 'Defaults',
|
||||
|
@ -7,9 +7,9 @@
|
||||
<div class="row invoice-header">
|
||||
<div class="col-xs-7">
|
||||
@if (setting('general.invoice_logo'))
|
||||
<img src="{{ asset(setting('general.invoice_logo')) }}" class="invoice-logo" />
|
||||
<img src="{{ Storage::url(setting('general.invoice_logo')) }}" class="invoice-logo" />
|
||||
@else
|
||||
<img src="{{ asset(setting('general.company_logo')) }}" class="invoice-logo" />
|
||||
<img src="{{ Storage::url(setting('general.company_logo')) }}" class="invoice-logo" />
|
||||
@endif
|
||||
</div>
|
||||
<div class="col-xs-5 invoice-company">
|
||||
|
@ -10,9 +10,9 @@
|
||||
<div class="row invoice-header">
|
||||
<div class="col-xs-7">
|
||||
@if (setting('general.invoice_logo'))
|
||||
<img src="{{ asset(setting('general.invoice_logo')) }}" class="invoice-logo" />
|
||||
<img src="{{ Storage::url(setting('general.invoice_logo')) }}" class="invoice-logo" />
|
||||
@else
|
||||
<img src="{{ asset(setting('general.company_logo')) }}" class="invoice-logo" />
|
||||
<img src="{{ Storage::url(setting('general.company_logo')) }}" class="invoice-logo" />
|
||||
@endif
|
||||
</div>
|
||||
<div class="col-xs-5 invoice-company">
|
||||
|
@ -16,9 +16,9 @@
|
||||
|
||||
{{ Form::textGroup('due_at', trans('invoices.due_date'), 'calendar',['id' => 'due_at', 'class' => 'form-control', 'required' => 'required', 'data-inputmask' => '\'alias\': \'yyyy/mm/dd\'', 'data-mask' => '']) }}
|
||||
|
||||
{{ Form::textGroup('invoice_number', trans('invoices.invoice_number'), 'file-text-o') }}
|
||||
{{ Form::textGroup('invoice_number', trans('invoices.invoice_number'), 'file-text-o', ['required' => 'required'], $number) }}
|
||||
|
||||
{{ Form::textGroup('order_number', trans('invoices.order_number'), 'shopping-cart',[]) }}
|
||||
{{ Form::textGroup('order_number', trans('invoices.order_number'), 'shopping-cart', []) }}
|
||||
|
||||
<div class="form-group col-md-12">
|
||||
{!! Form::label('items', 'Items', ['class' => 'control-label']) !!}
|
||||
|
@ -7,9 +7,9 @@
|
||||
<div class="row invoice-header">
|
||||
<div class="col-xs-7">
|
||||
@if (setting('general.invoice_logo'))
|
||||
<img src="{{ asset(setting('general.invoice_logo')) }}" class="invoice-logo" />
|
||||
<img src="{{ Storage::url(setting('general.invoice_logo')) }}" class="invoice-logo" />
|
||||
@else
|
||||
<img src="{{ asset(setting('general.company_logo')) }}" class="invoice-logo" />
|
||||
<img src="{{ Storage::url(setting('general.company_logo')) }}" class="invoice-logo" />
|
||||
@endif
|
||||
</div>
|
||||
<div class="col-xs-5 invoice-company">
|
||||
|
@ -10,9 +10,9 @@
|
||||
<div class="row invoice-header">
|
||||
<div class="col-xs-7">
|
||||
@if (setting('general.invoice_logo'))
|
||||
<img src="{{ asset(setting('general.invoice_logo')) }}" class="invoice-logo" />
|
||||
<img src="{{ Storage::url(setting('general.invoice_logo')) }}" class="invoice-logo" />
|
||||
@else
|
||||
<img src="{{ asset(setting('general.company_logo')) }}" class="invoice-logo" />
|
||||
<img src="{{ Storage::url(setting('general.company_logo')) }}" class="invoice-logo" />
|
||||
@endif
|
||||
</div>
|
||||
<div class="col-xs-5 invoice-company">
|
||||
|
@ -50,11 +50,11 @@
|
||||
</div>
|
||||
|
||||
<div class="tab-pane tab-margin" id="invoice">
|
||||
{{ Form::textGroup('invoice_prefix', trans('settings.invoice.prefix'), 'font', []) }}
|
||||
{{ Form::textGroup('invoice_number_prefix', trans('settings.invoice.prefix'), 'font', []) }}
|
||||
|
||||
{{ Form::textGroup('invoice_digit', trans('settings.invoice.digit'), 'text-width', []) }}
|
||||
{{ Form::textGroup('invoice_number_digit', trans('settings.invoice.digit'), 'text-width', []) }}
|
||||
|
||||
{{ Form::textGroup('invoice_start', trans('settings.invoice.start'), 'chevron-right', []) }}
|
||||
{{ Form::textGroup('invoice_number_next', trans('settings.invoice.next'), 'chevron-right', []) }}
|
||||
|
||||
{{ Form::fileGroup('invoice_logo', trans('settings.invoice.logo')) }}
|
||||
</div>
|
||||
|
Loading…
x
Reference in New Issue
Block a user