diff options
| author | Daniel Schmitzer <noreply@maennchen1.de> | 2025-11-24 07:43:33 +0000 |
|---|---|---|
| committer | Daniel Schmitzer <noreply@maennchen1.de> | 2025-11-24 07:43:33 +0000 |
| commit | 097629a83266a9dbfe6795a2272f19bf7a93145e (patch) | |
| tree | da1dbfa24237590f06dc7582bde56aa78b4b347f | |
| parent | d38ac62efcf91fe895fbcac04da557353cb313f2 (diff) | |
- Feature: Gutscheine duplizierbar
git-svn-id: https://[internal]/wordpress/plugins/wpsg4@8512 0d5edaf7-2b12-4e95-93f4-047927463d4b
| -rw-r--r-- | views/mods/mod_gutschein/index.phtml | 82 |
1 files changed, 61 insertions, 21 deletions
diff --git a/views/mods/mod_gutschein/index.phtml b/views/mods/mod_gutschein/index.phtml index 3a8d173..a0ec2bb 100644 --- a/views/mods/mod_gutschein/index.phtml +++ b/views/mods/mod_gutschein/index.phtml @@ -37,7 +37,7 @@ <input id="wpsg_order" type="hidden" name="filter[order]" value="<?php echo @$this->view['arFilter']['order']; ?>" />
<input id="wpsg_ascdesc" type="hidden" name="filter[ascdesc]" value="<?php echo @$this->view['arFilter']['ascdesc']; ?>" />
- <?php echo wpsg_drawForm_Input('filter[s]', __('Suchfeld', 'wpsg'), wpsg_getStr($this->view['arFilter']['s'])); ?>
+ <?php echo wpsg_drawForm_Input('filter[s]', __('Suchfeld', 'wpsg'), stripslashes(wpsg_getStr($this->view['arFilter']['s']))); ?>
<?php echo wpsg_drawForm_SubmitButton(__('Gutscheine suchen')); ?><br />
<input type="hidden" id="filterstatus" name="filter[status]" value="<?php echo @$this->view['arFilter']['status']; ?>" />
@@ -105,7 +105,12 @@ |
<span><a title="<?php echo __('Bestellungen anzeigen', 'wpsg'); ?>" href="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Order&filter[status]=-1&filter[voucher_id]=<?php echo $oVoucher->getId(); ?>"><?php echo __('Bestellungen suchen', 'wpsg'); ?></a></span>
|
- <span class="duplicate"><a title="<?php echo __("Diesen Gutschein mit anderem Code duplizieren", "wpsg"); ?>" href="#" class="wpsg_voucher_duplicate" onclick="return false;" data-voucher_id="<?php echo $oVoucher->getId(); ?>"><?php echo __("Duplizieren", "wpsg"); ?></a></span>
+ <span class="duplicate"><a title="<?php echo __("Diesen Gutschein mit anderem Code duplizieren", "wpsg"); ?>" href="#" class="wpsg_voucher_duplicate"
+ data-voucher_id="<?php echo $oVoucher->getId(); ?>"
+ data-voucher_start_date="<?php echo $oVoucher->getStartDate('d.m.Y'); ?>"
+ data-code="<?php echo $oVoucher->getCode(); ?>"
+ data-voucher_end_date="<?php echo $oVoucher->getEndDate('d.m.Y'); ?>"
+ ><?php echo __("Duplizieren", "wpsg"); ?></a></span>
</div>
</td>
@@ -213,7 +218,34 @@ </div>
</div>
-<script type="text/javascript">/* <![CDATA[ */
+<!-- Modaldialog für Gutscheine duplizieren -->
+<div class="modal fade" id="wpsg_voucher_clone_dialog" tabindex="-1" role="dialog">
+ <div class="modal-dialog" role="document">
+ <form class="modal-content" method="POST" action="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Admin&action=module&modul=wpsg_mod_gutschein&subaction=duplicate&noheader=1">
+
+ <?php wp_nonce_field('wpsg_voucher_clone_dialog', 'wpsg_voucher_clone_dialog'); ?>
+
+ <div class="modal-header">
+ <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
+ <h4 class="modal-title"><?php echo __('Gutschein duplizieren', 'wpsg'); ?></h4>
+ </div>
+ <div class="modal-body">
+ <input name="voucher_id" type="hidden" id="wpsg_mod_gutschein_clone_id" />
+ <?php echo wpsg_drawForm_Input('wpsg_mod_gutschein_clone_start', __('Gültig ab', 'wpsg'), '', array('datepicker' => true)); ?>
+ <?php echo wpsg_drawForm_Input('wpsg_mod_gutschein_clone_end', __('Gültig bis', 'wpsg'), '', array('datepicker' => true)); ?>
+ <?php echo wpsg_drawForm_Input('wpsg_mod_gutschein_clone_count', __('Anzahl', 'wpsg'), 1, array('size' => 3)); ?>
+ <?php echo wpsg_drawForm_Textarea('wpsg_mod_gutschein_clone_comment', __('Kommentar der neuen Gutscheine', 'wpsg'), ''); ?>
+ </div>
+ <div class="modal-footer">
+ <button type="button" class="btn btn-default" data-dismiss="modal"><?php echo __('Abbrechen', 'wpsg'); ?></button>
+ <button type="submit" class="btn btn-primary" id="wpsg-voucher-clone"><?php echo __('OK', 'wpsg'); ?></button>
+ </div>
+ </form>
+ </div>
+</div>
+
+
+<script type="text/javascript">
<?php if (wpsg_isSizedString($this->view['arFilter']['order']) && wpsg_isSizedString($this->view['arFilter']['ascdesc'])) { ?>
jQuery('th[data-order="<?php echo $this->view['arFilter']['order']; ?>"]').addClass('wpsg_order_<?php echo strtolower($this->view['arFilter']['ascdesc']); ?>');
@@ -334,24 +366,32 @@ } );
+ document.querySelectorAll('.wpsg_voucher_duplicate').forEach(function(btn) {
+
+ btn.addEventListener('click', function(e) {
+
+ e.preventDefault();
+
+ const id = this.dataset.voucher_id;
+ const start_date = this.dataset.voucher_start_date;
+ const end_date = this.dataset.voucher_end_date;
+ const code = this.dataset.code;
+
+ document.getElementById('wpsg_mod_gutschein_clone_id').value = id;
+ document.getElementById('wpsg_mod_gutschein_clone_start').value = start_date;
+ document.getElementById('wpsg_mod_gutschein_clone_end').value = end_date;
+ document.getElementById('wpsg_mod_gutschein_clone_comment').value = 'Kopie aus Gutschein "' + code + '" / ' + new Date().toLocaleDateString('de-DE');
+
+ jQuery('#wpsg_voucher_clone_dialog').modal('show');
- jQuery('.wpsg_voucher_duplicate').on('click', function() {
- if (!confirm('<?php echo __('Diesen Gutschein duplizieren?', 'wpsg'); ?>')) return false;
- var id = jQuery(this).data('voucher_id');
- wpsg_loading('body');
- jQuery.ajax({
- url: '<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Admin&action=module&modul=wpsg_mod_gutschein&subaction=duplicate&noheader=1&voucher_id=' + id,
- success: function(data) {
- wpsg_loading_done('body');
- if (data !== '1') { alert(data); }
- else { location.reload(); }
- },
- error: function() {
- wpsg_loading_done('body');
- alert('<?php echo __('Unbekannter Fehler beim Duplizieren.', 'wpsg'); ?>');
- }
});
- return false;
- }).attr('onclick', null);
-/* ]]> */</script>
\ No newline at end of file + });
+
+ document.getElementById('wpsg-voucher-clone').addEventListener('click', function() {
+
+ wpsg_loading('body');
+
+ });
+
+</script>
\ No newline at end of file |
