Reset mail brand settings to default

UX fixes to mailtemplates controller, active tab now remains active and redirects leverage active tab setting
This commit is contained in:
Samuel Georges 2017-07-22 21:20:25 +10:00
parent 744bf6af6e
commit 261760e4c8
13 changed files with 77 additions and 47 deletions

View File

@ -151,7 +151,7 @@ class MailManager
$html = $this->renderTwig($template->layout->content_html, [
'content' => $html,
'css' => $template->layout->content_css,
'brandCss' => MailBrandSetting::compileCss()
'brandCss' => MailBrandSetting::renderCss()
] + (array) $data);
}

View File

@ -1,9 +1,11 @@
<?php namespace System\Controllers;
use Lang;
use File;
use Flash;
use Config;
use Backend;
use Redirect;
use BackendMenu;
use ApplicationException;
use System\Models\MailBrandSetting;
@ -53,12 +55,27 @@ class MailBrandSettings extends Controller
$setting = MailBrandSetting::instance();
if ($setting->exists) {
return $this->update($setting->id);
}
else {
return $this->create();
}
$setting->resetCache();
return $this->create();
}
public function index_onSave()
{
$setting = MailBrandSetting::instance();
return $this->create_onSave();
}
public function index_onResetDefault()
{
$setting = MailBrandSetting::instance();
$setting->resetDefault();
Flash::success(Lang::get('backend::lang.form.reset_success'));
return Redirect::refresh();
}
public function onUpdateSampleMessage()

View File

@ -45,11 +45,13 @@ class MailTemplates extends Controller
SettingsManager::setContext('October.System', 'mail_templates');
}
public function index()
public function index($tab = null)
{
MailTemplate::syncAll();
$this->asExtension('ListController')->index();
$this->bodyClass = 'compact-container';
$this->vars['activeTab'] = $tab ?: 'templates';
}
public function formBeforeSave($model)

View File

@ -25,24 +25,16 @@
class="btn btn-primary">
<?= e(trans('backend::lang.form.save')) ?>
</button>
<button
type="button"
data-request="onSave"
data-request-data="close:1"
data-hotkey="ctrl+enter, cmd+enter"
data-load-indicator="<?= e(trans('backend::lang.form.saving')) ?>"
class="btn btn-default">
<?= e(trans('backend::lang.form.save_and_close')) ?>
</button>
<span class="btn-text">
<?= e(trans('backend::lang.form.or')) ?> <a href="<?= Backend::url('backend/users') ?>"><?= e(trans('backend::lang.form.cancel')) ?></a>
</span>
<button
type="button"
class="oc-icon-trash-o btn-icon danger pull-right"
data-request="onDelete"
data-load-indicator="<?= e(trans('backend::lang.form.deleting')) ?>"
data-request-confirm="<?= e(trans('backend::lang.user.delete_confirm')) ?>">
class="btn btn-danger pull-right"
data-request="onResetDefault"
data-load-indicator="<?= e(trans('backend::lang.form.resetting')) ?>"
data-request-confirm="<?= e(trans('backend::lang.form.action_confirm')) ?>">
<?= e(trans('backend::lang.form.reset_default')) ?>
</button>
</div>
</div>

View File

@ -5,12 +5,12 @@
name: system::lang.mail_templates.layout
form: ~/modules/system/models/maillayout/fields.yaml
modelClass: System\Models\MailLayout
defaultRedirect: system/mailtemplates
defaultRedirect: system/mailtemplates/index/layouts
create:
redirect: system/maillayouts/update/:id
redirectClose: system/mailtemplates
redirectClose: system/mailtemplates/index/layouts
update:
redirect: system/mailtemplates
redirectClose: system/mailtemplates
redirectClose: system/mailtemplates/index/layouts

View File

