refactor(shop-coupon): migrate admin module to DI and release 0.266

This commit is contained in:
2026-02-14 00:05:23 +01:00
parent 88e5673569
commit 40e777afe6
40 changed files with 1668 additions and 426 deletions

View File

@@ -75,7 +75,7 @@
<li>
<a href="/admin/shop_statuses/view_list/"><i class="fa fa-bars"></i>Statusy zam&#243;wie&#324;</a>
</li>
<li><a href="/admin/shop_coupon/view_list/"><img src="/admin/layout/icon/icon-menu/piggy-bank-coins.svg">Kody rabatowe</a></li>
<li><a href="/admin/shop_coupon/list/"><img src="/admin/layout/icon/icon-menu/piggy-bank-coins.svg">Kody rabatowe</a></li>
<li><a href="/admin/shop_promotion/list/"><img src="/admin/layout/icon/icon-menu/burst-sale.svg">Promocje</a></li>
</ul>
<div class="title">Zawarto&#347;&#263;</div>
@@ -197,6 +197,55 @@
</div>
</div>
<script class="footer" type="text/javascript">
(function() {
function bindClearCacheButton() {
$(document)
.off('click.clearCacheBtn', '#clear-cache-btn')
.on('click.clearCacheBtn', '#clear-cache-btn', function(e) {
e.preventDefault();
var $btn = $(this);
var originalText = $btn.text();
// Show pending state
$btn.prop('disabled', true).html('<i class="fa fa-spinner fa-spin"></i> Czyszcz\u0119 cache...');
// Send AJAX request
$.ajax({
url: '/admin/settings/clearCacheAjax/',
type: 'POST',
dataType: 'json',
success: function(response) {
if (response.status === 'success') {
// Show success state
$btn.html('<i class="fa fa-check"></i> Cache wyczyszczony!').removeClass('btn-danger').addClass('btn-success');
// Restore original state after delay
setTimeout(function() {
$btn.prop('disabled', false).html(originalText).removeClass('btn-success').addClass('btn-danger');
}, 2000);
} else {
// Request failed on server
$btn.html('<i class="fa fa-exclamation-triangle"></i> B\u0142\u0105d!').removeClass('btn-danger').addClass('btn-warning');
setTimeout(function() {
$btn.prop('disabled', false).html(originalText).removeClass('btn-warning').addClass('btn-danger');
}, 2000);
}
},
error: function() {
// Network or transport error
$btn.html('<i class="fa fa-exclamation-triangle"></i> B\u0142\u0105d po\u0142\u0105czenia!').removeClass('btn-danger').addClass('btn-warning');
setTimeout(function() {
$btn.prop('disabled', false).html(originalText).removeClass('btn-warning').addClass('btn-danger');
}, 2000);
}
});
});
}
bindClearCacheButton();
})();
$(document).ready(function () {
var user_agent = navigator.userAgent.toLowerCase();
var click_event = user_agent.match(/(iphone|ipod|ipad)/) ? "touchend" : "click";
@@ -218,47 +267,6 @@
}
});
// Cache clear button handler
$('#clear-cache-btn').on('click', function(e) {
e.preventDefault();
var $btn = $(this);
var originalText = $btn.text();
// Show pending state
$btn.prop('disabled', true).html('<i class="fa fa-spinner fa-spin"></i> Czyszcz\u0119 cache...');
// Send AJAX request
$.ajax({
url: '/admin/settings/clearCacheAjax/',
type: 'POST',
dataType: 'json',
success: function(response) {
if (response.status === 'success') {
// Show success state
$btn.html('<i class="fa fa-check"></i> Cache wyczyszczony!').removeClass('btn-danger').addClass('btn-success');
// Restore original state after delay
setTimeout(function() {
$btn.prop('disabled', false).html(originalText).removeClass('btn-success').addClass('btn-danger');
}, 2000);
} else {
// Request failed on server
$btn.html('<i class="fa fa-exclamation-triangle"></i> B\u0142\u0105d!').removeClass('btn-danger').addClass('btn-warning');
setTimeout(function() {
$btn.prop('disabled', false).html(originalText).removeClass('btn-warning').addClass('btn-danger');
}, 2000);
}
},
error: function() {
// Network or transport error
$btn.html('<i class="fa fa-exclamation-triangle"></i> B\u0142\u0105d po\u0142\u0105czenia!').removeClass('btn-danger').addClass('btn-warning');
setTimeout(function() {
$btn.prop('disabled', false).html(originalText).removeClass('btn-warning').addClass('btn-danger');
}, 2000);
}
});
});
});
</script>
</body>