commit
1a0aa3c3cd
@ -37,7 +37,7 @@ class Items extends Controller
|
||||
*/
|
||||
public function show()
|
||||
{
|
||||
return redirect('common/items');
|
||||
return redirect()->route('items.index');
|
||||
}
|
||||
|
||||
/**
|
||||
@ -76,7 +76,7 @@ class Items extends Controller
|
||||
|
||||
flash($message)->success();
|
||||
|
||||
return redirect('common/items');
|
||||
return redirect()->route('items.index');
|
||||
}
|
||||
|
||||
/**
|
||||
@ -94,7 +94,7 @@ class Items extends Controller
|
||||
|
||||
flash($message)->success();
|
||||
|
||||
return redirect('common/items/' . $clone->id . '/edit');
|
||||
return redirect()->route('items.edit', $item->id);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -106,20 +106,26 @@ class Items extends Controller
|
||||
*/
|
||||
public function import(ImportFile $import)
|
||||
{
|
||||
$rows = $import->all();
|
||||
// Loop through all sheets
|
||||
$import->each(function ($sheet) {
|
||||
if ($sheet->getTitle() != 'items') {
|
||||
return;
|
||||
}
|
||||
|
||||
foreach ($rows as $row) {
|
||||
$data = $row->toArray();
|
||||
$data['company_id'] = session('company_id');
|
||||
// Loop through all rows
|
||||
$sheet->each(function ($row) {
|
||||
$data = $row->toArray();
|
||||
$data['company_id'] = session('company_id');
|
||||
|
||||
Item::create($data);
|
||||
}
|
||||
Item::create($data);
|
||||
});
|
||||
});
|
||||
|
||||
$message = trans('messages.success.imported', ['type' => trans_choice('general.items', 2)]);
|
||||
|
||||
flash($message)->success();
|
||||
|
||||
return redirect('common/items');
|
||||
return redirect()->route('items.index');
|
||||
}
|
||||
|
||||
/**
|
||||
@ -161,7 +167,7 @@ class Items extends Controller
|
||||
|
||||
flash($message)->success();
|
||||
|
||||
return redirect('common/items');
|
||||
return redirect()->route('items.index');
|
||||
}
|
||||
|
||||
/**
|
||||
@ -190,7 +196,23 @@ class Items extends Controller
|
||||
flash($message)->warning();
|
||||
}
|
||||
|
||||
return redirect('common/items');
|
||||
return redirect()->route('items.index');
|
||||
}
|
||||
|
||||
/**
|
||||
* Export the specified resource.
|
||||
*
|
||||
* @return Response
|
||||
*/
|
||||
public function export()
|
||||
{
|
||||
\Excel::create('items', function($excel) {
|
||||
$excel->sheet('items', function($sheet) {
|
||||
$sheet->fromModel(Item::filter(request()->input())->get()->makeHidden([
|
||||
'id', 'company_id', 'item_id', 'created_at', 'updated_at', 'deleted_at'
|
||||
]));
|
||||
});
|
||||
})->download('xlsx');
|
||||
}
|
||||
|
||||
public function autocomplete()
|
||||
|
@ -291,14 +291,44 @@ class Bills extends Controller
|
||||
*/
|
||||
public function import(ImportFile $import)
|
||||
{
|
||||
$rows = $import->all();
|
||||
// Loop through all sheets
|
||||
$import->each(function ($sheet) {
|
||||
$class = '\App\Models\Expense\\' . str_singular(studly_case($sheet->getTitle()));
|
||||
|
||||
foreach ($rows as $row) {
|
||||
$data = $row->toArray();
|
||||
$data['company_id'] = session('company_id');
|
||||
if (!class_exists($class)) {
|
||||
return;
|
||||
}
|
||||
|
||||
Bill::create($data);
|
||||
}
|
||||
$sheet->each(function ($row) use ($sheet, $class) {
|
||||
$data = $row->toArray();
|
||||
$data['company_id'] = session('company_id');
|
||||
|
||||
switch ($sheet->getTitle()) {
|
||||
case 'bills':
|
||||
if (empty($data['vendor_email'])) {
|
||||
$data['vendor_email'] = '';
|
||||
}
|
||||
break;
|
||||
case 'bill_items':
|
||||
if (empty($data['tax_id'])) {
|
||||
$data['tax_id'] = '0';
|
||||
}
|
||||
break;
|
||||
case 'bill_histories':
|
||||
if (empty($data['notify'])) {
|
||||
$data['notify'] = '0';
|
||||
}
|
||||
break;
|
||||
case 'bill_totals':
|
||||
if (empty($data['amount'])) {
|
||||
$data['amount'] = '0';
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
$class::create($data);
|
||||
});
|
||||
});
|
||||
|
||||
$message = trans('messages.success.imported', ['type' => trans_choice('general.bills', 2)]);
|
||||
|
||||
@ -490,6 +520,35 @@ class Bills extends Controller
|
||||
return redirect('expenses/bills');
|
||||
}
|
||||
|
||||
/**
|
||||
* Export the specified resource.
|
||||
*
|
||||
* @return Response
|
||||
*/
|
||||
public function export()
|
||||
{
|
||||
\Excel::create('bills', function($excel) {
|
||||
$bills = Bill::with(['items', 'payments', 'totals'])->filter(request()->input())->get();
|
||||
|
||||
$excel->sheet('invoices', function($sheet) use ($bills) {
|
||||
$sheet->fromModel($bills->makeHidden([
|
||||
'company_id', 'parent_id', 'created_at', 'updated_at', 'deleted_at', 'attachment', 'discount', 'items', 'payments', 'totals', 'media'
|
||||
]));
|
||||
});
|
||||
|
||||
$tables = ['items', 'histories', 'payments', 'totals'];
|
||||
foreach ($tables as $table) {
|
||||
$excel->sheet('bill_' . $table, function($sheet) use ($bills, $table) {
|
||||
$bills->each(function ($bill) use ($sheet, $table) {
|
||||
$sheet->fromModel($bill->$table->makeHidden([
|
||||
'id', 'company_id', 'created_at', 'updated_at', 'deleted_at'
|
||||
]));
|
||||
});
|
||||
});
|
||||
}
|
||||
})->download('xlsx');
|
||||
}
|
||||
|
||||
/**
|
||||
* Mark the bill as received.
|
||||
*
|
||||
|
@ -133,14 +133,20 @@ class Payments extends Controller
|
||||
*/
|
||||
public function import(ImportFile $import)
|
||||
{
|
||||
$rows = $import->all();
|
||||
// Loop through all sheets
|
||||
$import->each(function ($sheet) {
|
||||
if ($sheet->getTitle() != 'payments') {
|
||||
return;
|
||||
}
|
||||
|
||||
foreach ($rows as $row) {
|
||||
$data = $row->toArray();
|
||||
$data['company_id'] = session('company_id');
|
||||
// Loop through all rows
|
||||
$sheet->each(function ($row) {
|
||||
$data = $row->toArray();
|
||||
$data['company_id'] = session('company_id');
|
||||
|
||||
Payment::create($data);
|
||||
}
|
||||
Payment::create($data);
|
||||
});
|
||||
});
|
||||
|
||||
$message = trans('messages.success.imported', ['type' => trans_choice('general.payments', 2)]);
|
||||
|
||||
@ -231,4 +237,20 @@ class Payments extends Controller
|
||||
|
||||
return redirect('expenses/payments');
|
||||
}
|
||||
|
||||
/**
|
||||
* Export the specified resource.
|
||||
*
|
||||
* @return Response
|
||||
*/
|
||||
public function export()
|
||||
{
|
||||
\Excel::create('payments', function($excel) {
|
||||
$excel->sheet('payments', function($sheet) {
|
||||
$sheet->fromModel(Payment::filter(request()->input())->get()->makeHidden([
|
||||
'id', 'company_id', 'parent_id', 'created_at', 'updated_at', 'deleted_at'
|
||||
]));
|
||||
});
|
||||
})->download('xlsx');
|
||||
}
|
||||
}
|
||||
|
@ -171,19 +171,25 @@ class Vendors extends Controller
|
||||
*/
|
||||
public function import(ImportFile $import)
|
||||
{
|
||||
$rows = $import->all();
|
||||
|
||||
foreach ($rows as $row) {
|
||||
$data = $row->toArray();
|
||||
|
||||
if (empty($data['email'])) {
|
||||
$data['email'] = '';
|
||||
// Loop through all sheets
|
||||
$import->each(function ($sheet) {
|
||||
if ($sheet->getTitle() != 'vendors') {
|
||||
return;
|
||||
}
|
||||
|
||||
$data['company_id'] = session('company_id');
|
||||
// Loop through all rows
|
||||
$sheet->each(function ($row) {
|
||||
$data = $row->toArray();
|
||||
|
||||
Vendor::create($data);
|
||||
}
|
||||
if (empty($data['email'])) {
|
||||
$data['email'] = '';
|
||||
}
|
||||
|
||||
$data['company_id'] = session('company_id');
|
||||
|
||||
Vendor::create($data);
|
||||
});
|
||||
});
|
||||
|
||||
$message = trans('messages.success.imported', ['type' => trans_choice('general.vendors', 2)]);
|
||||
|
||||
@ -265,6 +271,22 @@ class Vendors extends Controller
|
||||
return redirect('expenses/vendors');
|
||||
}
|
||||
|
||||
/**
|
||||
* Export the specified resource.
|
||||
*
|
||||
* @return Response
|
||||
*/
|
||||
public function export()
|
||||
{
|
||||
\Excel::create('vendors', function($excel) {
|
||||
$excel->sheet('vendors', function($sheet) {
|
||||
$sheet->fromModel(Vendor::filter(request()->input())->get()->makeHidden([
|
||||
'id', 'company_id', 'created_at', 'updated_at', 'deleted_at'
|
||||
]));
|
||||
});
|
||||
})->download('xlsx');
|
||||
}
|
||||
|
||||
public function currency()
|
||||
{
|
||||
$vendor_id = request('vendor_id');
|
||||
|
@ -191,19 +191,25 @@ class Customers extends Controller
|
||||
*/
|
||||
public function import(ImportFile $import)
|
||||
{
|
||||
$rows = $import->all();
|
||||
|
||||
foreach ($rows as $row) {
|
||||
$data = $row->toArray();
|
||||
|
||||
if (empty($data['email'])) {
|
||||
$data['email'] = '';
|
||||
// Loop through all sheets
|
||||
$import->each(function ($sheet) {
|
||||
if ($sheet->getTitle() != 'customers') {
|
||||
return;
|
||||
}
|
||||
|
||||
$data['company_id'] = session('company_id');
|
||||
// Loop through all rows
|
||||
$sheet->each(function ($row) {
|
||||
$data = $row->toArray();
|
||||
|
||||
Customer::create($data);
|
||||
}
|
||||
if (empty($data['email'])) {
|
||||
$data['email'] = '';
|
||||
}
|
||||
|
||||
$data['company_id'] = session('company_id');
|
||||
|
||||
Customer::create($data);
|
||||
});
|
||||
});
|
||||
|
||||
$message = trans('messages.success.imported', ['type' => trans_choice('general.customers', 2)]);
|
||||
|
||||
@ -301,6 +307,22 @@ class Customers extends Controller
|
||||
return redirect('incomes/customers');
|
||||
}
|
||||
|
||||
/**
|
||||
* Export the specified resource.
|
||||
*
|
||||
* @return Response
|
||||
*/
|
||||
public function export()
|
||||
{
|
||||
\Excel::create('customers', function($excel) {
|
||||
$excel->sheet('customers', function($sheet) {
|
||||
$sheet->fromModel(Customer::filter(request()->input())->get()->makeHidden([
|
||||
'id', 'company_id', 'created_at', 'updated_at', 'deleted_at'
|
||||
]));
|
||||
});
|
||||
})->download('xlsx');
|
||||
}
|
||||
|
||||
public function currency()
|
||||
{
|
||||
$customer_id = request('customer_id');
|
||||
|
@ -312,14 +312,44 @@ class Invoices extends Controller
|
||||
*/
|
||||
public function import(ImportFile $import)
|
||||
{
|
||||
$rows = $import->all();
|
||||
// Loop through all sheets
|
||||
$import->each(function ($sheet) {
|
||||
$class = '\App\Models\Income\\' . str_singular(studly_case($sheet->getTitle()));
|
||||
|
||||
foreach ($rows as $row) {
|
||||
$data = $row->toArray();
|
||||
$data['company_id'] = session('company_id');
|
||||
if (!class_exists($class)) {
|
||||
return;
|
||||
}
|
||||
|
||||
Invoice::create($data);
|
||||
}
|
||||
$sheet->each(function ($row) use ($sheet, $class) {
|
||||
$data = $row->toArray();
|
||||
$data['company_id'] = session('company_id');
|
||||
|
||||
switch ($sheet->getTitle()) {
|
||||
case 'invoices':
|
||||
if (empty($data['customer_email'])) {
|
||||
$data['customer_email'] = '';
|
||||
}
|
||||
break;
|
||||
case 'invoice_items':
|
||||
if (empty($data['tax_id'])) {
|
||||
$data['tax_id'] = '0';
|
||||
}
|
||||
break;
|
||||
case 'invoice_histories':
|
||||
if (empty($data['notify'])) {
|
||||
$data['notify'] = '0';
|
||||
}
|
||||
break;
|
||||
case 'invoice_totals':
|
||||
if (empty($data['amount'])) {
|
||||
$data['amount'] = '0';
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
$class::create($data);
|
||||
});
|
||||
});
|
||||
|
||||
$message = trans('messages.success.imported', ['type' => trans_choice('general.invoices', 2)]);
|
||||
|
||||
@ -511,6 +541,35 @@ class Invoices extends Controller
|
||||
return redirect('incomes/invoices');
|
||||
}
|
||||
|
||||
/**
|
||||
* Export the specified resource.
|
||||
*
|
||||
* @return Response
|
||||
*/
|
||||
public function export()
|
||||
{
|
||||
\Excel::create('invoices', function($excel) {
|
||||
$invoices = Invoice::with(['items', 'payments', 'totals'])->filter(request()->input())->get();
|
||||
|
||||
$excel->sheet('invoices', function($sheet) use ($invoices) {
|
||||
$sheet->fromModel($invoices->makeHidden([
|
||||
'company_id', 'parent_id', 'created_at', 'updated_at', 'deleted_at', 'attachment', 'discount', 'items', 'payments', 'totals', 'media'
|
||||
]));
|
||||
});
|
||||
|
||||
$tables = ['items', 'histories', 'payments', 'totals'];
|
||||
foreach ($tables as $table) {
|
||||
$excel->sheet('invoice_' . $table, function($sheet) use ($invoices, $table) {
|
||||
$invoices->each(function ($bill) use ($sheet, $table) {
|
||||
$sheet->fromModel($bill->$table->makeHidden([
|
||||
'id', 'company_id', 'created_at', 'updated_at', 'deleted_at'
|
||||
]));
|
||||
});
|
||||
});
|
||||
}
|
||||
})->download('xlsx');
|
||||
}
|
||||
|
||||
/**
|
||||
* Mark the invoice as sent.
|
||||
*
|
||||
|
@ -135,14 +135,20 @@ class Revenues extends Controller
|
||||
*/
|
||||
public function import(ImportFile $import)
|
||||
{
|
||||
$rows = $import->all();
|
||||
// Loop through all sheets
|
||||
$import->each(function ($sheet) {
|
||||
if ($sheet->getTitle() != 'revenues') {
|
||||
return;
|
||||
}
|
||||
|
||||
foreach ($rows as $row) {
|
||||
$data = $row->toArray();
|
||||
$data['company_id'] = session('company_id');
|
||||
// Loop through all rows
|
||||
$sheet->each(function ($row) {
|
||||
$data = $row->toArray();
|
||||
$data['company_id'] = session('company_id');
|
||||
|
||||
Revenue::create($data);
|
||||
}
|
||||
Revenue::create($data);
|
||||
});
|
||||
});
|
||||
|
||||
$message = trans('messages.success.imported', ['type' => trans_choice('general.revenues', 2)]);
|
||||
|
||||
@ -233,4 +239,20 @@ class Revenues extends Controller
|
||||
|
||||
return redirect('incomes/revenues');
|
||||
}
|
||||
|
||||
/**
|
||||
* Export the specified resource.
|
||||
*
|
||||
* @return Response
|
||||
*/
|
||||
public function export()
|
||||
{
|
||||
\Excel::create('revenues', function($excel) {
|
||||
$excel->sheet('revenues', function($sheet) {
|
||||
$sheet->fromModel(Revenue::filter(request()->input())->get()->makeHidden([
|
||||
'id', 'company_id', 'parent_id', 'created_at', 'updated_at', 'deleted_at'
|
||||
]));
|
||||
});
|
||||
})->download('xlsx');
|
||||
}
|
||||
}
|
||||
|
@ -476,7 +476,7 @@ return array(
|
||||
| When set to true, it will return a sheet collection instead.
|
||||
|
|
||||
*/
|
||||
'force_sheets_collection' => false,
|
||||
'force_sheets_collection' => true,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
|
@ -1,2 +0,0 @@
|
||||
"bill_number","order_number","bill_status_code","billed_at","due_at","amount","currency_code","currency_rate","vendor_id","vendor_name","vendor_email","vendor_tax_number","vendor_phone","vendor_address","notes","category_id"
|
||||
"987654","","received","2017-11-30","2017-12-07","10.0000","USD","1.00000000","1","Test Vendor","test@vendor.com","","","","","4"
|
|
BIN
public/files/import/bills.xlsx
Normal file
BIN
public/files/import/bills.xlsx
Normal file
Binary file not shown.
@ -1,2 +0,0 @@
|
||||
"user_id","name","email","tax_number","phone","address","website","currency_code","enabled"
|
||||
"","Test Customer","test@customer.com","","","","","USD","1"
|
|
BIN
public/files/import/customers.xlsx
Normal file
BIN
public/files/import/customers.xlsx
Normal file
Binary file not shown.
@ -1,2 +0,0 @@
|
||||
"invoice_number","order_number","invoice_status_code","invoiced_at","due_at","amount","currency_code","currency_rate","customer_id","customer_name","customer_email","customer_tax_number","customer_phone","customer_address","notes","category_id"
|
||||
"INV-00001","","sent","2017-11-30","2017-12-07","10.0000","USD","1.00000000","1","Test Customer","test@customer.com","","","","","3"
|
|
BIN
public/files/import/invoices.xlsx
Normal file
BIN
public/files/import/invoices.xlsx
Normal file
Binary file not shown.
@ -1,2 +0,0 @@
|
||||
"name","sku","description","sale_price","purchase_price","quantity","category_id","tax_id","enabled"
|
||||
"Test Item","test-item","","10.0000","5.0000","1","5","2","1"
|
|
BIN
public/files/import/items.xlsx
Normal file
BIN
public/files/import/items.xlsx
Normal file
Binary file not shown.
@ -1,2 +0,0 @@
|
||||
"account_id","paid_at","amount","currency_code","currency_rate","vendor_id","description","category_id","payment_method","reference"
|
||||
"1","2017-11-30","10.0000","USD","1.00000000","1","","4","offlinepayment.cash.1",""
|
|
BIN
public/files/import/payments.xlsx
Normal file
BIN
public/files/import/payments.xlsx
Normal file
Binary file not shown.
@ -1,2 +0,0 @@
|
||||
"account_id","paid_at","amount","currency_code","currency_rate","customer_id","description","category_id","payment_method","reference"
|
||||
"1","2017-11-30","10.0000","USD","1.00000000","","","3","offlinepayment.cash.1",""
|
|
BIN
public/files/import/revenues.xlsx
Normal file
BIN
public/files/import/revenues.xlsx
Normal file
Binary file not shown.
@ -1,2 +0,0 @@
|
||||
"name","email","tax_number","phone","address","website","currency_code","enabled"
|
||||
"Test Vendor","test@vendor.com","","","","","USD","1"
|
|
BIN
public/files/import/vendors.xlsx
Normal file
BIN
public/files/import/vendors.xlsx
Normal file
Binary file not shown.
@ -100,6 +100,7 @@ return [
|
||||
'overdue' => 'Overdue',
|
||||
'partially' => 'Partially',
|
||||
'partially_paid' => 'Partially Paid',
|
||||
'export' => 'Export',
|
||||
|
||||
'title' => [
|
||||
'new' => 'New :type',
|
||||
|
@ -4,6 +4,6 @@ return [
|
||||
|
||||
'import' => 'Import',
|
||||
'title' => 'Import :type',
|
||||
'message' => 'Allowed file types: CSV, XLS. Please, <a target="_blank" href=":link"><strong>download</strong></a> the sample file.',
|
||||
'message' => 'Allowed file types: XLS, XLSX. Please, <a target="_blank" href=":link"><strong>download</strong></a> the sample file.',
|
||||
|
||||
];
|
||||
|
@ -9,7 +9,7 @@
|
||||
<div class="box-body">
|
||||
<div class="col-md-12">
|
||||
<div class="alert alert-info alert-important">
|
||||
{!! trans('import.message', ['link' => url('public/files/import/' . $type . '.csv')]) !!}
|
||||
{!! trans('import.message', ['link' => url('public/files/import/' . $type . '.xlsx')]) !!}
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group col-md-12 required {{ $errors->has('import') ? 'has-error' : '' }}" style="min-height: 59px">
|
||||
|
@ -5,7 +5,7 @@
|
||||
@section('content')
|
||||
<!-- Default box -->
|
||||
<div class="box box-success">
|
||||
{!! Form::open(['url' => 'common/items', 'files' => true, 'role' => 'form']) !!}
|
||||
{!! Form::open(['route' => 'items.store', 'files' => true, 'role' => 'form']) !!}
|
||||
|
||||
<div class="box-body">
|
||||
{{ Form::textGroup('name', trans('general.name'), 'id-card-o') }}
|
||||
|
@ -8,7 +8,7 @@
|
||||
{!! Form::model($item, [
|
||||
'method' => 'PATCH',
|
||||
'files' => true,
|
||||
'url' => ['common/items', $item->id],
|
||||
'route' => ['items.update', $item->id],
|
||||
'role' => 'form'
|
||||
]) !!}
|
||||
|
||||
|
@ -2,18 +2,19 @@
|
||||
|
||||
@section('title', trans_choice('general.items', 2))
|
||||
|
||||
@permission('create-common-items')
|
||||
@section('new_button')
|
||||
<span class="new-button"><a href="{{ url('common/items/create') }}" class="btn btn-success btn-sm"><span class="fa fa-plus"></span> {{ trans('general.add_new') }}</a></span>
|
||||
<span><a href="{{ url('common/import/common/items') }}" class="btn btn-success btn-sm"><span class="fa fa-download"></span> {{ trans('import.import') }}</a></span>
|
||||
@endsection
|
||||
@permission('create-common-items')
|
||||
<span class="new-button"><a href="{{ route('items.create') }}" class="btn btn-success btn-sm"><span class="fa fa-plus"></span> {{ trans('general.add_new') }}</a></span>
|
||||
<span><a href="{{ route('import.create', ['common', 'items']) }}" class="btn btn-default btn-sm"><span class="fa fa-download"></span> {{ trans('import.import') }}</a></span>
|
||||
@endpermission
|
||||
<span><a href="{{ route('items.export', request()->input()) }}" class="btn btn-default btn-sm"><span class="fa fa-upload"></span> {{ trans('general.export') }}</a></span>
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
<!-- Default box -->
|
||||
<div class="box box-success">
|
||||
<div class="box-header with-border">
|
||||
{!! Form::open(['url' => 'common/items', 'role' => 'form', 'method' => 'GET']) !!}
|
||||
{!! Form::open(['route' => 'items.index', 'role' => 'form', 'method' => 'GET']) !!}
|
||||
<div class="pull-left">
|
||||
<span class="title-filter hidden-xs">{{ trans('general.search') }}:</span>
|
||||
{!! Form::text('search', request('search'), ['class' => 'form-control input-filter input-sm', 'placeholder' => trans('general.search_placeholder')]) !!}
|
||||
@ -47,7 +48,7 @@
|
||||
@foreach($items as $item)
|
||||
<tr>
|
||||
<td class="hidden-xs"><img src="{{ $item->picture ? Storage::url($item->picture->id) : asset('public/img/akaunting-logo-green.png') }}" class="img-thumbnail" width="50" alt="{{ $item->name }}"></td>
|
||||
<td><a href="{{ url('common/items/' . $item->id . '/edit') }}">{{ $item->name }}</a></td>
|
||||
<td><a href="{{ route('items.edit', $item->id) }}">{{ $item->name }}</a></td>
|
||||
<td class="hidden-xs">{{ $item->category ? $item->category->name : trans('general.na') }}</td>
|
||||
<td class="hidden-xs">{{ $item->quantity }}</td>
|
||||
<td class="text-right amount-space">{{ money($item->sale_price, setting('general.default_currency'), true) }}</td>
|
||||
@ -65,10 +66,10 @@
|
||||
<i class="fa fa-ellipsis-h"></i>
|
||||
</button>
|
||||
<ul class="dropdown-menu dropdown-menu-right">
|
||||
<li><a href="{{ url('common/items/' . $item->id . '/edit') }}">{{ trans('general.edit') }}</a></li>
|
||||
<li><a href="{{ route('items.edit', $item->id) }}">{{ trans('general.edit') }}</a></li>
|
||||
<li class="divider"></li>
|
||||
@permission('create-common-items')
|
||||
<li><a href="{{ url('common/items/' . $item->id . '/duplicate') }}">{{ trans('general.duplicate') }}</a></li>
|
||||
<li><a href="{{ route('items.duplicate', $item->id) }}">{{ trans('general.duplicate') }}</a></li>
|
||||
<li class="divider"></li>
|
||||
@endpermission
|
||||
@permission('delete-common-items')
|
||||
|
@ -2,12 +2,13 @@
|
||||
|
||||
@section('title', trans_choice('general.bills', 2))
|
||||
|
||||
@permission('create-expenses-bills')
|
||||
@section('new_button')
|
||||
@permission('create-expenses-bills')
|
||||
<span class="new-button"><a href="{{ url('expenses/bills/create') }}" class="btn btn-success btn-sm"><span class="fa fa-plus"></span> {{ trans('general.add_new') }}</a></span>
|
||||
<span><a href="{{ url('common/import/expenses/bills') }}" class="btn btn-success btn-sm"><span class="fa fa-download"></span> {{ trans('import.import') }}</a></span>
|
||||
@endsection
|
||||
<span><a href="{{ url('common/import/expenses/bills') }}" class="btn btn-default btn-sm"><span class="fa fa-download"></span> {{ trans('import.import') }}</a></span>
|
||||
@endpermission
|
||||
<span><a href="{{ route('bills.export', request()->input()) }}" class="btn btn-default btn-sm"><span class="fa fa-upload"></span> {{ trans('general.export') }}</a></span>
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
<!-- Default box -->
|
||||
|
@ -2,12 +2,13 @@
|
||||
|
||||
@section('title', trans_choice('general.payments', 2))
|
||||
|
||||
@permission('create-expenses-payments')
|
||||
@section('new_button')
|
||||
@permission('create-expenses-payments')
|
||||
<span class="new-button"><a href="{{ url('expenses/payments/create') }}" class="btn btn-success btn-sm"><span class="fa fa-plus"></span> {{ trans('general.add_new') }}</a></span>
|
||||
<span><a href="{{ url('common/import/expenses/payments') }}" class="btn btn-success btn-sm"><span class="fa fa-download"></span> {{ trans('import.import') }}</a></span>
|
||||
@endsection
|
||||
<span><a href="{{ url('common/import/expenses/payments') }}" class="btn btn-default btn-sm"><span class="fa fa-download"></span> {{ trans('import.import') }}</a></span>
|
||||
@endpermission
|
||||
<span><a href="{{ route('payments.export', request()->input()) }}" class="btn btn-default btn-sm"><span class="fa fa-upload"></span> {{ trans('general.export') }}</a></span>
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
<!-- Default box -->
|
||||
|
@ -2,12 +2,13 @@
|
||||
|
||||
@section('title', trans_choice('general.vendors', 2))
|
||||
|
||||
@permission('create-expenses-vendors')
|
||||
@section('new_button')
|
||||
@permission('create-expenses-vendors')
|
||||
<span class="new-button"><a href="{{ url('expenses/vendors/create') }}" class="btn btn-success btn-sm"><span class="fa fa-plus"></span> {{ trans('general.add_new') }}</a></span>
|
||||
<span><a href="{{ url('common/import/expenses/vendors') }}" class="btn btn-success btn-sm"><span class="fa fa-download"></span> {{ trans('import.import') }}</a></span>
|
||||
@endsection
|
||||
<span><a href="{{ url('common/import/expenses/vendors') }}" class="btn btn-default btn-sm"><span class="fa fa-download"></span> {{ trans('import.import') }}</a></span>
|
||||
@endpermission
|
||||
<span><a href="{{ route('vendors.export', request()->input()) }}" class="btn btn-default btn-sm"><span class="fa fa-upload"></span> {{ trans('general.export') }}</a></span>
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
<!-- Default box -->
|
||||
|
@ -2,12 +2,13 @@
|
||||
|
||||
@section('title', trans_choice('general.customers', 2))
|
||||
|
||||
@permission('create-incomes-customers')
|
||||
@section('new_button')
|
||||
@permission('create-incomes-customers')
|
||||
<span class="new-button"><a href="{{ url('incomes/customers/create') }}" class="btn btn-success btn-sm"><span class="fa fa-plus"></span> {{ trans('general.add_new') }}</a></span>
|
||||
<span><a href="{{ url('common/import/incomes/customers') }}" class="btn btn-success btn-sm"><span class="fa fa-download"></span> {{ trans('import.import') }}</a></span>
|
||||
@endsection
|
||||
<span><a href="{{ url('common/import/incomes/customers') }}" class="btn btn-default btn-sm"><span class="fa fa-download"></span> {{ trans('import.import') }}</a></span>
|
||||
@endpermission
|
||||
<span><a href="{{ route('customers.export', request()->input()) }}" class="btn btn-default btn-sm"><span class="fa fa-upload"></span> {{ trans('general.export') }}</a></span>
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
<!-- Default box -->
|
||||
|
@ -2,12 +2,13 @@
|
||||
|
||||
@section('title', trans_choice('general.invoices', 2))
|
||||
|
||||
@permission('create-incomes-invoices')
|
||||
@section('new_button')
|
||||
@permission('create-incomes-invoices')
|
||||
<span class="new-button"><a href="{{ url('incomes/invoices/create') }}" class="btn btn-success btn-sm"><span class="fa fa-plus"></span> {{ trans('general.add_new') }}</a></span>
|
||||
<span><a href="{{ url('common/import/incomes/invoices') }}" class="btn btn-success btn-sm"><span class="fa fa-download"></span> {{ trans('import.import') }}</a></span>
|
||||
@endsection
|
||||
<span><a href="{{ url('common/import/incomes/invoices') }}" class="btn btn-default btn-sm"><span class="fa fa-download"></span> {{ trans('import.import') }}</a></span>
|
||||
@endpermission
|
||||
<span><a href="{{ route('invoices.export', request()->input()) }}" class="btn btn-default btn-sm"><span class="fa fa-upload"></span> {{ trans('general.export') }}</a></span>
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
<!-- Default box -->
|
||||
|
@ -2,12 +2,13 @@
|
||||
|
||||
@section('title', trans_choice('general.revenues', 2))
|
||||
|
||||
@permission('create-incomes-revenues')
|
||||
@section('new_button')
|
||||
@permission('create-incomes-revenues')
|
||||
<span class="new-button"><a href="{{ url('incomes/revenues/create') }}" class="btn btn-success btn-sm"><span class="fa fa-plus"></span> {{ trans('general.add_new') }}</a></span>
|
||||
<span><a href="{{ url('common/import/incomes/revenues') }}" class="btn btn-success btn-sm"><span class="fa fa-download"></span> {{ trans('import.import') }}</a></span>
|
||||
@endsection
|
||||
<span><a href="{{ url('common/import/incomes/revenues') }}" class="btn btn-default btn-sm"><span class="fa fa-download"></span> {{ trans('import.import') }}</a></span>
|
||||
@endpermission
|
||||
<span><a href="{{ route('revenues.export', request()->input()) }}" class="btn btn-default btn-sm"><span class="fa fa-upload"></span> {{ trans('general.export') }}</a></span>
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
<!-- Default box -->
|
||||
|
@ -15,16 +15,17 @@ Route::group(['middleware' => 'language'], function () {
|
||||
});
|
||||
|
||||
Route::group(['prefix' => 'common'], function () {
|
||||
Route::get('companies/{company}/set', 'Common\Companies@set');
|
||||
Route::get('companies/{company}/set', 'Common\Companies@set')->name('companies.switch');
|
||||
Route::resource('companies', 'Common\Companies');
|
||||
Route::get('dashboard/cashflow', 'Common\Dashboard@cashFlow');
|
||||
Route::get('import/{group}/{type}', 'Common\Import@create');
|
||||
Route::get('items/autocomplete', 'Common\Items@autocomplete');
|
||||
Route::post('items/totalItem', 'Common\Items@totalItem');
|
||||
Route::get('items/{item}/duplicate', 'Common\Items@duplicate');
|
||||
Route::post('items/import', 'Common\Items@import');
|
||||
Route::get('dashboard/cashflow', 'Common\Dashboard@cashFlow')->name('dashboard.cashflow');
|
||||
Route::get('import/{group}/{type}', 'Common\Import@create')->name('import.create');
|
||||
Route::get('items/autocomplete', 'Common\Items@autocomplete')->name('items.autocomplete');
|
||||
Route::post('items/totalItem', 'Common\Items@totalItem')->name('items.total');
|
||||
Route::get('items/{item}/duplicate', 'Common\Items@duplicate')->name('items.duplicate');
|
||||
Route::post('items/import', 'Common\Items@import')->name('items.import');
|
||||
Route::get('items/export', 'Common\Items@export')->name('items.export');
|
||||
Route::resource('items', 'Common\Items');
|
||||
Route::get('search/search', 'Common\Search@search');
|
||||
Route::get('search/search', 'Common\Search@search')->name('search.search');
|
||||
Route::resource('search', 'Common\Search');
|
||||
});
|
||||
|
||||
@ -48,16 +49,19 @@ Route::group(['middleware' => 'language'], function () {
|
||||
Route::get('invoices/{invoice}/duplicate', 'Incomes\Invoices@duplicate');
|
||||
Route::post('invoices/payment', 'Incomes\Invoices@payment');
|
||||
Route::delete('invoices/payment/{payment}', 'Incomes\Invoices@paymentDestroy');
|
||||
Route::post('invoices/import', 'Incomes\Invoices@import');
|
||||
Route::post('invoices/import', 'Incomes\Invoices@import')->name('invoices.import');
|
||||
Route::get('invoices/export', 'Incomes\Invoices@export')->name('invoices.export');
|
||||
Route::resource('invoices', 'Incomes\Invoices');
|
||||
Route::get('revenues/{revenue}/duplicate', 'Incomes\Revenues@duplicate');
|
||||
Route::post('revenues/import', 'Incomes\Revenues@import');
|
||||
Route::post('revenues/import', 'Incomes\Revenues@import')->name('revenues.import');
|
||||
Route::get('revenues/export', 'Incomes\Revenues@export')->name('revenues.export');
|
||||
Route::resource('revenues', 'Incomes\Revenues');
|
||||
Route::get('customers/currency', 'Incomes\Customers@currency');
|
||||
Route::get('customers/{customer}/duplicate', 'Incomes\Customers@duplicate');
|
||||
Route::post('customers/customer', 'Incomes\Customers@customer');
|
||||
Route::post('customers/field', 'Incomes\Customers@field');
|
||||
Route::post('customers/import', 'Incomes\Customers@import');
|
||||
Route::post('customers/import', 'Incomes\Customers@import')->name('customers.import');
|
||||
Route::get('customers/export', 'Incomes\Customers@export')->name('customers.export');
|
||||
Route::resource('customers', 'Incomes\Customers');
|
||||
});
|
||||
|
||||
@ -68,15 +72,18 @@ Route::group(['middleware' => 'language'], function () {
|
||||
Route::get('bills/{bill}/duplicate', 'Expenses\Bills@duplicate');
|
||||
Route::post('bills/payment', 'Expenses\Bills@payment');
|
||||
Route::delete('bills/payment/{payment}', 'Expenses\Bills@paymentDestroy');
|
||||
Route::post('bills/import', 'Expenses\Bills@import');
|
||||
Route::post('bills/import', 'Expenses\Bills@import')->name('bills.import');
|
||||
Route::get('bills/export', 'Expenses\Bills@export')->name('bills.export');
|
||||
Route::resource('bills', 'Expenses\Bills');
|
||||
Route::get('payments/{payment}/duplicate', 'Expenses\Payments@duplicate');
|
||||
Route::post('payments/import', 'Expenses\Payments@import');
|
||||
Route::post('payments/import', 'Expenses\Payments@import')->name('payments.import');
|
||||
Route::get('payments/export', 'Expenses\Payments@export')->name('payments.export');
|
||||
Route::resource('payments', 'Expenses\Payments');
|
||||
Route::get('vendors/currency', 'Expenses\Vendors@currency');
|
||||
Route::get('vendors/{vendor}/duplicate', 'Expenses\Vendors@duplicate');
|
||||
Route::post('vendors/vendor', 'Expenses\Vendors@vendor');
|
||||
Route::post('vendors/import', 'Expenses\Vendors@import');
|
||||
Route::post('vendors/import', 'Expenses\Vendors@import')->name('vendors.import');
|
||||
Route::get('vendors/export', 'Expenses\Vendors@export')->name('vendors.export');
|
||||
Route::resource('vendors', 'Expenses\Vendors');
|
||||
});
|
||||
|
||||
@ -134,6 +141,9 @@ Route::group(['middleware' => 'language'], function () {
|
||||
Route::get('updates/post/{alias}/{old}/{new}', 'Install\Updates@post');
|
||||
Route::resource('updates', 'Install\Updates');
|
||||
});
|
||||
|
||||
/* @deprecated */
|
||||
Route::post('items/items/totalItem', 'Common\Items@totalItem');
|
||||
});
|
||||
|
||||
Route::group(['middleware' => ['customermenu', 'permission:read-customer-panel']], function () {
|
||||
|
Loading…
x
Reference in New Issue
Block a user