diff --git a/app/Helpers/Bank/BankExpenseInterface.php b/app/Helpers/Bank/BankExpenseInterface.php new file mode 100644 index 000000000000..dcd26285d80b --- /dev/null +++ b/app/Helpers/Bank/BankExpenseInterface.php @@ -0,0 +1,17 @@ + $yodlee->getAccessToken() + ]; + + return view('bank.yodlee.auth', $data); + + } + +} diff --git a/app/Http/Controllers/ImportController.php b/app/Http/Controllers/ImportController.php index 6447ae292375..4b84997bf602 100644 --- a/app/Http/Controllers/ImportController.php +++ b/app/Http/Controllers/ImportController.php @@ -105,7 +105,7 @@ class ImportController extends Controller public function import(ImportRequest $request) { $data = $request->all(); -nlog($data); + if (empty($data['hash'])) { // Create a reference $data['hash'] = $hash = Str::random(32); diff --git a/app/Http/Middleware/QueryLogging.php b/app/Http/Middleware/QueryLogging.php index ee85701612a3..b8ed33bc94b3 100644 --- a/app/Http/Middleware/QueryLogging.php +++ b/app/Http/Middleware/QueryLogging.php @@ -35,9 +35,9 @@ class QueryLogging { // Enable query logging for development - if (! Ninja::isHosted() || ! config('beacon.enabled')) { - return $next($request); - } + // if (! Ninja::isHosted() || ! config('beacon.enabled')) { + // return $next($request); + // } $timeStart = microtime(true); DB::enableQueryLog(); @@ -52,6 +52,7 @@ class QueryLogging nlog("Query count = {$count}"); nlog($queries); + nlog($request->url()); if ($count > 175) { nlog("Query count = {$count}"); diff --git a/app/Http/Requests/Yodlee/YodleeAuthRequest.php b/app/Http/Requests/Yodlee/YodleeAuthRequest.php new file mode 100644 index 000000000000..bda7259e4e06 --- /dev/null +++ b/app/Http/Requests/Yodlee/YodleeAuthRequest.php @@ -0,0 +1,70 @@ +state) { + $this->token = $this->state; + } + + $data = Cache::get($this->token); + + return $data; + } + + public function getContact() + { + MultiDB::findAndSetDbByCompanyKey($this->getTokenContent()['company_key']); + + return User::findOrFail($this->getTokenContent()['user_id']); + + } + + public function getCompany() + { + + MultiDB::findAndSetDbByCompanyKey($this->getTokenContent()['company_key']); + + return Company::where('company_key', $this->getTokenContent()['company_key'])->firstOrFail(); + + } +} \ No newline at end of file diff --git a/app/Repositories/BaseRepository.php b/app/Repositories/BaseRepository.php index 3d1f623e5d0f..56be71528527 100644 --- a/app/Repositories/BaseRepository.php +++ b/app/Repositories/BaseRepository.php @@ -142,7 +142,7 @@ class BaseRepository $invitation_class = sprintf('App\\Models\\%sInvitation', $resource); - $invitation = $invitation_class::where('key', $invitation['key'])->first(); + $invitation = $invitation_class::with('company')->where('key', $invitation['key'])->first(); return $invitation; } @@ -176,7 +176,7 @@ class BaseRepository if(array_key_exists('client_id', $data)) $model->client_id = $data['client_id']; - $client = Client::where('id', $model->client_id)->withTrashed()->firstOrFail(); + $client = Client::with('group_settings')->where('id', $model->client_id)->withTrashed()->firstOrFail(); $state = []; diff --git a/resources/views/bank/yodlee/auth.blade.php b/resources/views/bank/yodlee/auth.blade.php new file mode 100644 index 000000000000..1abc1ea503f7 --- /dev/null +++ b/resources/views/bank/yodlee/auth.blade.php @@ -0,0 +1,58 @@ +@extends('layouts.ninja') +@section('meta_title', ctrans('texts.new_bank_account')) + + +@push('head') + +@endpush + +@section('body') + + + +@endsection + + +@push('footer') + + + +@endpush \ No newline at end of file diff --git a/routes/web.php b/routes/web.php index 83ad812b4f1b..fc04c0a72f0f 100644 --- a/routes/web.php +++ b/routes/web.php @@ -3,6 +3,7 @@ use App\Http\Controllers\Auth\ForgotPasswordController; use App\Http\Controllers\Auth\LoginController; use App\Http\Controllers\Auth\ResetPasswordController; +use App\Http\Controllers\Bank\YodleeController; use App\Http\Controllers\BaseController; use App\Http\Controllers\ClientPortal\ApplePayDomainController; use App\Http\Controllers\Gateways\Checkout3dsController; @@ -52,6 +53,8 @@ Route::middleware('url_db')->group(function () { Route::get('stripe/signup/{token}', [StripeConnectController::class, 'initialize'])->name('stripe_connect.initialization'); Route::get('stripe/completed', [StripeConnectController::class, 'completed'])->name('stripe_connect.return'); +Route::get('yodlee/onboard/{token}', [YodleeController::class, 'auth'])->name('yodlee.auth'); + Route::get('checkout/3ds_redirect/{company_key}/{company_gateway_id}/{hash}', [Checkout3dsController::class, 'index'])->middleware('domain_db')->name('checkout.3ds_redirect'); Route::get('mollie/3ds_redirect/{company_key}/{company_gateway_id}/{hash}', [Mollie3dsController::class, 'index'])->middleware('domain_db')->name('mollie.3ds_redirect'); Route::get('gocardless/ibp_redirect/{company_key}/{company_gateway_id}/{hash}', [GoCardlessController::class, 'ibpRedirect'])->middleware('domain_db')->name('gocardless.ibp_redirect');