diff --git a/app/Http/Controllers/ClientPortalController.php b/app/Http/Controllers/ClientPortalController.php index cec3026024e7..773b898e6f83 100644 --- a/app/Http/Controllers/ClientPortalController.php +++ b/app/Http/Controllers/ClientPortalController.php @@ -1009,4 +1009,42 @@ class ClientPortalController extends BaseController return redirect($account->enable_client_portal_dashboard ? '/client/dashboard' : '/client/payment_methods') ->withMessage(trans('texts.updated_client_details')); } + + public function statement() { + if (! $contact = $this->getContact()) { + return $this->returnError(); + } + + $client = $contact->client; + $account = $contact->account; + + if (! $account->enable_client_portal || ! $account->enable_client_portal_dashboard) { + return $this->returnError(); + } + + $statusId = request()->status_id; + $startDate = request()->start_date; + $endDate = request()->end_date; + $account = auth()->user()->account; + + if (! $startDate) { + $startDate = Utils::today(false)->modify('-6 month')->format('Y-m-d'); + $endDate = Utils::today(false)->format('Y-m-d'); + } + + if (request()->json) { + return dispatch(new GenerateStatementData($client, request()->all())); + } + + $data = [ + 'extends' => 'public.header', + 'client' => $client, + 'account' => $account, + 'startDate' => $startDate, + 'endDate' => $endDate, + ]; + + return view('clients.statement', $data); + + } } diff --git a/resources/views/clients/statement.blade.php b/resources/views/clients/statement.blade.php index 3f7c64d8d920..48c6664b7abd 100644 --- a/resources/views/clients/statement.blade.php +++ b/resources/views/clients/statement.blade.php @@ -1,4 +1,4 @@ -@extends('header') +@extends(! empty($extends) ? $extends : 'header') @section('head') @parent @@ -130,21 +130,23 @@ @section('content') -
- {!! Button::normal(trans('texts.download')) - ->withAttributes(['onclick' => 'onDownloadClick()']) - ->appendIcon(Icon::create('download-alt')) !!} - {!! Button::primary(trans('texts.view_client')) - ->asLinkTo($client->present()->url) !!} -
+ @if (empty($extends)) +
+ {!! Button::normal(trans('texts.download')) + ->withAttributes(['onclick' => 'onDownloadClick()']) + ->appendIcon(Icon::create('download-alt')) !!} + {!! Button::primary(trans('texts.view_client')) + ->asLinkTo($client->present()->url) !!} +
- + -

 

-

 

+

 

+

 

+ @endif
{!! Former::inline_open()->onchange('refreshData()') !!} @@ -189,6 +191,6 @@ {!! Former::close() !!}
- @include('invoices.pdf', ['account' => Auth::user()->account, 'pdfHeight' => 800]) + @include('invoices.pdf', ['account' => Auth::user()->account]) @stop diff --git a/resources/views/public/header.blade.php b/resources/views/public/header.blade.php index deb567355850..175c94789c5c 100644 --- a/resources/views/public/header.blade.php +++ b/resources/views/public/header.blade.php @@ -154,7 +154,7 @@ -
+
@yield('content')
diff --git a/routes/web.php b/routes/web.php index dff5ad24bf05..9e5372a4a0ee 100644 --- a/routes/web.php +++ b/routes/web.php @@ -28,6 +28,7 @@ Route::group(['middleware' => ['lookup:contact', 'auth:client']], function () { Route::match(['GET', 'POST'], 'complete/{invitation_key?}/{gateway_type?}', 'OnlinePaymentController@offsitePayment'); Route::get('bank/{routing_number}', 'OnlinePaymentController@getBankInfo'); Route::get('client/payment_methods', 'ClientPortalController@paymentMethods'); + Route::get('client/statement', 'ClientPortalController@statement'); Route::post('client/payment_methods/verify', 'ClientPortalController@verifyPaymentMethod'); Route::post('client/payment_methods/default', 'ClientPortalController@setDefaultPaymentMethod'); Route::post('client/payment_methods/{source_id}/remove', 'ClientPortalController@removePaymentMethod');