edit column re-factoring dynamic
This commit is contained in:
parent
4bbed4d946
commit
756e494ff3
@ -5,7 +5,7 @@ namespace App\Http\Controllers\Modals;
|
|||||||
use App\Abstracts\Http\Controller;
|
use App\Abstracts\Http\Controller;
|
||||||
use App\Http\Requests\Setting\Setting as Request;
|
use App\Http\Requests\Setting\Setting as Request;
|
||||||
|
|
||||||
class InvoiceItemColumns extends Controller
|
class DocumentItemColumns extends Controller
|
||||||
{
|
{
|
||||||
public $skip_keys = ['company_id', '_method', '_token', '_prefix', '_template'];
|
public $skip_keys = ['company_id', '_method', '_token', '_prefix', '_template'];
|
||||||
|
|
||||||
@ -25,21 +25,23 @@ class InvoiceItemColumns extends Controller
|
|||||||
*/
|
*/
|
||||||
public function edit()
|
public function edit()
|
||||||
{
|
{
|
||||||
|
$type = request()->get('type', 'invoice');
|
||||||
|
|
||||||
$item_names = [
|
$item_names = [
|
||||||
'settings.invoice.item' => trans('settings.invoice.item'),
|
'settings.invoice.item' => trans('settings.' . $type . '.item'),
|
||||||
'settings.invoice.product' => trans('settings.invoice.product'),
|
'settings.invoice.product' => trans('settings.' . $type . '.product'),
|
||||||
'settings.invoice.service' => trans('settings.invoice.service'),
|
'settings.invoice.service' => trans('settings.' . $type . '.service'),
|
||||||
'custom' => trans('settings.invoice.custom'),
|
'custom' => trans('settings.invoice.custom'),
|
||||||
];
|
];
|
||||||
|
|
||||||
$price_names = [
|
$price_names = [
|
||||||
'settings.invoice.price' => trans('settings.invoice.price'),
|
'settings.invoice.price' => trans('settings.' . $type . '.price'),
|
||||||
'settings.invoice.rate' => trans('settings.invoice.rate'),
|
'settings.invoice.rate' => trans('settings.' . $type . '.rate'),
|
||||||
'custom' => trans('settings.invoice.custom'),
|
'custom' => trans('settings.invoice.custom'),
|
||||||
];
|
];
|
||||||
|
|
||||||
$quantity_names = [
|
$quantity_names = [
|
||||||
'settings.invoice.quantity' => trans('settings.invoice.quantity'),
|
'settings.invoice.quantity' => trans('settings.' . $type . '.quantity'),
|
||||||
'custom' => trans('settings.invoice.custom'),
|
'custom' => trans('settings.invoice.custom'),
|
||||||
];
|
];
|
||||||
|
|
||||||
@ -52,7 +54,8 @@ class InvoiceItemColumns extends Controller
|
|||||||
'90' => trans('settings.invoice.due_days', ['days' => 90]),
|
'90' => trans('settings.invoice.due_days', ['days' => 90]),
|
||||||
];
|
];
|
||||||
|
|
||||||
$html = view('modals.invoices.item_columns', compact(
|
$html = view('modals.documents.item_columns', compact(
|
||||||
|
'type',
|
||||||
'item_names',
|
'item_names',
|
||||||
'price_names',
|
'price_names',
|
||||||
'quantity_names',
|
'quantity_names',
|
@ -6,14 +6,17 @@ use Illuminate\View\Component;
|
|||||||
|
|
||||||
class EditItemColumns extends Component
|
class EditItemColumns extends Component
|
||||||
{
|
{
|
||||||
|
/* string */
|
||||||
|
public $type;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a new component instance.
|
* Create a new component instance.
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function __construct()
|
public function __construct(string $type = 'invoice')
|
||||||
{
|
{
|
||||||
//
|
$this->type = $type;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -34,8 +34,8 @@ export default {
|
|||||||
},
|
},
|
||||||
type: {
|
type: {
|
||||||
type: String,
|
type: String,
|
||||||
default: 'sale',
|
default: 'invoice',
|
||||||
description: 'Show item price'
|
description: 'document type'
|
||||||
},
|
},
|
||||||
editColumn: {
|
editColumn: {
|
||||||
type: Object,
|
type: Object,
|
||||||
@ -67,7 +67,9 @@ export default {
|
|||||||
onEditItemColumns() {
|
onEditItemColumns() {
|
||||||
let edit_column = this.edit_column;
|
let edit_column = this.edit_column;
|
||||||
|
|
||||||
window.axios.get(url + '/modals/invoices/item-columns/edit')
|
window.axios.get(url + '/modals/documents/item-columns/edit', {
|
||||||
|
type:
|
||||||
|
})
|
||||||
.then(response => {
|
.then(response => {
|
||||||
edit_column.show = true;
|
edit_column.show = true;
|
||||||
edit_column.html = response.data.html;
|
edit_column.html = response.data.html;
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
<akaunting-edit-item-columns
|
<akaunting-edit-item-columns
|
||||||
|
type="{{ $type }}"
|
||||||
:edit-column="{{ json_encode([
|
:edit-column="{{ json_encode([
|
||||||
'status' => true,
|
'status' => true,
|
||||||
'text' => trans('general.add_new'),
|
'text' => trans('general.add_new'),
|
||||||
|
32
resources/views/modals/documents/item_columns.blade.php
Normal file
32
resources/views/modals/documents/item_columns.blade.php
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
{!! Form::open([
|
||||||
|
'id' => 'form-item-column',
|
||||||
|
'method' => 'PATCH',
|
||||||
|
'route' => 'modals.documents.item-columns.update',
|
||||||
|
'@submit.prevent' => 'onSubmit',
|
||||||
|
'@keydown' => 'form.errors.clear($event.target.name)',
|
||||||
|
'files' => true,
|
||||||
|
'role' => 'form',
|
||||||
|
'class' => 'form-loading-button',
|
||||||
|
'novalidate' => true,
|
||||||
|
]) !!}
|
||||||
|
<div class="row">
|
||||||
|
{{ Form::invoice_text('item_name', trans('settings.invoice.item_name'), 'font', $item_names, setting($type . '.item_name'), [], 'item_name_input', setting($type . '.item_name_input', null), 'col-md-12') }}
|
||||||
|
|
||||||
|
{{ Form::invoice_text('price_name', trans('settings.invoice.price_name'), 'font', $price_names, setting($type . '.price_name'), [], 'price_name_input', setting($type . '.price_name_input', null), 'col-md-12') }}
|
||||||
|
|
||||||
|
{{ Form::invoice_text('quantity_name', trans('settings.invoice.quantity_name'), 'font', $quantity_names, setting($type . '.quantity_name'), [], 'quantity_name_input', setting($type . '.quantity_name_input', null), 'col-md-12') }}
|
||||||
|
|
||||||
|
{{ Form::radioGroup('hide_item_name', trans('settings.invoice.hide.item_name'), setting($type . '.hide_item_name', null)) }}
|
||||||
|
|
||||||
|
{{ Form::radioGroup('hide_item_description', trans('settings.invoice.hide.item_description'), setting($type . '.hide_item_description', null)) }}
|
||||||
|
|
||||||
|
{{ Form::radioGroup('hide_quantity', trans('settings.invoice.hide.quantity'), setting($type . '.hide_quantity', null)) }}
|
||||||
|
|
||||||
|
{{ Form::radioGroup('hide_price', trans('settings.invoice.hide.price'), setting($type . '.hide_price', null)) }}
|
||||||
|
|
||||||
|
{{ Form::radioGroup('hide_amount', trans('settings.invoice.hide.amount'), setting($type . '.hide_amount', null)) }}
|
||||||
|
|
||||||
|
{!! Form::hidden('type', $type) !!}
|
||||||
|
{!! Form::hidden('_prefix', $type) !!}
|
||||||
|
</div>
|
||||||
|
{!! Form::close() !!}
|
@ -1,31 +0,0 @@
|
|||||||
{!! Form::open([
|
|
||||||
'id' => 'form-item-column',
|
|
||||||
'method' => 'PATCH',
|
|
||||||
'route' => 'modals.invoices.item-columns.update',
|
|
||||||
'@submit.prevent' => 'onSubmit',
|
|
||||||
'@keydown' => 'form.errors.clear($event.target.name)',
|
|
||||||
'files' => true,
|
|
||||||
'role' => 'form',
|
|
||||||
'class' => 'form-loading-button',
|
|
||||||
'novalidate' => true,
|
|
||||||
]) !!}
|
|
||||||
<div class="row">
|
|
||||||
{{ Form::invoice_text('item_name', trans('settings.invoice.item_name'), 'font', $item_names, setting('invoice.item_name'), [], 'item_name_input', setting('invoice.item_name_input', null), 'col-md-12') }}
|
|
||||||
|
|
||||||
{{ Form::invoice_text('price_name', trans('settings.invoice.price_name'), 'font', $price_names, setting('invoice.price_name'), [], 'price_name_input', setting('invoice.price_name_input', null), 'col-md-12') }}
|
|
||||||
|
|
||||||
{{ Form::invoice_text('quantity_name', trans('settings.invoice.quantity_name'), 'font', $quantity_names, setting('invoice.quantity_name'), [], 'quantity_name_input', setting('invoice.quantity_name_input', null), 'col-md-12') }}
|
|
||||||
|
|
||||||
{{ Form::radioGroup('hide_item_name', trans('settings.invoice.hide.item_name'), setting('invoice.hide_item_name', null)) }}
|
|
||||||
|
|
||||||
{{ Form::radioGroup('hide_item_description', trans('settings.invoice.hide.item_description'), setting('invoice.hide_item_description', null)) }}
|
|
||||||
|
|
||||||
{{ Form::radioGroup('hide_quantity', trans('settings.invoice.hide.quantity'), setting('invoice.hide_quantity', null)) }}
|
|
||||||
|
|
||||||
{{ Form::radioGroup('hide_price', trans('settings.invoice.hide.price'), setting('invoice.hide_price', null)) }}
|
|
||||||
|
|
||||||
{{ Form::radioGroup('hide_amount', trans('settings.invoice.hide.amount'), setting('invoice.hide_amount', null)) }}
|
|
||||||
|
|
||||||
{!! Form::hidden('_prefix', 'invoice') !!}
|
|
||||||
</div>
|
|
||||||
{!! Form::close() !!}
|
|
@ -230,8 +230,8 @@ Route::group(['as' => 'modals.', 'prefix' => 'modals'], function () {
|
|||||||
Route::resource('vendors', 'Modals\Vendors');
|
Route::resource('vendors', 'Modals\Vendors');
|
||||||
Route::resource('items', 'Modals\Items');
|
Route::resource('items', 'Modals\Items');
|
||||||
Route::patch('invoice-templates', 'Modals\InvoiceTemplates@update')->name('invoice-templates.update');
|
Route::patch('invoice-templates', 'Modals\InvoiceTemplates@update')->name('invoice-templates.update');
|
||||||
Route::get('invoices/item-columns/edit', 'Modals\InvoiceItemColumns@edit')->name('invoices.item-columns.edit');
|
Route::get('documents/item-columns/edit', 'Modals\DocumentItemColumns@edit')->name('documents.item-columns.edit');
|
||||||
Route::patch('invoices/item-columns', 'Modals\InvoiceItemColumns@update')->name('invoices.item-columns.update');
|
Route::patch('documents/item-columns', 'Modals\DocumentItemColumns@update')->name('documents.item-columns.update');
|
||||||
Route::resource('invoices/{invoice}/transactions', 'Modals\InvoiceTransactions', ['names' => 'invoices.invoice.transactions', 'middleware' => ['date.format', 'money']]);
|
Route::resource('invoices/{invoice}/transactions', 'Modals\InvoiceTransactions', ['names' => 'invoices.invoice.transactions', 'middleware' => ['date.format', 'money']]);
|
||||||
Route::resource('bills/{bill}/transactions', 'Modals\BillTransactions', ['names' => 'bills.bill.transactions', 'middleware' => ['date.format', 'money']]);
|
Route::resource('bills/{bill}/transactions', 'Modals\BillTransactions', ['names' => 'bills.bill.transactions', 'middleware' => ['date.format', 'money']]);
|
||||||
Route::resource('taxes', 'Modals\Taxes');
|
Route::resource('taxes', 'Modals\Taxes');
|
||||||
|
Loading…
x
Reference in New Issue
Block a user