close #663 Fixed: Invoice/Bill add item row missing currency code broken
This commit is contained in:
parent
1fcd5ad4ae
commit
2e03e3819f
@ -7,6 +7,7 @@ use App\Events\BillCreated;
|
|||||||
use App\Events\BillUpdated;
|
use App\Events\BillUpdated;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use App\Http\Requests\Expense\Bill as Request;
|
use App\Http\Requests\Expense\Bill as Request;
|
||||||
|
use App\Http\Requests\Expense\BillAddItem as ItemRequest;
|
||||||
use App\Http\Requests\Expense\BillPayment as PaymentRequest;
|
use App\Http\Requests\Expense\BillPayment as PaymentRequest;
|
||||||
use App\Jobs\Expense\CreateBill;
|
use App\Jobs\Expense\CreateBill;
|
||||||
use App\Jobs\Expense\UpdateBill;
|
use App\Jobs\Expense\UpdateBill;
|
||||||
@ -33,7 +34,6 @@ use App\Utilities\ImportFile;
|
|||||||
use App\Utilities\Modules;
|
use App\Utilities\Modules;
|
||||||
use Date;
|
use Date;
|
||||||
use File;
|
use File;
|
||||||
use Illuminate\Http\Request as ItemRequest;
|
|
||||||
use Image;
|
use Image;
|
||||||
use Storage;
|
use Storage;
|
||||||
|
|
||||||
@ -471,15 +471,21 @@ class Bills extends Controller
|
|||||||
|
|
||||||
public function addItem(ItemRequest $request)
|
public function addItem(ItemRequest $request)
|
||||||
{
|
{
|
||||||
if ($request['item_row']) {
|
|
||||||
$item_row = $request['item_row'];
|
$item_row = $request['item_row'];
|
||||||
|
$currency_code = $request['currency_code'];
|
||||||
|
|
||||||
$taxes = Tax::enabled()->orderBy('rate')->get()->pluck('title', 'id');
|
$taxes = Tax::enabled()->orderBy('rate')->get()->pluck('title', 'id');
|
||||||
|
|
||||||
$currency = Currency::where('code', '=', $request['currency_code'])->first();
|
$currency = Currency::where('code', '=', $currency_code)->first();
|
||||||
|
|
||||||
|
if (empty($currency)) {
|
||||||
|
$currency = Currency::where('code', '=', setting('general.default_currency'))->first();
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($currency) {
|
||||||
// it should be integer for amount mask
|
// it should be integer for amount mask
|
||||||
$currency->precision = (int) $currency->precision;
|
$currency->precision = (int) $currency->precision;
|
||||||
|
}
|
||||||
|
|
||||||
$html = view('expenses.bills.item', compact('item_row', 'taxes', 'currency'))->render();
|
$html = view('expenses.bills.item', compact('item_row', 'taxes', 'currency'))->render();
|
||||||
|
|
||||||
@ -494,15 +500,6 @@ class Bills extends Controller
|
|||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
return response()->json([
|
|
||||||
'success' => false,
|
|
||||||
'error' => true,
|
|
||||||
'data' => 'null',
|
|
||||||
'message' => trans('issue'),
|
|
||||||
'html' => 'null',
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected function prepareBill(Bill $bill)
|
protected function prepareBill(Bill $bill)
|
||||||
{
|
{
|
||||||
$paid = 0;
|
$paid = 0;
|
||||||
|
@ -7,6 +7,7 @@ use App\Events\InvoicePrinting;
|
|||||||
use App\Events\InvoiceUpdated;
|
use App\Events\InvoiceUpdated;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use App\Http\Requests\Income\Invoice as Request;
|
use App\Http\Requests\Income\Invoice as Request;
|
||||||
|
use App\Http\Requests\Income\InvoiceAddItem as ItemRequest;
|
||||||
use App\Http\Requests\Income\InvoicePayment as PaymentRequest;
|
use App\Http\Requests\Income\InvoicePayment as PaymentRequest;
|
||||||
use App\Jobs\Income\CreateInvoice;
|
use App\Jobs\Income\CreateInvoice;
|
||||||
use App\Jobs\Income\UpdateInvoice;
|
use App\Jobs\Income\UpdateInvoice;
|
||||||
@ -37,7 +38,6 @@ use App\Utilities\ImportFile;
|
|||||||
use App\Utilities\Modules;
|
use App\Utilities\Modules;
|
||||||
use Date;
|
use Date;
|
||||||
use File;
|
use File;
|
||||||
use Illuminate\Http\Request as ItemRequest;
|
|
||||||
use Image;
|
use Image;
|
||||||
use Storage;
|
use Storage;
|
||||||
use SignedUrl;
|
use SignedUrl;
|
||||||
@ -600,15 +600,21 @@ class Invoices extends Controller
|
|||||||
|
|
||||||
public function addItem(ItemRequest $request)
|
public function addItem(ItemRequest $request)
|
||||||
{
|
{
|
||||||
if ($request['item_row']) {
|
|
||||||
$item_row = $request['item_row'];
|
$item_row = $request['item_row'];
|
||||||
|
$currency_code = $request['currency_code'];
|
||||||
|
|
||||||
$taxes = Tax::enabled()->orderBy('rate')->get()->pluck('title', 'id');
|
$taxes = Tax::enabled()->orderBy('rate')->get()->pluck('title', 'id');
|
||||||
|
|
||||||
$currency = Currency::where('code', '=', $request['currency_code'])->first();
|
$currency = Currency::where('code', '=', $currency_code)->first();
|
||||||
|
|
||||||
|
if (empty($currency)) {
|
||||||
|
$currency = Currency::where('code', '=', setting('general.default_currency'))->first();
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($currency) {
|
||||||
// it should be integer for amount mask
|
// it should be integer for amount mask
|
||||||
$currency->precision = (int) $currency->precision;
|
$currency->precision = (int) $currency->precision;
|
||||||
|
}
|
||||||
|
|
||||||
$html = view('incomes.invoices.item', compact('item_row', 'taxes', 'currency'))->render();
|
$html = view('incomes.invoices.item', compact('item_row', 'taxes', 'currency'))->render();
|
||||||
|
|
||||||
@ -623,15 +629,6 @@ class Invoices extends Controller
|
|||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
return response()->json([
|
|
||||||
'success' => false,
|
|
||||||
'error' => true,
|
|
||||||
'data' => 'null',
|
|
||||||
'message' => trans('issue'),
|
|
||||||
'html' => 'null',
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected function prepareInvoice(Invoice $invoice)
|
protected function prepareInvoice(Invoice $invoice)
|
||||||
{
|
{
|
||||||
$paid = 0;
|
$paid = 0;
|
||||||
|
31
app/Http/Requests/Expense/BillAddItem.php
Normal file
31
app/Http/Requests/Expense/BillAddItem.php
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Requests\Expense;
|
||||||
|
|
||||||
|
use App\Http\Requests\Request;
|
||||||
|
|
||||||
|
class BillAddItem extends Request
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Determine if the user is authorized to make this request.
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function authorize()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the validation rules that apply to the request.
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function rules()
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'item_row' => 'required|integer',
|
||||||
|
'currency_code' => 'required|string|currency',
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
31
app/Http/Requests/Income/InvoiceAddItem.php
Normal file
31
app/Http/Requests/Income/InvoiceAddItem.php
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Requests\Income;
|
||||||
|
|
||||||
|
use App\Http\Requests\Request;
|
||||||
|
|
||||||
|
class InvoiceAddItem extends Request
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Determine if the user is authorized to make this request.
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function authorize()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the validation rules that apply to the request.
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function rules()
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'item_row' => 'required|integer',
|
||||||
|
'currency_code' => 'required|string|currency',
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user