mirror of
				https://github.com/invoiceninja/invoiceninja.git
				synced 2025-10-31 14:07:32 -04:00 
			
		
		
		
	Added setting to show/hide client portal dashboard
This commit is contained in:
		
							parent
							
								
									7e87b2eda4
								
							
						
					
					
						commit
						3b5311e960
					
				| @ -432,6 +432,7 @@ class AccountController extends BaseController | ||||
|             'client_view_css' => $css, | ||||
|             'title' => trans("texts.client_portal"), | ||||
|             'section' => ACCOUNT_CLIENT_PORTAL, | ||||
|             'account' => $account, | ||||
|         ]; | ||||
| 
 | ||||
|         return View::make("accounts.client_portal", $data); | ||||
| @ -544,6 +545,7 @@ class AccountController extends BaseController | ||||
| 
 | ||||
|             $account = Auth::user()->account; | ||||
|             $account->client_view_css = $sanitized_css; | ||||
|             $account->enable_client_portal = Input::get('enable_client_portal') ? true : false; | ||||
|             $account->save(); | ||||
| 
 | ||||
|             Session::flash('message', trans('texts.updated_settings')); | ||||
|  | ||||
| @ -34,10 +34,7 @@ class PublicClientController extends BaseController | ||||
|     public function view($invitationKey) | ||||
|     { | ||||
|         if (!$invitation = $this->invoiceRepo->findInvoiceByInvitation($invitationKey)) { | ||||
|             return response()->view('error', [ | ||||
|                 'error' => trans('texts.invoice_not_found'), | ||||
|                 'hideHeader' => true, | ||||
|             ]); | ||||
|             return $this->returnError(); | ||||
|         } | ||||
| 
 | ||||
|         $invoice = $invitation->invoice; | ||||
| @ -118,6 +115,7 @@ class PublicClientController extends BaseController | ||||
|             'showBreadcrumbs' => false, | ||||
|             'hideLogo' => $account->isWhiteLabel(), | ||||
|             'hideHeader' => $account->isNinjaAccount(), | ||||
|             'hideDashboard' => !$account->enable_client_portal, | ||||
|             'clientViewCSS' => $account->clientViewCSS(), | ||||
|             'clientFontUrl' => $account->getFontsUrl(), | ||||
|             'invoice' => $invoice->hidePrivateFields(), | ||||
| @ -188,11 +186,16 @@ class PublicClientController extends BaseController | ||||
|         if (!$invitation = $this->getInvitation()) { | ||||
|             return $this->returnError(); | ||||
|         } | ||||
| 
 | ||||
|         $account = $invitation->account; | ||||
|         $invoice = $invitation->invoice; | ||||
|         $client = $invoice->client; | ||||
|         $color = $account->primary_color ? $account->primary_color : '#0b4d78'; | ||||
| 
 | ||||
|         if (!$account->enable_client_portal) { | ||||
|             return $this->returnError(); | ||||
|         } | ||||
| 
 | ||||
|         $data = [ | ||||
|             'color' => $color, | ||||
|             'account' => $account, | ||||
| @ -244,6 +247,7 @@ class PublicClientController extends BaseController | ||||
|         $data = [ | ||||
|             'color' => $color, | ||||
|             'hideLogo' => $account->isWhiteLabel(), | ||||
|             'hideDashboard' => !$account->enable_client_portal, | ||||
|             'clientViewCSS' => $account->clientViewCSS(), | ||||
|             'clientFontUrl' => $account->getFontsUrl(), | ||||
|             'title' => trans('texts.invoices'), | ||||
| @ -275,6 +279,7 @@ class PublicClientController extends BaseController | ||||
|         $data = [ | ||||
|             'color' => $color, | ||||
|             'hideLogo' => $account->isWhiteLabel(), | ||||
|             'hideDashboard' => !$account->enable_client_portal, | ||||
|             'clientViewCSS' => $account->clientViewCSS(), | ||||
|             'clientFontUrl' => $account->getFontsUrl(), | ||||
|             'entityType' => ENTITY_PAYMENT, | ||||
| @ -312,6 +317,7 @@ class PublicClientController extends BaseController | ||||
|         $data = [ | ||||
|           'color' => $color, | ||||
|           'hideLogo' => $account->isWhiteLabel(), | ||||
|           'hideDashboard' => !$account->enable_client_portal, | ||||
|           'clientViewCSS' => $account->clientViewCSS(), | ||||
|           'clientFontUrl' => $account->getFontsUrl(), | ||||
|           'title' => trans('texts.quotes'), | ||||
| @ -332,13 +338,11 @@ class PublicClientController extends BaseController | ||||
|         return $this->invoiceRepo->getClientDatatable($invitation->contact_id, ENTITY_QUOTE, Input::get('sSearch')); | ||||
|     } | ||||
| 
 | ||||
|     private function returnError() | ||||
|     private function returnError($error = false) | ||||
|     { | ||||
|         return response()->view('error', [ | ||||
|             'error' => trans('texts.invoice_not_found'), | ||||
|             'error' => $error ?: trans('texts.invoice_not_found'), | ||||
|             'hideHeader' => true, | ||||
|             'clientViewCSS' => $account->clientViewCSS(), | ||||
|             'clientFontUrl' => $account->getFontsUrl(), | ||||
|         ]); | ||||
|     } | ||||
| 
 | ||||
|  | ||||
| @ -1048,7 +1048,10 @@ $LANG = array( | ||||
|     'invoice_item_fields' => 'Invoice Item Fields', | ||||
|     'custom_invoice_item_fields_help' => 'Add a field when creating an invoice item and display the label and value on the PDF.', | ||||
|     'recurring_invoice_number' => 'Recurring Invoice Number', | ||||
|     'recurring_invoice_number_prefix_help' => 'Speciy a prefix to be added to the invoice number for recurring invoices. The default value is \'R\'.' | ||||
|     'recurring_invoice_number_prefix_help' => 'Speciy a prefix to be added to the invoice number for recurring invoices. The default value is \'R\'.', | ||||
|     'enable_client_portal' => 'Dashboard', | ||||
|     'enable_client_portal_help' => 'Show/hide the dashboard page in the client portal.', | ||||
|      | ||||
| ); | ||||
| 
 | ||||
| return $LANG; | ||||
|  | ||||
| @ -12,6 +12,7 @@ | ||||
| 	{!! Former::open_for_files() | ||||
|                 ->addClass('warn-on-exit') !!} | ||||
| 
 | ||||
|     {!! Former::populateField('enable_client_portal', intval($account->enable_client_portal)) !!} | ||||
|     {!! Former::populateField('client_view_css', $client_view_css) !!} | ||||
| 
 | ||||
|     @if (!Utils::isNinja() && !Auth::user()->account->isWhiteLabel()) | ||||
| @ -25,7 +26,20 @@ | ||||
|     @include('accounts.nav', ['selected' => ACCOUNT_CLIENT_PORTAL]) | ||||
| 
 | ||||
| 	<div class="row"> | ||||
| 		<div class="col-md-12"> | ||||
| 	<div class="col-md-12"> | ||||
| 
 | ||||
|         <div class="panel panel-default"> | ||||
|           <div class="panel-heading"> | ||||
|             <h3 class="panel-title">{!! trans('texts.client_portal') !!}</h3> | ||||
|           </div> | ||||
|             <div class="panel-body"> | ||||
|                 <div class="col-md-10 col-md-offset-1"> | ||||
|                     {!! Former::checkbox('enable_client_portal') | ||||
|                             ->text(trans('texts.enable')) | ||||
|                             ->help(trans('texts.enable_client_portal_help')) !!} | ||||
|                 </div> | ||||
|             </div> | ||||
|         </div> | ||||
| 
 | ||||
|         <div class="panel panel-default"> | ||||
|           <div class="panel-heading"> | ||||
| @ -43,7 +57,7 @@ | ||||
|                 </div> | ||||
|             </div> | ||||
|         </div> | ||||
|         </div> | ||||
|     </div> | ||||
|     </div> | ||||
| 	 | ||||
| 	<center> | ||||
|  | ||||
| @ -22,10 +22,8 @@ | ||||
|                 </div> | ||||
|                 <div class="list-group"> | ||||
|                     @foreach ($settings as $section) | ||||
|                         @if ($section != ACCOUNT_CLIENT_PORTAL || !Utils::isNinjaProd()) | ||||
|                             <a href="{{ URL::to("settings/{$section}") }}" class="list-group-item {{ $selected === $section ? 'selected' : '' }}"  | ||||
|                                 style="width:100%;text-align:left">{{ trans("texts.{$section}") }}</a> | ||||
|                         @endif | ||||
|                         <a href="{{ URL::to("settings/{$section}") }}" class="list-group-item {{ $selected === $section ? 'selected' : '' }}"  | ||||
|                             style="width:100%;text-align:left">{{ trans("texts.{$section}") }}</a> | ||||
|                     @endforeach | ||||
|                     @if ($type === ADVANCED_SETTINGS && !Utils::isNinjaProd()) | ||||
|                         <a href="{{ URL::to("settings/system_settings") }}" class="list-group-item {{ $selected === 'system_settings' ? 'selected' : '' }}"  | ||||
|  | ||||
| @ -76,9 +76,11 @@ | ||||
|         <div id="navbar" class="collapse navbar-collapse"> | ||||
|             @if (!isset($hideHeader) || !$hideHeader) | ||||
|             <ul class="nav navbar-nav navbar-right"> | ||||
|                 <li {{ Request::is('*client/dashboard') ? 'class="active"' : '' }}> | ||||
|                     {!! link_to('/client/dashboard', trans('texts.dashboard') ) !!} | ||||
|                 </li> | ||||
|                 @if (!isset($hideDashboard) || !$hideDashboard) | ||||
|                     <li {{ Request::is('*client/dashboard') ? 'class="active"' : '' }}> | ||||
|                         {!! link_to('/client/dashboard', trans('texts.dashboard') ) !!} | ||||
|                     </li> | ||||
|                 @endif | ||||
|                 <li {{ Request::is('*client/quotes') ? 'class="active"' : '' }}> | ||||
|                     {!! link_to('/client/quotes', trans('texts.quotes') ) !!} | ||||
|                 </li> | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user