This commit is contained in:
denisdulici 2017-10-31 22:41:06 +03:00
parent 0c1e026bb5
commit 6d246f03e4
12 changed files with 74 additions and 21 deletions

View File

@ -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));

View File

@ -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));

View 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();
}
}

View File

@ -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',

View File

@ -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',

View File

@ -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',

View File

@ -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">

View File

@ -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">

View File

@ -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']) !!}

View File

@ -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">

View File

@ -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">

View File

@ -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>