257 lines
13 KiB
Smarty
257 lines
13 KiB
Smarty
{function renderEmailTemplate}
|
|
<div class="wpj-panel" data-form-item="{$index}">
|
|
<div class="wpj-panel-heading" data-toggle="collapse" data-target="#emails_{$index}">
|
|
<div class="row">
|
|
<div class="col-xs-3">
|
|
<p><strong>{if $message.name}{$message.name}{else}{'adminMailTranslateError'|translate}{/if}</strong></p>
|
|
</div>
|
|
<div class="col-xs-7">
|
|
<p>
|
|
{if $message.type != 'BASIC_TEMPLATE'}
|
|
<small>{$message.subject}</small>
|
|
{else}
|
|
<small class="help-block no-margin">{'adminMailTooltipSignature'|translate}</small>
|
|
{/if}
|
|
</p>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<p>
|
|
{if $message.sms}
|
|
<span class='badge badge-primary' title='Vyplněná SMS'>{'sms'|translate}</span>
|
|
{/if}
|
|
</p>
|
|
</div>
|
|
<div class="col-xs-1 text-right">
|
|
{if $message.type != 'BASIC_TEMPLATE'}
|
|
{print_toggle name="emails_messages][{$message.id}][enabled" value="{$message.enabled}"}
|
|
{/if}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="wpj-panel-collapse collapse" id="emails_{$index}">
|
|
<div class="wpj-panel-body">
|
|
<div class="form-group wpj-form-group-flex">
|
|
<div class="col-xs-6">
|
|
<label>
|
|
{if $message.isAnswer === false}
|
|
{'to_mail'|translate}
|
|
<a class="help-tip" data-toggle="tooltip" title="{'toMailTooltip'|translate:'settings'}"><i
|
|
class="bi bi-question-circle"></i></a>
|
|
{else}
|
|
{'from_mail'|translate}
|
|
<a class="help-tip" data-toggle="tooltip" title="{'fromMailTooltip'|translate:'settings'}"><i
|
|
class="bi bi-question-circle"></i></a>
|
|
{/if}
|
|
</label>
|
|
<input type="text" class="form-control" name="data[emails_messages][{$message.id}][email]" size="30"
|
|
maxlength="255" value="{$message.email}" autocomplete="nope" placeholder="{if $message.type != 'ORDER_CREATE_ADMIN'}{$body.data.default_email}{else}{'fromEmailPlaceholder'|translate:'settings'}{/if}"
|
|
pattern='(?:"?([^"]*)"?\s)?(?:<?(.+@[^>]+)>?)'>
|
|
|
|
</div>
|
|
<div class="col-xs-3">
|
|
<a href="javascript:nw('emailTest','','{$message.type}')" class="btn btn-secondary btn-block">
|
|
<span></span>{'showTest'|translate}
|
|
</a>
|
|
</div>
|
|
|
|
{if $message.type != 'BASIC_TEMPLATE'}
|
|
<div class="col-xs-3">
|
|
<a href="javascript:defaultTemplate('{$message.type}', {$message.id})" class="btn btn-secondary btn-block"
|
|
title="{'defaultEmailText'|translate}">
|
|
<span class="bi bi-arrow-repeat"></span>{'defaultEmailText'|translate}
|
|
</a>
|
|
<input type="hidden" name="default_templates[{$message.type}][subject]"
|
|
value="{$message.default_template.subject}">
|
|
<input type="hidden" name="default_templates[{$message.type}][body]"
|
|
value="{$message.default_template.body}">
|
|
</div>
|
|
{else}
|
|
<div class="col-xs-3">
|
|
<a href="javascript:nw('emailTest','','{$message.type}&acn=placeholders')" class="btn btn-ghost btn-block"
|
|
title="{'placeholders'|translate}">
|
|
<span class="bi bi-braces"></span>{'placeholders'|translate}
|
|
</a>
|
|
</div>
|
|
{/if}
|
|
</div>
|
|
|
|
{if $message.type != 'BASIC_TEMPLATE'}
|
|
<div class="form-group wpj-form-group-flex">
|
|
<div class="col-xs-9">
|
|
<label>{'Subject'|translate}</label>
|
|
<input type="text" class="form-control" name="data[emails_messages][{$message.id}][subject]"
|
|
value="{$message.subject}">
|
|
</div>
|
|
<div class="col-xs-3">
|
|
<a href="javascript:nw('emailTest','','{$message.type}&acn=placeholders')" class="btn btn-block btn-ghost"
|
|
title="{'placeholders'|translate}">
|
|
<span class="bi bi-braces"></span>{'placeholders'|translate}
|
|
</a>
|
|
</div>
|
|
</div>
|
|
{else}
|
|
<input type="hidden" name="data[emails_messages][{$message.id}][subject]" value="">
|
|
{/if}
|
|
|
|
<div class="form-group">
|
|
<div class="col-xs-12">
|
|
<label class="d-flex justify-content-between">
|
|
{'text'|translate}
|
|
{insert_llm_button type='email_text' target="data[emails_messages][{$message.id}][body]"}
|
|
</label>
|
|
<textarea name="data[emails_messages][{$message.id}][body]" class="form-control" rows="5" cols="30">
|
|
{if $message.type == 'BASIC_TEMPLATE'}
|
|
{$message.body}
|
|
{else}
|
|
<div class="read_only" contenteditable="false">{$template.header}</div>
|
|
{$message.body}
|
|
<div class="read_only" contenteditable="false">{$template.footer}</div>
|
|
{/if}
|
|
</textarea>
|
|
{insert_wysiwyg target="data[emails_messages][{$message.id}][body]" type="email" config="forcePasteAsPlainText: true"}
|
|
</div>
|
|
</div>
|
|
{if $message.type == 'BASIC_TEMPLATE'}
|
|
<div class="form-group">
|
|
<div class="col-xs-12">
|
|
<label>{'default_signature'|translate}
|
|
<a class="help-tip" data-toggle="tooltip" title="{'default_signature_tooltip'|translate}"><i
|
|
class="bi bi-question-circle"></i></a>
|
|
</label>
|
|
|
|
<textarea name="data[email_default_signature][signature]" class="form-control" rows="5" cols="30">
|
|
{$body.data.email_default_signature.signature}
|
|
</textarea>
|
|
{insert_wysiwyg target="data[email_default_signature][signature]" type="email" config="forcePasteAsPlainText: true, autoParagraph: false"}
|
|
</div>
|
|
</div>
|
|
{/if}
|
|
|
|
<div class="form-group">
|
|
{if $body.SMSSenderBackend}
|
|
<div class="col-xs-6">
|
|
<label class="d-flex justify-content-between">
|
|
{'sms'|translate}
|
|
{insert_llm_button type='email_sms' target="data[emails_messages][{$message.id}][sms]"}
|
|
</label>
|
|
<textarea class="form-control" rows="2"
|
|
name="data[emails_messages][{$message.id}][sms]">{$message.sms}</textarea>
|
|
<span class="help-block" style="margin-bottom: 0;">
|
|
<span class="charCounter" rel="data[emails_messages][{$message.id}][sms]" data-maxlength="160"></span>
|
|
</span>
|
|
</div>
|
|
{/if}
|
|
|
|
{if $body.attachments[$message.attachmentsGroup]}
|
|
<div class="col-xs-6">
|
|
<label>{'attachments'|translate}</label>
|
|
<select class="selecter selecter-element" multiple
|
|
name="data[emails_messages][{$message.id}][attachments][]">
|
|
{foreach $body.attachments[$message.attachmentsGroup] as $type => $name}
|
|
<option value="{$type}" {if in_array($type, $message.attachments)}selected{/if}>{$name}</option>
|
|
{/foreach}
|
|
</select>
|
|
</div>
|
|
{/if}
|
|
</div>
|
|
|
|
<input type="hidden" name="data[emails_messages][{$message.id}][type]" value="{$message.type}">
|
|
<input type="hidden" name="data[emails_messages][{$message.id}][order_status]" value="">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{/function}
|
|
<div class="row">
|
|
<div class="col-md-4 col-xs-12">
|
|
<div class="wpj-form-group">
|
|
<label for="order_shopkeeper_mail">{'adminMailInput'|translate}
|
|
<a class="help-tip" data-toggle="tooltip" title="{'adminMailTooltip'|translate}"><i class="bi bi-question-circle"></i></a>
|
|
</label>
|
|
<input type="email" id="order_shopkeeper_mail" class="form-control" name="data[order_shopkeeper_mail]" maxlength="255"
|
|
value="{$body.data.order_shopkeeper_mail}" autocomplete="nope" multiple>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-4 col-xs-12">
|
|
<div class="wpj-form-group">
|
|
<label for="bounce_email">{'bounce_email'|translate:'settings' nofilter}
|
|
<a class="help-tip" data-toggle="tooltip" title="{'bounceMailTooltip'|translate:'settings'}"><i class="bi bi-question-circle"></i></a>
|
|
</label>
|
|
<input type="email" id="bounce_email" class="form-control" name="data[bounce_email]" value="{$dbcfg.bounce_email}" autocomplete="nope">
|
|
</div>
|
|
</div>
|
|
<div class="col-md-4 col-xs-12">
|
|
<div class="wpj-form-group">
|
|
<label for="archive_email">{'archive_email'|translate:'settings' nofilter}
|
|
<a class="help-tip" data-toggle="tooltip" title="{'archive_emailTooltip'|translate:'settings'}"><i class="bi bi-question-circle"></i></a>
|
|
</label>
|
|
<input type="email" id="archive_email" class="form-control" name="data[archive_email]" value="{$dbcfg.archive_email}" autocomplete="nope">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
{showPlaceholders type=$body.email::TAB_ORDERS}
|
|
{get_contexts language=1 assign='contexts'}
|
|
{$template = $body.email->getBasicTemplate($contexts.language->getDefaultId())}
|
|
<div id="emails">
|
|
<div class="wpj-panel-group wpj-panel-group-default m-b-3">
|
|
<div class="wpj-panel-group wpj-panel-group-default">
|
|
<div class="wpj-panel-group-heading">
|
|
<div class="row">
|
|
<div class="col-xs-3">
|
|
<small>{'adminMailTitleEvent'|translate}</small>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="wpj-panel">
|
|
{$message = $body.emails['other']['BASIC_TEMPLATE']}
|
|
{renderEmailTemplate index='default' message=$message}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{$index = 0}
|
|
{foreach $body.emails as $name => $group}
|
|
<div id="emails_{$name}" class="m-b-3">
|
|
<h4>{"group_$name"|translate}</h4>
|
|
|
|
<div class="wpj-panel-group wpj-panel-group-default">
|
|
<div class="wpj-panel-group-heading">
|
|
<div class="row">
|
|
<div class="col-xs-3">
|
|
<small>{'adminMailTitleEvent'|translate}</small>
|
|
</div>
|
|
<div class="col-xs-7">
|
|
<small>{'adminMailTitleSubject'|translate}</small>
|
|
</div>
|
|
<div class="col-xs-1"></div>
|
|
<div class="col-xs-1 text-right">
|
|
<small>{'adminMailTitleActive'|translate}</small>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{foreach $group as $key => $message}
|
|
{if $key == 'BASIC_TEMPLATE' or $key == 'BASIC_COMPONENT_TEMPLATE'}{continue}{/if}
|
|
{renderEmailTemplate index=$index message=$message}
|
|
{$index = $index + 1}
|
|
{/foreach}
|
|
</div>
|
|
</div>
|
|
{/foreach}
|
|
</div>
|
|
<script type="text/javascript">
|
|
function defaultTemplate(email_type, message_id) {
|
|
var def_subj = $('input[name="default_templates[' + email_type + '][subject]"]');
|
|
var subj = $('input[name="data[emails_messages][' + message_id + '][subject]"]');
|
|
subj.val(def_subj.attr('value'));
|
|
var def_body = $('input[name="default_templates[' + email_type + '][body]"]');
|
|
var editor = CKEDITOR.instances['data[emails_messages][' + message_id + '][body]'];
|
|
var $text = '<div class="read_only" contenteditable="false">';
|
|
$text += {json_encode($template.header) nofilter};
|
|
$text += '</div>';
|
|
$text += def_body.attr('value');
|
|
$text += '<div class="read_only" contenteditable="false">';
|
|
$text += {json_encode($template.footer) nofilter};
|
|
$text += '</div>';
|
|
editor.setData($text);
|
|
}
|
|
</script>
|