From a7f2d3354c98a8699680ce08b4df243571e2d153 Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Wed, 27 Jan 2016 20:31:08 +0200 Subject: [PATCH] Resolved issue with expenses and multi-tenancy --- app/Http/Controllers/ExpenseController.php | 4 ++-- app/Services/ExpenseService.php | 11 ++++++++++- resources/views/expenses/edit.blade.php | 8 ++++---- 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/app/Http/Controllers/ExpenseController.php b/app/Http/Controllers/ExpenseController.php index c3dc77b23ec2..f82372bb0e51 100644 --- a/app/Http/Controllers/ExpenseController.php +++ b/app/Http/Controllers/ExpenseController.php @@ -153,7 +153,7 @@ class ExpenseController extends BaseController */ public function update(UpdateExpenseRequest $request) { - $expense = $this->expenseRepo->save($request->input()); + $expense = $this->expenseService->save($request->input()); Session::flash('message', trans('texts.updated_expense')); @@ -167,7 +167,7 @@ class ExpenseController extends BaseController public function store(CreateExpenseRequest $request) { - $expense = $this->expenseRepo->save($request->input()); + $expense = $this->expenseService->save($request->input()); Session::flash('message', trans('texts.created_expense')); diff --git a/app/Services/ExpenseService.php b/app/Services/ExpenseService.php index 7df356931470..e8f5e23aa7ea 100644 --- a/app/Services/ExpenseService.php +++ b/app/Services/ExpenseService.php @@ -5,7 +5,8 @@ use Utils; use URL; use App\Services\BaseService; use App\Ninja\Repositories\ExpenseRepository; - +use App\Models\Client; +use App\Models\Vendor; class ExpenseService extends BaseService { @@ -26,6 +27,14 @@ class ExpenseService extends BaseService public function save($data) { + if (isset($data['client_id']) && $data['client_id']) { + $data['client_id'] = Client::getPrivateId($data['client_id']); + } + + if (isset($data['vendor_id']) && $data['vendor_id']) { + $data['vendor_id'] = Vendor::getPrivateId($data['vendor_id']); + } + return $this->expenseRepo->save($data); } diff --git a/resources/views/expenses/edit.blade.php b/resources/views/expenses/edit.blade.php index 949e9b73ebe4..f1b2dbd5da60 100644 --- a/resources/views/expenses/edit.blade.php +++ b/resources/views/expenses/edit.blade.php @@ -174,18 +174,19 @@ var ViewModel = function(data) { var self = this; - self.client_id = ko.observable({{ $clientPublicId }}); - self.vendor_id = ko.observable({{ $vendorPublicId }}); self.currency_id = ko.observable(); self.amount = ko.observable(); self.exchange_rate = ko.observable(1); self.should_be_invoiced = ko.observable(); - self.account_currency_id = ko.observable({{ $account->getCurrencyId() }}); if (data) { ko.mapping.fromJS(data, {}, this); } + self.account_currency_id = ko.observable({{ $account->getCurrencyId() }}); + self.client_id = ko.observable({{ $clientPublicId }}); + self.vendor_id = ko.observable({{ $vendorPublicId }}); + self.convertedAmount = ko.computed({ read: function () { return roundToTwo(self.amount() * self.exchange_rate()).toFixed(2); @@ -204,7 +205,6 @@ self.currencyName = ko.computed(function() { var currencyId = self.currency_id() || self.account_currency_id(); var currency = currencyMap[currencyId]; - console.log(currencyId); return currency.name; });