@ -1,6 +1,6 @@
<?php Block::put('breadcrumb') ?>
<ul>
<li><a href="<?= Backend::url('system/mailtemplates') ?>"><?= e(trans('system::lang.mail_templates.menu_layouts_label')) ?></a></li>
<li><a href="<?= Backend::url('system/mailtemplates/index/layouts') ?>"><?= e(trans('system::lang.mail_templates.menu_layouts_label')) ?></a></li>
<li><?= e(trans($this->pageTitle)) ?></li>
</ul>
<?php Block::endPut() ?>
@ -33,7 +33,7 @@
<?= e(trans('backend::lang.form.create_and_close')) ?>
</button>
<span class="btn-text">
<?= e(trans('backend::lang.form.or')) ?> <a href="<?= Backend::url('system/mailtemplates') ?>"><?= e(trans('backend::lang.form.close')) ?></a>
<?= e(trans('backend::lang.form.or')) ?> <a href="<?= Backend::url('system/mailtemplates/index/layouts') ?>"><?= e(trans('backend::lang.form.close')) ?></a>
</span>
</div>
</div>
@ -43,6 +43,6 @@
<?php else: ?>
<p class="flash-message static error"><?= e(trans($this->fatalError)) ?></p>
<p><a href="<?= Backend::url('system/mailtemplates') ?>" class="btn btn-default"><?= e(trans('system::lang.mail_templates.return')) ?></a></p>
<p><a href="<?= Backend::url('system/mailtemplates/index/layouts') ?>" class="btn btn-default"><?= e(trans('system::lang.mail_templates.return')) ?></a></p>
<?php endif ?>

View File

@ -1,6 +1,6 @@
<?php Block::put('breadcrumb') ?>
<ul>
<li><a href="<?= Backend::url('system/mailtemplates') ?>"><?= e(trans('system::lang.mail_templates.menu_layouts_label')) ?></a></li>
<li><a href="<?= Backend::url('system/mailtemplates/index/layouts') ?>"><?= e(trans('system::lang.mail_templates.menu_layouts_label')) ?></a></li>
<li><?= e(trans($this->pageTitle)) ?></li>
</ul>
<?php Block::endPut() ?>
@ -54,7 +54,7 @@
</button>
<?php endif ?>
<span class="btn-text">
<?= e(trans('backend::lang.form.or')) ?> <a href="<?= Backend::url('system/mailtemplates') ?>"><?= e(trans('backend::lang.form.cancel')) ?></a>
<?= e(trans('backend::lang.form.or')) ?> <a href="<?= Backend::url('system/mailtemplates/index/layouts') ?>"><?= e(trans('backend::lang.form.cancel')) ?></a>
</span>
</div>
</div>
@ -64,6 +64,6 @@
<?php else: ?>
<p class="flash-message static error"><?= e(trans($this->fatalError)) ?></p>
<p><a href="<?= Backend::url('system/mailtemplates') ?>" class="btn btn-default"><?= e(trans('system::lang.mail_templates.return')) ?></a></p>
<p><a href="<?= Backend::url('system/mailtemplates/index/layouts') ?>" class="btn btn-default"><?= e(trans('system::lang.mail_templates.return')) ?></a></p>
<?php endif ?>

View File

@ -5,12 +5,12 @@
name: system::lang.mail_templates.partial
form: ~/modules/system/models/mailpartial/fields.yaml
modelClass: System\Models\MailPartial
defaultRedirect: system/mailtemplates
defaultRedirect: system/mailtemplates/index/partials
create:
redirect: system/mailpartials/update/:id
redirectClose: system/mailtemplates
redirectClose: system/mailtemplates/index/partials
update:
redirect: system/mailtemplates
redirectClose: system/mailtemplates
redirect: system/mailtemplates/index/partials
redirectClose: system/mailtemplates/index/partials

View File

@ -1,6 +1,6 @@
<?php Block::put('breadcrumb') ?>
<ul>
<li><a href="<?= Backend::url('system/mailtemplates') ?>"><?= e(trans('system::lang.mail_templates.menu_partials_label')) ?></a></li>
<li><a href="<?= Backend::url('system/mailtemplates/index/partials') ?>"><?= e(trans('system::lang.mail_templates.menu_partials_label')) ?></a></li>
<li><?= e(trans($this->pageTitle)) ?></li>
</ul>
<?php Block::endPut() ?>
@ -33,7 +33,7 @@
<?= e(trans('backend::lang.form.create_and_close')) ?>
</button>
<span class="btn-text">
<?= e(trans('backend::lang.form.or')) ?> <a href="<?= Backend::url('system/mailtemplates') ?>"><?= e(trans('backend::lang.form.close')) ?></a>
<?= e(trans('backend::lang.form.or')) ?> <a href="<?= Backend::url('system/mailtemplates/index/partials') ?>"><?= e(trans('backend::lang.form.close')) ?></a>
</span>
</div>
</div>
@ -43,6 +43,6 @@
<?php else: ?>
<p class="flash-message static error"><?= e(trans($this->fatalError)) ?></p>
<p><a href="<?= Backend::url('system/mailtemplates') ?>" class="btn btn-default"><?= e(trans('system::lang.mail_templates.return')) ?></a></p>
<p><a href="<?= Backend::url('system/mailtemplates/index/partials') ?>" class="btn btn-default"><?= e(trans('system::lang.mail_templates.return')) ?></a></p>
<?php endif ?>

