Renamed client view to client portal

This commit is contained in:
Hillel Coren 2016-01-03 21:10:20 +02:00
parent 56330c1281
commit 0140da0ae2
5 changed files with 86 additions and 78 deletions

View File

@ -1,7 +1,6 @@
<?php namespace App\Http\Controllers;
<?php namespace app\Http\Controllers;
use Auth;
use Exception;
use File;
use Image;
use Input;
@ -25,13 +24,10 @@ use App\Ninja\Repositories\AccountRepository;
use App\Ninja\Repositories\ReferralRepository;
use App\Ninja\Mailers\UserMailer;
use App\Ninja\Mailers\ContactMailer;
use App\Events\UserSignedUp;
use App\Events\UserLoggedIn;
use App\Events\UserSettingsChanged;
use App\Services\AuthService;
use App\Commands\CreateClient;
class AccountController extends BaseController
{
protected $accountRepo;
@ -103,6 +99,7 @@ class AccountController extends BaseController
event(new UserLoggedIn());
$redirectTo = Input::get('redirect_to') ?: 'invoices/create';
return Redirect::to($redirectTo)->with('sign_up', Input::get('sign_up'));
}
@ -129,13 +126,14 @@ class AccountController extends BaseController
public function getSearchData()
{
$data = $this->accountRepo->getSearchData();
return Response::json($data);
}
public function showSection($section = false)
{
if (!$section) {
return Redirect::to('/settings/' . ACCOUNT_COMPANY_DETAILS, 301);
return Redirect::to('/settings/'.ACCOUNT_COMPANY_DETAILS, 301);
}
if ($section == ACCOUNT_COMPANY_DETAILS) {
@ -152,7 +150,7 @@ class AccountController extends BaseController
return View::make('accounts.import_export', ['title' => trans('texts.import_export')]);
} elseif ($section == ACCOUNT_INVOICE_DESIGN || $section == ACCOUNT_CUSTOMIZE_DESIGN) {
return self::showInvoiceDesign($section);
} elseif ($section == ACCOUNT_CLIENT_VIEW_STYLING) {
} elseif ($section == ACCOUNT_CLIENT_PORTAL) {
return self::showClientViewStyling();
} elseif ($section === ACCOUNT_TEMPLATES_AND_REMINDERS) {
return self::showTemplates();
@ -166,8 +164,9 @@ class AccountController extends BaseController
$data = [
'account' => Account::with('users')->findOrFail(Auth::user()->account_id),
'title' => trans("texts.{$section}"),
'section' => $section
'section' => $section,
];
return View::make("accounts.{$section}", $data);
}
}
@ -192,7 +191,7 @@ class AccountController extends BaseController
$account = Auth::user()->account;
$recurringHours = [];
for ($i=0; $i<24; $i++) {
for ($i = 0; $i<24; $i++) {
if ($account->military_time) {
$format = 'H:i';
} else {
@ -205,8 +204,9 @@ class AccountController extends BaseController
'account' => Account::with('users')->findOrFail(Auth::user()->account_id),
'title' => trans("texts.invoice_settings"),
'section' => ACCOUNT_INVOICE_SETTINGS,
'recurringHours' => $recurringHours
'recurringHours' => $recurringHours,
];
return View::make("accounts.invoice_settings", $data);
}
@ -215,7 +215,7 @@ class AccountController extends BaseController
// check that logo is less than the max file size
$account = Auth::user()->account;
if ($account->isLogoTooLarge()) {
Session::flash('warning', trans('texts.logo_too_large', ['size' => $account->getLogoSize() . 'KB']));
Session::flash('warning', trans('texts.logo_too_large', ['size' => $account->getLogoSize().'KB']));
}
$data = [
@ -233,7 +233,7 @@ class AccountController extends BaseController
{
$oauthLoginUrls = [];
foreach (AuthService::$providers as $provider) {
$oauthLoginUrls[] = ['label' => $provider, 'url' => '/auth/' . strtolower($provider)];
$oauthLoginUrls[] = ['label' => $provider, 'url' => '/auth/'.strtolower($provider)];
}
$data = [
@ -270,7 +270,7 @@ class AccountController extends BaseController
$count = count($account->account_gateways);
if ($accountGateway = $account->getGatewayConfig(GATEWAY_STRIPE)) {
if ( ! $accountGateway->getPublishableStripeKey()) {
if (! $accountGateway->getPublishableStripeKey()) {
Session::flash('warning', trans('texts.missing_publishable_key'));
}
}
@ -366,6 +366,7 @@ class AccountController extends BaseController
if ($section == ACCOUNT_CUSTOMIZE_DESIGN) {
$data['customDesign'] = ($account->custom_design && !$design) ? $account->custom_design : $design;
}
return View::make("accounts.{$section}", $data);
}
@ -374,7 +375,7 @@ class AccountController extends BaseController
$account = Auth::user()->account->load('country');
$css = $account->client_view_css ? $account->client_view_css : '';
if(Utils::isNinja() && $css){
if (Utils::isNinja() && $css) {
// Unescape the CSS for display purposes
$css = str_replace(
array('\3C ', '\3E ', '\26 '),
@ -385,11 +386,11 @@ class AccountController extends BaseController
$data = [
'client_view_css' => $css,
'title' => trans("texts.client_view_styling"),
'section' => ACCOUNT_CLIENT_VIEW_STYLING
'title' => trans("texts.client_portal"),
'section' => ACCOUNT_CLIENT_PORTAL,
];
return View::make("accounts.client_view_styling", $data);
return View::make("accounts.client_portal", $data);
}
private function showTemplates()
@ -410,6 +411,7 @@ class AccountController extends BaseController
}
$data['emailFooter'] = $account->getEmailFooter();
$data['title'] = trans('texts.email_templates');
return View::make('accounts.templates_and_reminders', $data);
}
@ -433,8 +435,8 @@ class AccountController extends BaseController
return AccountController::saveInvoiceDesign();
} elseif ($section === ACCOUNT_CUSTOMIZE_DESIGN) {
return AccountController::saveCustomizeDesign();
} elseif ($section === ACCOUNT_CLIENT_VIEW_STYLING) {
return AccountController::saveClientViewStyling();
} elseif ($section === ACCOUNT_CLIENT_PORTAL) {
return AccountController::saveClientPortal();
} elseif ($section === ACCOUNT_TEMPLATES_AND_REMINDERS) {
return AccountController::saveEmailTemplates();
} elseif ($section === ACCOUNT_PRODUCTS) {
@ -444,7 +446,8 @@ class AccountController extends BaseController
}
}
private function saveCustomizeDesign() {
private function saveCustomizeDesign()
{
if (Auth::user()->account->isPro()) {
$account = Auth::user()->account;
$account->custom_design = Input::get('custom_design');
@ -454,15 +457,15 @@ class AccountController extends BaseController
Session::flash('message', trans('texts.updated_settings'));
}
return Redirect::to('settings/' . ACCOUNT_CUSTOMIZE_DESIGN);
return Redirect::to('settings/'.ACCOUNT_CUSTOMIZE_DESIGN);
}
private function saveClientViewStyling() {
private function saveClientPortal()
{
// Only allowed for pro Invoice Ninja users or white labeled self-hosted users
if ((Utils::isNinja() && Auth::user()->account->isPro()) || Auth::user()->account->isWhiteLabel()) {
$input_css = Input::get('client_view_css');
if(Utils::isNinja()){
if (Utils::isNinja()) {
// Allow referencing the body element
$input_css = preg_replace('/(?<![a-z0-9\-\_\#\.])body(?![a-z0-9\-\_])/i', '.body', $input_css);
@ -488,9 +491,8 @@ class AccountController extends BaseController
$output_css = $purifier->context->get('StyleBlocks');
// Get the first style block
$sanitized_css = $output_css[0];
}
else{
$sanitized_css = count($output_css) ? $output_css[0] : '';
} else {
$sanitized_css = $input_css;
}
@ -501,7 +503,7 @@ class AccountController extends BaseController
Session::flash('message', trans('texts.updated_settings'));
}
return Redirect::to('settings/' . ACCOUNT_CLIENT_VIEW_STYLING);
return Redirect::to('settings/'.ACCOUNT_CLIENT_PORTAL);
}
private function saveEmailTemplates()
@ -535,7 +537,7 @@ class AccountController extends BaseController
Session::flash('message', trans('texts.updated_settings'));
}
return Redirect::to('settings/' . ACCOUNT_TEMPLATES_AND_REMINDERS);
return Redirect::to('settings/'.ACCOUNT_TEMPLATES_AND_REMINDERS);
}
private function saveTaxRates()
@ -549,7 +551,8 @@ class AccountController extends BaseController
$account->save();
Session::flash('message', trans('texts.updated_settings'));
return Redirect::to('settings/' . ACCOUNT_TAX_RATES);
return Redirect::to('settings/'.ACCOUNT_TAX_RATES);
}
private function saveProducts()
@ -561,7 +564,8 @@ class AccountController extends BaseController
$account->save();
Session::flash('message', trans('texts.updated_settings'));
return Redirect::to('settings/' . ACCOUNT_PRODUCTS);
return Redirect::to('settings/'.ACCOUNT_PRODUCTS);
}
private function saveEmailSettings()
@ -583,7 +587,7 @@ class AccountController extends BaseController
$validator = Validator::make(Input::all(), $rules);
if ($validator->fails()) {
return Redirect::to('settings/' . ACCOUNT_EMAIL_SETTINGS)
return Redirect::to('settings/'.ACCOUNT_EMAIL_SETTINGS)
->withErrors($validator)
->withInput();
} else {
@ -602,13 +606,12 @@ class AccountController extends BaseController
}
}
return Redirect::to('settings/' . ACCOUNT_EMAIL_SETTINGS);
return Redirect::to('settings/'.ACCOUNT_EMAIL_SETTINGS);
}
private function saveInvoiceSettings()
{
if (Auth::user()->account->isPro()) {
$rules = [
'invoice_number_pattern' => 'has_counter',
'quote_number_pattern' => 'has_counter',
@ -617,7 +620,7 @@ class AccountController extends BaseController
$validator = Validator::make(Input::all(), $rules);
if ($validator->fails()) {
return Redirect::to('settings/' . ACCOUNT_INVOICE_SETTINGS)
return Redirect::to('settings/'.ACCOUNT_INVOICE_SETTINGS)
->withErrors($validator)
->withInput();
} else {
@ -668,7 +671,8 @@ class AccountController extends BaseController
if (!$account->share_counter && $account->invoice_number_prefix == $account->quote_number_prefix) {
Session::flash('error', trans('texts.invalid_counter'));
return Redirect::to('settings/' . ACCOUNT_INVOICE_SETTINGS)->withInput();
return Redirect::to('settings/'.ACCOUNT_INVOICE_SETTINGS)->withInput();
} else {
$account->save();
Session::flash('message', trans('texts.updated_settings'));
@ -676,7 +680,7 @@ class AccountController extends BaseController
}
}
return Redirect::to('settings/' . ACCOUNT_INVOICE_SETTINGS);
return Redirect::to('settings/'.ACCOUNT_INVOICE_SETTINGS);
}
private function saveInvoiceDesign()
@ -704,7 +708,7 @@ class AccountController extends BaseController
Session::flash('message', trans('texts.updated_settings'));
}
return Redirect::to('settings/' . ACCOUNT_INVOICE_DESIGN);
return Redirect::to('settings/'.ACCOUNT_INVOICE_DESIGN);
}
private function saveNotifications()
@ -718,20 +722,20 @@ class AccountController extends BaseController
Session::flash('message', trans('texts.updated_settings'));
return Redirect::to('settings/' . ACCOUNT_NOTIFICATIONS);
return Redirect::to('settings/'.ACCOUNT_NOTIFICATIONS);
}
private function saveDetails()
{
$rules = array(
'name' => 'required',
'logo' => 'sometimes|max:' . MAX_LOGO_FILE_SIZE . '|mimes:jpeg,gif,png',
'logo' => 'sometimes|max:'.MAX_LOGO_FILE_SIZE.'|mimes:jpeg,gif,png',
);
$validator = Validator::make(Input::all(), $rules);
if ($validator->fails()) {
return Redirect::to('settings/' . ACCOUNT_COMPANY_DETAILS)
return Redirect::to('settings/'.ACCOUNT_COMPANY_DETAILS)
->withErrors($validator)
->withInput();
} else {
@ -762,11 +766,11 @@ class AccountController extends BaseController
$mimeType = $file->getMimeType();
if ($mimeType == 'image/jpeg') {
$path = 'logo/' . $account->account_key . '.jpg';
$file->move('logo/', $account->account_key . '.jpg');
} else if ($mimeType == 'image/png') {
$path = 'logo/' . $account->account_key . '.png';
$file->move('logo/', $account->account_key . '.png');
$path = 'logo/'.$account->account_key.'.jpg';
$file->move('logo/', $account->account_key.'.jpg');
} elseif ($mimeType == 'image/png') {
$path = 'logo/'.$account->account_key.'.png';
$file->move('logo/', $account->account_key.'.png');
} else {
if (extension_loaded('fileinfo')) {
$image = Image::make($path);
@ -792,7 +796,8 @@ class AccountController extends BaseController
event(new UserSettingsChanged());
Session::flash('message', trans('texts.updated_settings'));
return Redirect::to('settings/' . ACCOUNT_COMPANY_DETAILS);
return Redirect::to('settings/'.ACCOUNT_COMPANY_DETAILS);
}
}
@ -803,7 +808,7 @@ class AccountController extends BaseController
$validator = Validator::make(Input::all(), $rules);
if ($validator->fails()) {
return Redirect::to('settings/' . ACCOUNT_USER_DETAILS)
return Redirect::to('settings/'.ACCOUNT_USER_DETAILS)
->withErrors($validator)
->withInput();
} else {
@ -826,7 +831,8 @@ class AccountController extends BaseController
event(new UserSettingsChanged());
Session::flash('message', trans('texts.updated_settings'));
return Redirect::to('settings/' . ACCOUNT_USER_DETAILS);
return Redirect::to('settings/'.ACCOUNT_USER_DETAILS);
}
}
@ -844,7 +850,8 @@ class AccountController extends BaseController
event(new UserSettingsChanged());
Session::flash('message', trans('texts.updated_settings'));
return Redirect::to('settings/' . ACCOUNT_LOCALIZATION);
return Redirect::to('settings/'.ACCOUNT_LOCALIZATION);
}
public function removeLogo()
@ -854,7 +861,7 @@ class AccountController extends BaseController
Session::flash('message', trans('texts.removed_logo'));
return Redirect::to('settings/' . ACCOUNT_COMPANY_DETAILS);
return Redirect::to('settings/'.ACCOUNT_COMPANY_DETAILS);
}
public function checkEmail()
@ -953,7 +960,7 @@ class AccountController extends BaseController
$user = Auth::user();
$this->userMailer->sendConfirmation($user);
return Redirect::to('/settings/' . ACCOUNT_USER_DETAILS)->with('message', trans('texts.confirmation_resent'));
return Redirect::to('/settings/'.ACCOUNT_USER_DETAILS)->with('message', trans('texts.confirmation_resent'));
}
public function redirectLegacy($section, $subSection = false)

