Files
crm.clientright.ru/layouts/v7/modules/OnlyOfficeTemplates/GetTemplateActions.tpl
2026-02-16 09:27:19 +03:00

66 lines
3.3 KiB
Smarty

{*
OnlyOfficeTemplates widget: template list, format (PDF/DOCX), Download / Save to Documents
*}
{if $CRM_TEMPLATES_EXIST eq 0}
<li class="dropdown-header">
<span class="fa fa-file-text-o"></span> {vtranslate('LBL_OOT_TEMPLATES','OnlyOfficeTemplates')}
</li>
<li class="oot-widget" data-record="{$ID}" data-module="{$MODULE}">
<div class="form-group">
<label class="control-label">{vtranslate('LBL_OOT_SELECT_TEMPLATE','OnlyOfficeTemplates')}</label>
<select class="oot-template-id form-control input-sm">
{foreach from=$CRM_TEMPLATES item=tpl}
<option value="{$tpl.id}">{$tpl.name}</option>
{/foreach}
</select>
</div>
<div class="form-group">
<label class="control-label">{vtranslate('LBL_OOT_FORMAT','OnlyOfficeTemplates')}</label>
<select class="oot-format form-control input-sm">
<option value="pdf">{vtranslate('LBL_OOT_FORMAT_PDF','OnlyOfficeTemplates')}</option>
<option value="docx">{vtranslate('LBL_OOT_FORMAT_DOCX','OnlyOfficeTemplates')}</option>
</select>
</div>
<div class="btn-group btn-group-justified">
<a href="javascript:;" class="oot-download"><i class="fa fa-download"></i> {vtranslate('LBL_OOT_DOWNLOAD','OnlyOfficeTemplates')}</a>
<a href="javascript:;" class="oot-save-to-docs"><i class="fa fa-save"></i> {vtranslate('LBL_OOT_SAVE_TO_DOCUMENTS','OnlyOfficeTemplates')}</a>
</div>
</li>
{else}
<li><span class="text-muted">{vtranslate('LBL_OOT_NO_TEMPLATES','OnlyOfficeTemplates')}</span></li>
{/if}
{if $CRM_TEMPLATES_EXIST eq 0}
<script type="text/javascript">
(function() {
var container = document.querySelector('.oot-widget');
if (!container) return;
container.addEventListener('click', function(e) {
var t = e.target.closest('.oot-download, .oot-save-to-docs');
if (!t) return;
e.preventDefault();
var record = container.getAttribute('data-record'), module = container.getAttribute('data-module');
var sel = container.querySelector('.oot-template-id'), fmt = container.querySelector('.oot-format');
var templateId = sel ? sel.value : '', format = fmt ? fmt.value : 'pdf';
var mode = t.classList.contains('oot-download') ? 'download' : 'save_to_documents';
var url = 'index.php?module=OnlyOfficeTemplates&action=CreateFromTemplate&record=' + encodeURIComponent(record) + '&source_module=' + encodeURIComponent(module) + '&template_id=' + encodeURIComponent(templateId) + '&format=' + encodeURIComponent(format) + '&mode=' + encodeURIComponent(mode);
if (mode === 'download') {
window.location.href = url;
} else {
var xhr = new XMLHttpRequest();
xhr.open('GET', url + '&ajax=1');
xhr.onload = function() {
var res = {};
try { res = JSON.parse(xhr.responseText); } catch (err) {}
if (res.success) {
alert(res.message || 'Сохранено в Документы');
} else {
alert(res.error || 'Ошибка');
}
};
xhr.send();
}
});
})();
</script>
{/if}