From efd1ea584e7544aafd8977272e4d1f8a51a308e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Denis=20Duli=C3=A7i?= Date: Sat, 27 Jun 2020 12:25:44 +0300 Subject: [PATCH] added account to payment methods --- app/Abstracts/Http/PaymentController.php | 3 ++- app/Http/Controllers/Settings/Modules.php | 7 +++++- modules/PaypalStandard/module.json | 24 ++++++++++++------- .../views/settings/modules/edit.blade.php | 4 ++++ 4 files changed, 28 insertions(+), 10 deletions(-) diff --git a/app/Abstracts/Http/PaymentController.php b/app/Abstracts/Http/PaymentController.php index 73249847f..12dc9f5a3 100644 --- a/app/Abstracts/Http/PaymentController.php +++ b/app/Abstracts/Http/PaymentController.php @@ -34,7 +34,7 @@ abstract class PaymentController extends BaseController $this->logger = $this->getLogger(); $this->user = user(); - + $this->module = module($this->alias); return $next($request); @@ -160,6 +160,7 @@ abstract class PaymentController extends BaseController public function dispatchPaidEvent($invoice, $request) { $request['company_id'] = $invoice->company_id; + $request['account_id'] = setting($this->alias . '.account_id', setting('default.account')); $request['amount'] = $invoice->amount; $request['payment_method'] = $this->alias; $request['reference'] = $this->getReference($invoice); diff --git a/app/Http/Controllers/Settings/Modules.php b/app/Http/Controllers/Settings/Modules.php index 5f4825e67..c6001e951 100644 --- a/app/Http/Controllers/Settings/Modules.php +++ b/app/Http/Controllers/Settings/Modules.php @@ -3,6 +3,8 @@ namespace App\Http\Controllers\Settings; use App\Abstracts\Http\Controller; +use App\Models\Banking\Account; +use App\Models\Setting\Category; use App\Models\Setting\Setting; use App\Utilities\Modules as Utility; use App\Http\Requests\Setting\Module as Request; @@ -30,6 +32,9 @@ class Modules extends Controller */ public function edit($alias) { + $accounts = Account::enabled()->orderBy('name')->pluck('name', 'id'); + $categories = Category::income()->enabled()->orderBy('name')->pluck('name', 'id'); + $setting = Setting::prefix($alias)->get()->transform(function ($s) use ($alias) { $s->key = str_replace($alias . '.', '', $s->key); return $s; @@ -37,7 +42,7 @@ class Modules extends Controller $module = module($alias); - return view('settings.modules.edit', compact('setting', 'module')); + return view('settings.modules.edit', compact('setting', 'module', 'accounts', 'categories')); } /** diff --git a/modules/PaypalStandard/module.json b/modules/PaypalStandard/module.json index a4a262a9e..f486a9657 100644 --- a/modules/PaypalStandard/module.json +++ b/modules/PaypalStandard/module.json @@ -64,6 +64,22 @@ }, "rules": "required|string" }, + { + "type": "accountSelectGroup", + "name": "account_id", + "attributes": { + "required": "required" + }, + "rules": "required" + }, + { + "type": "textGroup", + "name": "order", + "title": "paypal-standard::general.form.order", + "icon": "sort", + "attributes": {}, + "rules": "nullable|integer" + }, { "type": "radioGroup", "name": "customer", @@ -81,14 +97,6 @@ "disable": "general.no", "attributes": {}, "rules": "required|integer" - }, - { - "type": "textGroup", - "name": "order", - "title": "paypal-standard::general.form.order", - "icon": "sort", - "attributes": {}, - "rules": "nullable|integer" } ] } diff --git a/resources/views/settings/modules/edit.blade.php b/resources/views/settings/modules/edit.blade.php index 58e91fd7b..667ab081a 100644 --- a/resources/views/settings/modules/edit.blade.php +++ b/resources/views/settings/modules/edit.blade.php @@ -33,6 +33,10 @@ {{ Form::$type($field['name'], trans($field['title']), $field['items'], $field['value'], $field['id'], $field['attributes']) }} @elseif ($type == 'fileGroup') {{ Form::$type($field['name'], trans($field['title']), $field['attributes']) }} + @elseif ($type == 'accountSelectGroup') + {{ Form::selectGroup($field['name'], trans_choice('general.accounts', 1), 'university', $accounts, setting($module->getAlias() . '.' . $field['name']), $field['attributes']) }} + @elseif ($type == 'categorySelectGroup') + {{ Form::selectGroup($field['name'], trans_choice('general.categories', 1), 'folder', $categories, setting($module->getAlias() . '.' . $field['name']), $field['attributes']) }} @endif @endforeach