diff options
Diffstat (limited to 'views/mods/mod_ticket/settings_edit.phtml')
| -rw-r--r-- | views/mods/mod_ticket/settings_edit.phtml | 159 |
1 files changed, 159 insertions, 0 deletions
diff --git a/views/mods/mod_ticket/settings_edit.phtml b/views/mods/mod_ticket/settings_edit.phtml new file mode 100644 index 0000000..120fb89 --- /dev/null +++ b/views/mods/mod_ticket/settings_edit.phtml @@ -0,0 +1,159 @@ +<?php + + declare(strict_types=1); + + /** + * @author: Daniel Schmitzer (daniel@maennchen1.de) + * @date: 26.10.23 + * @time: 18:55 + */ + + namespace wpsgTicket; + + $arTicketTemplates = TicketTemplate::find(); + + $arFontVue = []; + + foreach ($this->view['arFonts'] as $font_code => $font_label) { + + $arFontVue[] = ['code' => $font_code, 'label' => $font_label]; + + } + +?> + +<div id="wpsg_ticket_modul"> + + <ul class="nav nav-tabs" role="tablist"> + <li role="presentation" class="active"><a href="#tab1" role="tab" data-toggle="tab"><?php echo __('Einstellungen', 'wpsg'); ?></a></li> + <li role="presentation" class=""><a href="#tab2" role="tab" data-toggle="tab"><?php echo __('Templates', 'wpsg'); ?></a></li> + <li role="presentation" style="float:right;"><a href="#tab5" role="tab" data-toggle="tab"><?php echo __('Info / Hilfe', 'wpsg'); ?></a></li> + </ul> + <div class="tab-content"> + <div role="tabpanel" class="tab-pane active" id="tab1"> + + <p> + <?php echo __('Beim Wechsel einer Bestellung auf einen der folgenden Bestellzuständen wird einmalig eine E-Mail mit den Tickets versendet.', 'wpsg'); ?> + </p> + + <?php + + $wpsg_mod_ticket_orderstate_send = Plugin::getInstance()->getSendOrderState(); + + ?> + <select id="wpsg_mod_ticket_orderstate_send" multiple="multiple" size="5" style="border:1px solid black; width:100%;"> + <?php foreach ($this->arStatus as $status_key => $status_label) { ?> + <option + <?php echo ((in_array($status_key, $wpsg_mod_ticket_orderstate_send))?'selected="selected"':''); ?> + value="<?php echo $status_key; ?>"><?php echo $status_label; ?></option> + <?php } ?> + </select> + + <hr /> + + <p> + <?php echo __('Bei folgenden Bestellzuständen gilt ein Ticket als "aktiv" sofern es noch nicht entwertet wurde.', 'wpsg'); ?> + </p> + + <?php + + $wpsg_mod_ticket_orderstate_active = Plugin::getInstance()->getActiveOrderState(); + ?> + <select id="wpsg_mod_ticket_orderstate_active" multiple="multiple" size="5" style="border:1px solid black; width:100%;"> + <?php foreach ($this->arStatus as $status_key => $status_label) { ?> + <option + <?php echo ((in_array($status_key, $wpsg_mod_ticket_orderstate_active))?'selected="selected"':''); ?> + value="<?php echo $status_key; ?>"><?php echo $status_label; ?></option> + <?php } ?> + </select> + + </div> + <div role="tabpanel" class="tab-pane" id="tab2"> + <?php echo $this->render(WPSG_PATH_VIEW.'/mods/mod_ticket/settings_edit_templates.phtml'); ?> + </div> + <div role="tabpanel" class="tab-pane" id="tab5"> + TODO + </div> + </div> + + <div v-if="loading" class="loading_layer"> + <img src="<?php echo WPSG_URL; ?>views/gfx/ajax-loader.gif" alt="<?php echo __('Bitte warten ...', 'wpsg'); ?>" /> + </div> + +</div> + +<style> + + .items-center { justify-content:center; } + .items-start { justify-content:start; } + .flex { display:flex; } + .justify-between { justify-content:space-between; } + .mb-4 { margin-bottom:1rem; } + .gap-2 { gap:0.5rem; } + .text-center { text-align:center; } + + #wpsg_ticket_modul .control-label { padding-top:0; font-size:1em; } + + .checkbox_row { display:flex; flex-direction:row; align-items:center; justify-content:flex-start; gap:1rem; margin-bottom:0.5rem; } + .checkbox_row input { margin:0; } + + #wpsg_ticket_modul { position:relative; } + #wpsg_ticket_modul a { text-decoration:none; position:relative; } + #wpsg_ticket_modul select.template_select { width:200px; } + #wpsg_ticket_modul > .loading_layer { position:absolute; left:0; top:0; width:100%; height:100%; transition:all 0.1s; display:flex; align-items:center; justify-content:center; background-color:rgba(255, 255, 255, 0.75); } + + #wpsg_ticket_modul .field_table { width:100%; border-top:1px solid #dddddd; border-left:1px solid #dddddd; border-right:1px solid #dddddd; font-size:12px; } + #wpsg_ticket_modul .field_table td { padding:1px 5px; } + #wpsg_ticket_modul .field_table tbody > tr:first-child > * { padding-top:1rem; } + #wpsg_ticket_modul .field_table tbody > tr:last-child > * { padding-bottom:1rem; } + #wpsg_ticket_modul .field_table th { padding:1px 5px; } + #wpsg_ticket_modul .field_table tr > * { background-color:#f9f9f9; } + #wpsg_ticket_modul .field_table tr:nth-child(4) > * { border-bottom:1px solid #dddddd; padding-bottom:1rem; } + #wpsg_ticket_modul .field_table .w-1 { width:100px; font-size:12px; } + #wpsg_ticket_modul .field_table .w-2 { width:200px; font-size:12px; } + + #wpsg_ticket_modul_template .head { width:100%; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #DDDDDD; margin-bottom:1rem; padding-bottom:1rem; } + #wpsg_ticket_modul_template .head select { width:300px; } + #wpsg_ticket_modul_template .head div { flex-grow:1; } + #wpsg_ticket_modul_template .wpsg_field_wrap_template_name { display:flex; justify-content:space-between; align-items:center; padding-right:10px !important; } + #wpsg_ticket_modul_template .wpsg_field_wrap_template_name > div { gap:1rem; display:flex; justify-content:flex-start; align-items:center; } + #wpsg_ticket_modul_template .template td.col_bg, + #wpsg_ticket_modul_template .template td.col_align { width:50px; text-align:center; } + #wpsg_ticket_modul_template .template tr td { vertical-align:middle; } + #wpsg_ticket_modul_template .template tr td:last-child { text-align:right; } + #wpsg_ticket_modul_template .template tr td:last-child .wpsg-glyphicon { margin-right:0; } + #wpsg_ticket_modul_template .uploadstate { display:flex; justify-content:flex-start; align-items:center; } + #wpsg_ticket_modul_template .uploadstate > img { margin-right:1rem; } + #wpsg_ticket_modul_template .file_wrap { display:flex; justify-content:space-between; align-items:center; } + #wpsg_ticket_modul_template .file_wrap .file { display:flex; gap:1rem; justify-content:flex-end; align-items:center; } + #wpsg_ticket_modul_template .file_wrap .file .wpsg-glyphicon { margin-right:8px; } + #wpsg_ticket_modul_template .label-copy { display:flex; justify-content:space-between; } + #wpsg_ticket_modul_template .label-copy .glyphicon { font-size:14px; } + #wpsg_ticket_modul_template .col_w0 { width:50px; } + #wpsg_ticket_modul_template .col_w1 { width:100px; } + #wpsg_ticket_modul_template .col_w1 select, + #wpsg_ticket_modul_template .col_w1 input { width:100% !important; } + + +</style> + +<script type="module"> + + const wpsgSettings = { + baseUrl: '<?php echo WPSG_URL; ?>' + }; + + import { ticket_settings_edit } from '<?php echo WPSG_URL; ?>mods/mod_ticket/assets/js/wpsg_modul.js'; + + ticket_settings_edit(wpsgSettings, '<?php echo \admin_url('admin-ajax.php'); ?>', <?php echo json_encode([ + 'arTemplates' => $arTicketTemplates, + 'arFonts' => $arFontVue, + 'label' => [ + 'copyTemplateConfirm' => __('Sind Sie sich sicher, dass sie das Template kopieren möchten?', 'wpsg'), + 'removeFieldConfirm' => __('Sind Sie sich sicher, dass sie das Feld löschen möchten?', 'wpsg'), + 'newTemplate' => __('Bitte die Bezeichnung des neuen Templates angeben.', 'wpsg'), + 'error_noTemplateName' => __('Bitte eine Bezeichnung angeben', 'wpsg') + ] + ]); ?>); + +</script> |
