mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2024-11-08 20:22:42 +01: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…
Reference in New Issue
Block a user