View File

@ -1,6 +1,6 @@
<?php Block::put('breadcrumb') ?>
<ul>
<li><a href="<?= Backend::url('system/mailtemplates') ?>"><?= e(trans('system::lang.mail_templates.menu_partials_label')) ?></a></li>
<li><a href="<?= Backend::url('system/mailtemplates/index/partials') ?>"><?= e(trans('system::lang.mail_templates.menu_partials_label')) ?></a></li>
<li><?= e(trans($this->pageTitle)) ?></li>
</ul>
<?php Block::endPut() ?>
@ -54,7 +54,7 @@
</button>
<?php endif ?>
<span class="btn-text">
<?= e(trans('backend::lang.form.or')) ?> <a href="<?= Backend::url('system/mailtemplates') ?>"><?= e(trans('backend::lang.form.cancel')) ?></a>
<?= e(trans('backend::lang.form.or')) ?> <a href="<?= Backend::url('system/mailtemplates/index/partials') ?>"><?= e(trans('backend::lang.form.cancel')) ?></a>
</span>
</div>
</div>
@ -64,6 +64,6 @@
<?php else: ?>
<p class="flash-message static error"><?= e(trans($this->fatalError)) ?></p>
<p><a href="<?= Backend::url('system/mailtemplates') ?>" class="btn btn-default"><?= e(trans('system::lang.mail_templates.return')) ?></a></p>
<p><a href="<?= Backend::url('system/mailtemplates/index/partials') ?>" class="btn btn-default"><?= e(trans('system::lang.mail_templates.return')) ?></a></p>
<?php endif ?>

View File

@ -1,17 +1,29 @@
<div class="control-tabs content-tabs tabs-flush" data-control="tab">
<ul class="nav nav-tabs">
<li class="active"><a href="#templates"><?= e(trans('system::lang.mail_templates.templates')) ?></a></li>
<li><a href="#layouts"><?= e(trans('system::lang.mail_templates.layouts')) ?></a></li>
<li><a href="#partials"><?= e(trans('system::lang.mail_templates.partials')) ?></a></li>
<li class="<?= $activeTab == 'templates' ? 'active' : '' ?>">
<a href="#templates" data-tab-url="<?= Backend::url('system/mailtemplates/index/templates') ?>">
<?= e(trans('system::lang.mail_templates.templates')) ?>
</a>
</li>
<li class="<?= $activeTab == 'layouts' ? 'active' : '' ?>">
<a href="#layouts" data-tab-url="<?= Backend::url('system/mailtemplates/index/layouts') ?>">
<?= e(trans('system::lang.mail_templates.layouts')) ?>
</a>
</li>
<li class="<?= $activeTab == 'partials' ? 'active' : '' ?>">
<a href="#partials" data-tab-url="<?= Backend::url('system/mailtemplates/index/partials') ?>">
<?= e(trans('system::lang.mail_templates.partials')) ?>
</a>
</li>
</ul>
<div class="tab-content">
<div class="tab-pane active">
<div class="tab-pane <?= $activeTab == 'templates' ? 'active' : '' ?>">
<?= $this->listRender('templates') ?>
</div>
<div class="tab-pane">
<div class="tab-pane <?= $activeTab == 'layouts' ? 'active' : '' ?>">
<?= $this->listRender('layouts') ?>
</div>
<div class="tab-pane">
<div class="tab-pane <?= $activeTab == 'partials' ? 'active' : '' ?>">
<?= $this->listRender('partials') ?>
</div>
</div>

View File

@ -77,6 +77,11 @@ class MailBrandSetting extends Model
}
public function afterSave()
{
$this->resetCache();
}
public function resetCache()
{
Cache::forget(self::CACHE_KEY);
}

View File

@ -11,7 +11,9 @@ name = "Button"
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td>
<a href="{{ url }}" class="button button-{{ type ?: 'primary' }}" target="_blank">{{ body }}</a>
<a href="{{ url }}" class="button button-{{ type ?: 'primary' }}" target="_blank">
{{ body }}
</a>
</td>
</tr>
</table>