From 6405aafef9b21b9e1fa21a6b58dafa16fe395bec Mon Sep 17 00:00:00 2001 From: cuneytsenturk Date: Tue, 10 Jul 2018 18:30:03 +0300 Subject: [PATCH] close #412 Fixed: Invoice add payment problem --- app/Http/Controllers/Expenses/Bills.php | 15 ++++++++++++++- app/Http/Controllers/Incomes/Invoices.php | 15 ++++++++++++++- app/Models/Expense/Bill.php | 2 +- app/Models/Expense/BillItem.php | 15 +++++++++++++-- app/Models/Expense/BillPayment.php | 2 +- app/Models/Expense/BillTotal.php | 2 +- app/Models/Expense/Payment.php | 2 +- app/Models/Income/Invoice.php | 2 +- app/Models/Income/InvoiceItem.php | 15 +++++++++++++-- app/Models/Income/InvoicePayment.php | 2 +- app/Models/Income/InvoiceTotal.php | 2 +- app/Models/Income/Revenue.php | 2 +- public/css/app.css | 4 ++-- 13 files changed, 64 insertions(+), 16 deletions(-) diff --git a/app/Http/Controllers/Expenses/Bills.php b/app/Http/Controllers/Expenses/Bills.php index 239b2eb7a..75c26fda4 100644 --- a/app/Http/Controllers/Expenses/Bills.php +++ b/app/Http/Controllers/Expenses/Bills.php @@ -617,7 +617,20 @@ class Bills extends Controller $bill->save(); - $bill_payment = BillPayment::create($request->input()); + $bill_payment_request = [ + 'company_id' => $request['company_id'], + 'bill_id' => $request['bill_id'], + 'account_id' => $request['account_id'], + 'paid_at' => $request['paid_at'], + 'amount' => $request['amount'], + 'currency_code' => $request['currency_code'], + 'currency_rate' => $request['currency_rate'], + 'description' => $request['description'], + 'payment_method' => $request['payment_method'], + 'reference' => $request['reference'] + ]; + + $bill_payment = BillPayment::create($bill_payment_request); // Upload attachment if ($request->file('attachment')) { diff --git a/app/Http/Controllers/Incomes/Invoices.php b/app/Http/Controllers/Incomes/Invoices.php index 6070b022a..ee7de6f42 100644 --- a/app/Http/Controllers/Incomes/Invoices.php +++ b/app/Http/Controllers/Incomes/Invoices.php @@ -754,7 +754,20 @@ class Invoices extends Controller $invoice->save(); - $invoice_payment = InvoicePayment::create($request->input()); + $invoice_payment_request = [ + 'company_id' => $request['company_id'], + 'invoice_id' => $request['invoice_id'], + 'account_id' => $request['account_id'], + 'paid_at' => $request['paid_at'], + 'amount' => $request['amount'], + 'currency_code' => $request['currency_code'], + 'currency_rate' => $request['currency_rate'], + 'description' => $request['description'], + 'payment_method' => $request['payment_method'], + 'reference' => $request['reference'] + ]; + + $invoice_payment = InvoicePayment::create($invoice_payment_request); // Upload attachment if ($request->file('attachment')) { diff --git a/app/Models/Expense/Bill.php b/app/Models/Expense/Bill.php index 06338223f..d17e2f3ee 100644 --- a/app/Models/Expense/Bill.php +++ b/app/Models/Expense/Bill.php @@ -144,7 +144,7 @@ class Bill extends Model */ public function setAmountAttribute($value) { - $this->attributes['amount'] = (double) $value; + $this->attributes['amount'] = (double) money($value, $this->attributes['currency_code'])->getAmount(); } /** diff --git a/app/Models/Expense/BillItem.php b/app/Models/Expense/BillItem.php index 98a88e15c..a58008b19 100644 --- a/app/Models/Expense/BillItem.php +++ b/app/Models/Expense/BillItem.php @@ -42,7 +42,7 @@ class BillItem extends Model */ public function setPriceAttribute($value) { - $this->attributes['price'] = (double) $value; + $this->attributes['price'] = (double) money($value, $this->bill->currency_code)->getAmount(); } /** @@ -53,6 +53,17 @@ class BillItem extends Model */ public function setTotalAttribute($value) { - $this->attributes['total'] = (double) $value; + $this->attributes['total'] = (double) money($value, $this->bill->currency_code)->getAmount(); + } + + /** + * Convert tax to double. + * + * @param string $value + * @return void + */ + public function setTaxAttribute($value) + { + $this->attributes['tax'] = (double) money($value, $this->bill->currency_code)->getAmount(); } } diff --git a/app/Models/Expense/BillPayment.php b/app/Models/Expense/BillPayment.php index 75a2b1ad5..af4e85b96 100644 --- a/app/Models/Expense/BillPayment.php +++ b/app/Models/Expense/BillPayment.php @@ -60,7 +60,7 @@ class BillPayment extends Model */ public function setAmountAttribute($value) { - $this->attributes['amount'] = (double) $value; + $this->attributes['amount'] = (double) money($value, $this->account->currency_code)->getAmount(); } /** diff --git a/app/Models/Expense/BillTotal.php b/app/Models/Expense/BillTotal.php index 12b96e5b9..be19b1dd3 100644 --- a/app/Models/Expense/BillTotal.php +++ b/app/Models/Expense/BillTotal.php @@ -39,7 +39,7 @@ class BillTotal extends Model */ public function setAmountAttribute($value) { - $this->attributes['amount'] = (double) $value; + $this->attributes['amount'] = (double) money($value, $this->bill->currency_code)->getAmount(); } /** diff --git a/app/Models/Expense/Payment.php b/app/Models/Expense/Payment.php index 3924e4d8a..2b13dfda1 100644 --- a/app/Models/Expense/Payment.php +++ b/app/Models/Expense/Payment.php @@ -112,7 +112,7 @@ class Payment extends Model */ public function setAmountAttribute($value) { - $this->attributes['amount'] = (double) $value; + $this->attributes['amount'] = (double) money($value, $this->attributes['currency_code'])->getAmount(); } /** diff --git a/app/Models/Income/Invoice.php b/app/Models/Income/Invoice.php index 9a1588fea..576b1c1ca 100644 --- a/app/Models/Income/Invoice.php +++ b/app/Models/Income/Invoice.php @@ -146,7 +146,7 @@ class Invoice extends Model */ public function setAmountAttribute($value) { - $this->attributes['amount'] = (double) $value; + $this->attributes['amount'] = (double) money($value, $this->attributes['currency_code'])->getAmount(); } /** diff --git a/app/Models/Income/InvoiceItem.php b/app/Models/Income/InvoiceItem.php index 39477ee66..4ba73b45d 100644 --- a/app/Models/Income/InvoiceItem.php +++ b/app/Models/Income/InvoiceItem.php @@ -42,7 +42,7 @@ class InvoiceItem extends Model */ public function setPriceAttribute($value) { - $this->attributes['price'] = (double) $value; + $this->attributes['price'] = (double) money($value, $this->invoice->currency_code)->getAmount(); } /** @@ -53,6 +53,17 @@ class InvoiceItem extends Model */ public function setTotalAttribute($value) { - $this->attributes['total'] = (double) $value; + $this->attributes['total'] = (double) money($value, $this->invoice->currency_code)->getAmount(); + } + + /** + * Convert tax to double. + * + * @param string $value + * @return void + */ + public function setTaxAttribute($value) + { + $this->attributes['tax'] = (double) money($value, $this->invoice->currency_code)->getAmount(); } } diff --git a/app/Models/Income/InvoicePayment.php b/app/Models/Income/InvoicePayment.php index c8f4ea317..6d0e42cb5 100644 --- a/app/Models/Income/InvoicePayment.php +++ b/app/Models/Income/InvoicePayment.php @@ -60,7 +60,7 @@ class InvoicePayment extends Model */ public function setAmountAttribute($value) { - $this->attributes['amount'] = (double) $value; + $this->attributes['amount'] = (double) money($value, $this->account->currency_code)->getAmount(); } /** diff --git a/app/Models/Income/InvoiceTotal.php b/app/Models/Income/InvoiceTotal.php index 30f15493f..700b08e54 100644 --- a/app/Models/Income/InvoiceTotal.php +++ b/app/Models/Income/InvoiceTotal.php @@ -39,7 +39,7 @@ class InvoiceTotal extends Model */ public function setAmountAttribute($value) { - $this->attributes['amount'] = (double) $value; + $this->attributes['amount'] = (double) money($value, $this->invoice->currency_code)->getAmount(); } /** diff --git a/app/Models/Income/Revenue.php b/app/Models/Income/Revenue.php index db4ced07e..e8156334c 100644 --- a/app/Models/Income/Revenue.php +++ b/app/Models/Income/Revenue.php @@ -118,7 +118,7 @@ class Revenue extends Model */ public function setAmountAttribute($value) { - $this->attributes['amount'] = (double) $value; + $this->attributes['amount'] = (double) money($value, $this->attributes['currency_code'])->getAmount(); } /** diff --git a/public/css/app.css b/public/css/app.css index ed70220e3..e618ec239 100644 --- a/public/css/app.css +++ b/public/css/app.css @@ -642,12 +642,12 @@ input[type="number"] { right: 0; margin-right: 100px; z-index: 999; - margin-top: -50px; + margin-top: -43px; width: 0; height: 0; border-left: 25px solid transparent; border-right: 25px solid transparent; - border-bottom: 25px solid #ecf0f5; + border-bottom: 19px solid #ecf0f5; } #badge .arrow-right {