2019-07-16 04:38:11 +02:00
< ? php
2020-03-23 18:10:42 +01:00
use Illuminate\Support\Facades\Route ;
2019-08-05 01:31:55 +02:00
Route :: get ( 'client' , 'Auth\ContactLoginController@showLoginForm' ) -> name ( 'client.login' ); //catch all
2019-08-05 00:17:46 +02:00
2019-12-10 21:25:54 +01:00
Route :: get ( 'client/login' , 'Auth\ContactLoginController@showLoginForm' ) -> name ( 'client.login' ) -> middleware ( 'locale' );
2019-07-16 04:38:11 +02:00
Route :: post ( 'client/login' , 'Auth\ContactLoginController@login' ) -> name ( 'client.login.submit' );
2019-12-10 21:25:54 +01:00
Route :: get ( 'client/password/reset' , 'Auth\ContactForgotPasswordController@showLinkRequestForm' ) -> name ( 'client.password.request' ) -> middleware ( 'locale' );
Route :: post ( 'client/password/email' , 'Auth\ContactForgotPasswordController@sendResetLinkEmail' ) -> name ( 'client.password.email' ) -> middleware ( 'locale' );
Route :: get ( 'client/password/reset/{token}' , 'Auth\ContactResetPasswordController@showResetForm' ) -> name ( 'client.password.reset' ) -> middleware ( 'locale' );
Route :: post ( 'client/password/reset' , 'Auth\ContactResetPasswordController@reset' ) -> name ( 'client.password.update' ) -> middleware ( 'locale' );
2019-07-17 06:15:25 +02:00
2020-04-16 23:19:21 +02:00
Route :: get ( 'view/{entity_type}/{invitation_key}' , 'ClientPortal\EntityViewController@index' ) -> name ( 'client.entity_view' );
Route :: get ( 'view/{entity_type}/{invitation_key}/password' , 'ClientPortal\EntityViewController@password' ) -> name ( 'client.entity_view.password' );
Route :: post ( 'view/{entity_type}/{invitation_key}/password' , 'ClientPortal\EntityViewController@handlePassword' );
2019-07-16 04:38:11 +02:00
//todo implement domain DB
2019-12-10 21:25:54 +01:00
Route :: group ([ 'middleware' => [ 'auth:contact' , 'locale' ], 'prefix' => 'client' , 'as' => 'client.' ], function () {
2020-03-26 04:23:57 +01:00
Route :: get ( 'dashboard' , 'ClientPortal\DashboardController@index' ) -> name ( 'dashboard' ); // name = (dashboard. index / create / show / update / destroy / edit
2020-03-23 18:10:42 +01:00
2020-03-26 04:23:57 +01:00
Route :: get ( 'invoices' , 'ClientPortal\InvoiceController@index' ) -> name ( 'invoices.index' ) -> middleware ( 'portal_enabled' );
Route :: post ( 'invoices/payment' , 'ClientPortal\InvoiceController@bulk' ) -> name ( 'invoices.bulk' );
Route :: get ( 'invoices/{invoice}' , 'ClientPortal\InvoiceController@show' ) -> name ( 'invoice.show' );
Route :: get ( 'invoices/{invoice_invitation}' , 'ClientPortal\InvoiceController@show' ) -> name ( 'invoice.show_invitation' );
2020-03-23 18:10:42 +01:00
2020-03-26 04:23:57 +01:00
Route :: get ( 'recurring_invoices' , 'ClientPortal\RecurringInvoiceController@index' ) -> name ( 'recurring_invoices.index' ) -> middleware ( 'portal_enabled' );
Route :: get ( 'recurring_invoices/{recurring_invoice}' , 'ClientPortal\RecurringInvoiceController@show' ) -> name ( 'recurring_invoices.show' );
Route :: get ( 'recurring_invoices/{recurring_invoice}/request_cancellation' , 'ClientPortal\RecurringInvoiceController@requestCancellation' ) -> name ( 'recurring_invoices.request_cancellation' );
2020-03-23 18:10:42 +01:00
2020-03-26 04:23:57 +01:00
Route :: post ( 'payments/process' , 'ClientPortal\PaymentController@process' ) -> name ( 'payments.process' );
Route :: get ( 'payments' , 'ClientPortal\PaymentController@index' ) -> name ( 'payments.index' ) -> middleware ( 'portal_enabled' );
Route :: get ( 'payments/{payment}' , 'ClientPortal\PaymentController@show' ) -> name ( 'payments.show' );
Route :: post ( 'payments/process/response' , 'ClientPortal\PaymentController@response' ) -> name ( 'payments.response' );
Route :: get ( 'payments/process/response' , 'ClientPortal\PaymentController@response' ) -> name ( 'payments.response.get' );
2020-03-23 18:10:42 +01:00
2020-03-26 04:23:57 +01:00
Route :: get ( 'profile/{client_contact}/edit' , 'ClientPortal\ProfileController@edit' ) -> name ( 'profile.edit' );
Route :: put ( 'profile/{client_contact}/edit' , 'ClientPortal\ProfileController@update' ) -> name ( 'profile.update' );
Route :: put ( 'profile/{client_contact}/edit_client' , 'ClientPortal\ProfileController@updateClient' ) -> name ( 'profile.edit_client' );
Route :: put ( 'profile/{client_contact}/localization' , 'ClientPortal\ProfileController@updateClientLocalization' ) -> name ( 'profile.edit_localization' );
2020-03-23 18:10:42 +01:00
2020-03-26 04:23:57 +01:00
Route :: resource ( 'payment_methods' , 'ClientPortal\PaymentMethodController' ); // name = (payment_methods. index / create / show / update / destroy / edit
2020-03-23 18:10:42 +01:00
Route :: match ([ 'GET' , 'POST' ], 'quotes/approve' , 'ClientPortal\QuoteController@bulk' ) -> name ( 'quotes.bulk' );
Route :: resource ( 'quotes' , 'ClientPortal\QuoteController' ) -> only ( 'index' , 'show' );
Route :: resource ( 'credits' , 'ClientPortal\CreditController' ) -> only ( 'index' , 'show' );
2020-03-26 04:23:57 +01:00
Route :: post ( 'document' , 'ClientPortal\DocumentController@store' ) -> name ( 'document.store' );
Route :: delete ( 'document' , 'ClientPortal\DocumentController@destroy' ) -> name ( 'document.destroy' );
2020-03-23 18:10:42 +01:00
2020-05-09 00:19:39 +02:00
Route :: get ( 'client/switch_company/{contact}' , 'ClientPortal\SwitchCompanyController' ) -> name ( 'switch_company' );
2020-03-26 04:23:57 +01:00
Route :: get ( 'logout' , 'Auth\ContactLoginController@logout' ) -> name ( 'logout' );
2019-07-17 00:59:09 +02:00
});
2019-11-16 04:12:29 +01:00
Route :: group ([ 'middleware' => [ 'invite_db' ], 'prefix' => 'client' , 'as' => 'client.' ], function () {
2020-04-15 02:30:52 +02:00
/*Invitation catches*/
2020-04-16 10:41:25 +02:00
Route :: get ( '{entity}/{invitation_key}' , 'ClientPortal\InvitationController@router' );
2020-04-15 02:30:52 +02:00
Route :: get ( 'invoice/{invitation_key}/download_pdf' , 'InvoiceController@downloadPdf' ) -> name ( 'invoice.download_invitation_key' );
Route :: get ( 'quote/{invitation_key}/download_pdf' , 'QuoteController@downloadPdf' ) -> name ( 'quote.download_invitation_key' );
Route :: get ( 'credit/{invitation_key}/download_pdf' , 'CreditController@downloadPdf' ) -> name ( 'credit.download_invitation_key' );
2020-03-26 04:23:57 +01:00
Route :: get ( '{entity}/{invitation_key}/download' , 'ClientPortal\InvitationController@routerForDownload' );
2020-04-15 02:30:52 +02:00
Route :: get ( '{entity}/{client_hash}/{invitation_key}' , 'ClientPortal\InvitationController@routerForIframe' ) -> name ( 'invoice.client_hash_and_invitation_key' ); //should never need this
2020-03-26 04:23:57 +01:00
Route :: get ( 'payment_hook/{company_gateway_id}/{gateway_type_id}' , 'ClientPortal\PaymentHookController@process' );
2019-09-23 07:59:01 +02:00
});
2020-03-21 06:37:30 +01:00
Route :: fallback ( 'BaseController@notFoundClient' );