View File

@ -278,7 +278,7 @@ if (!defined('CONTACT_EMAIL')) {
define('ACCOUNT_ADVANCED_SETTINGS', 'advanced_settings');
define('ACCOUNT_INVOICE_SETTINGS', 'invoice_settings');
define('ACCOUNT_INVOICE_DESIGN', 'invoice_design');
define('ACCOUNT_CLIENT_VIEW_STYLING', 'client_view_styling');
define('ACCOUNT_CLIENT_PORTAL', 'client_portal');
define('ACCOUNT_EMAIL_SETTINGS', 'email_settings');
define('ACCOUNT_CHARTS_AND_REPORTS', 'charts_and_reports');
define('ACCOUNT_USER_MANAGEMENT', 'user_management');

View File

@ -35,7 +35,7 @@ class Account extends Eloquent
public static $advancedSettings = [
ACCOUNT_INVOICE_SETTINGS,
ACCOUNT_INVOICE_DESIGN,
ACCOUNT_CLIENT_VIEW_STYLING,
ACCOUNT_CLIENT_PORTAL,
ACCOUNT_EMAIL_SETTINGS,
ACCOUNT_TEMPLATES_AND_REMINDERS,
ACCOUNT_CHARTS_AND_REPORTS,

View File

@ -476,8 +476,6 @@ return array(
'id_number' => 'ID Number',
'white_label_link' => 'White label',
'white_label_text' => 'Purchase a white label license for $'.WHITE_LABEL_PRICE.' to remove the Invoice Ninja branding from the client portal and help support our project.',
'white_label_custom_css' => ':link for $'.WHITE_LABEL_PRICE.' to enable custom styling and help support our project.',
'white_label_purchase_link' => 'Purchase a white label license',
'white_label_header' => 'White Label',
'bought_white_label' => 'Successfully enabled white label license',
'white_labeled' => 'White labeled',
@ -997,4 +995,7 @@ return array(
'email_designs' => 'Email Designs',
'assigned_when_sent' => 'Assigned when sent',
'white_label_custom_css' => ':link for $'.WHITE_LABEL_PRICE.' to enable custom styling and help support our project.',
'white_label_purchase_link' => 'Purchase a white label license',
);

View File

@ -22,7 +22,7 @@
</div>
@endif
@include('accounts.nav', ['selected' => ACCOUNT_CLIENT_VIEW_STYLING])
@include('accounts.nav', ['selected' => ACCOUNT_CLIENT_PORTAL])
<div class="row">
<div class="col-md-12">