From 554aeca6c4c3c021ccf58f903fcfd7ce36cf97df Mon Sep 17 00:00:00 2001 From: Thibault Richy Date: Fri, 22 Feb 2019 14:44:00 +0100 Subject: [PATCH] 404 : fix camp / add publish and unpublish --- app/Http/Controllers/AjaxController.php | 21 +++++++ app/Http/Controllers/MurController.php | 4 ++ public/css/app.css | 48 ++++++++++++++++ public/js/ajax.js | 2 +- resources/js/ajax.js | 71 ++++++++++++++++++++++-- resources/sass/partials/content.scss | 7 +++ resources/sass/partials/reset.scss | 28 +++++++++- resources/views/campagne/index.blade.php | 4 +- resources/views/errors/404.blade.php | 23 ++++++++ routes/web.php | 3 + 10 files changed, 203 insertions(+), 8 deletions(-) create mode 100644 resources/views/errors/404.blade.php diff --git a/app/Http/Controllers/AjaxController.php b/app/Http/Controllers/AjaxController.php index 9e586dd..f63ca5f 100644 --- a/app/Http/Controllers/AjaxController.php +++ b/app/Http/Controllers/AjaxController.php @@ -63,6 +63,27 @@ class AjaxController extends Controller return json_encode($coupon); } + // ---- Dépublie une campagne + public function unpublish_camp_ajax(Request $request){ + $campid = $request->input('campid'); + $campagne = Campagne::find($campid); + $campagne->camp_published = 0; + $campagne->save(); + + return json_encode($campagne); + } + + // ---- Publie une campagne + public function publish_camp_ajax(Request $request){ + $campid = $request->input('campid'); + $campagne = Campagne::find($campid); + $campagne->camp_published = 1; + $campagne->save(); + + return json_encode($campagne); + } + + // ---- Impression des BR public function impression_ajax(Request $request){ diff --git a/app/Http/Controllers/MurController.php b/app/Http/Controllers/MurController.php index 286ebd0..6d45691 100644 --- a/app/Http/Controllers/MurController.php +++ b/app/Http/Controllers/MurController.php @@ -28,6 +28,10 @@ class MurController extends Controller $ref = $campagne->camp_id; } + if($campagne->camp_published == 0){ + abort(404); + } + if(isset($datas['hash'])){ $contact = Contact::where([ 'contact_hash' => $datas['hash'], 'contact_siteId' => $campagne->camp_siteId diff --git a/public/css/app.css b/public/css/app.css index d91530a..e0040a4 100644 --- a/public/css/app.css +++ b/public/css/app.css @@ -202,6 +202,50 @@ p { margin-right: 10px; } +.code404 { + background-color: #adb5bd; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; +} + +.code404 div { + width: 400px; + padding: 20px; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + background-color: #FFF; +} + +.code404 div h2 { + color: #df0000; + font-weight: bold; +} + +.code404 div p { + color: #000; + text-align: center; + line-height: 1.2em; + font-weight: bold; +} + /*! * Font Awesome Free 5.3.1 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) @@ -6570,6 +6614,10 @@ main section .alert { margin: 10px 0; } +main section .pub i { + cursor: pointer; +} + #coupons-list { background-color: #2d2d2d; padding: 20px; diff --git a/public/js/ajax.js b/public/js/ajax.js index eadd015..cf93ea3 100644 --- a/public/js/ajax.js +++ b/public/js/ajax.js @@ -76,7 +76,7 @@ module.exports = __webpack_require__(5); /***/ 5: /***/ (function(module, exports) { -eval("$('#addCoupons').on('click', function (event) {\n event.preventDefault();\n var ids = [];\n $(this).parent().find('.inputGroup input').each(function (event) {\n if ($(this).is(':checked')) {\n ids.push($(this).val());\n }\n });\n $.ajaxSetup({\n headers: {\n 'X-CSRF-TOKEN': $(this).parent().find('#csrf').val()\n }\n });\n\n $.ajax({\n url: '/add-coupons-ajax',\n type: 'POST',\n data: {\n ids: ids,\n campid: $(this).parent().find('#camp_id').val()\n },\n dataType: 'JSON',\n success: function success(reponse) {\n $.each(reponse, function (index, coupon) {\n var html = '';\n html += '' + coupon.coupon_code + '';\n html += '' + coupon.coupon_name + '';\n html += '';\n html += '';\n $('.no-result').remove();\n $('.coupons-wrapper table').append(html);\n $('#addCoupons').parent().find('.inputGroup input').each(function (event) {\n if ($(this).val() == coupon.coupon_id) {\n $(this).parent('.inputGroup').remove();\n }\n });\n $.fancybox.close();\n });\n },\n error: function error(e) {\n console.log(e.responseText);\n }\n });\n});\n\n$('body').on('click', '.delete-coupon', function (event) {\n event.preventDefault();\n var campid = $(this).attr('data-campid');\n var couponid = $(this).attr('data-couponid');\n var trLinked = $(this).parent().parent();\n $.ajaxSetup({\n headers: {\n 'X-CSRF-TOKEN': trLinked.parent().parent().parent().find('#csrf').val()\n }\n });\n\n $.ajax({\n url: '/remove-coupons-ajax',\n type: 'POST',\n data: {\n couponid: couponid,\n campid: campid\n },\n dataType: 'JSON',\n success: function success(reponse) {\n trLinked.remove();\n var html = \"
\";\n html += \"\";\n html += \"\";\n html += \"
\";\n $(\"#camp_id\").before(html);\n },\n error: function error(e) {\n console.log(e.responseText);\n }\n });\n});\n\n$('body').on('click', '.unpublish', function (event) {\n event.preventDefault();\n var couponid = $(this).attr('data-couponid');\n var element = $(this).parent();\n //var icon = $(this).find('.pub');\n $.fancyConfirm({\n title: \" Dépublier\",\n message: \"Êtes-vous sûr de vouloir dépublier ce coupon ?\",\n okButton: 'Dépublier',\n noButton: 'Annuler',\n callback: function callback(value) {\n if (value) {\n $.ajaxSetup({\n headers: {\n 'X-CSRF-TOKEN': $('#csrf').val()\n }\n });\n $.ajax({\n url: '/unpublish-coupons-ajax',\n type: 'POST',\n data: {\n couponid: couponid\n },\n dataType: 'JSON',\n success: function success(reponse) {\n //icon.remove();\n element.empty().html('');\n }\n });\n }\n }\n });\n});\n\n$('body').on('click', '.publish', function (event) {\n event.preventDefault();\n var couponid = $(this).attr('data-couponid');\n var element = $(this).parent();\n //var icon = $(this).find('.pub');\n $.fancyInfo({\n title: \" Publier\",\n message: \"Êtes-vous sûr de vouloir publier ce coupon ?\",\n okButton: 'Publier',\n noButton: 'Annuler',\n callback: function callback(value) {\n if (value) {\n $.ajaxSetup({\n headers: {\n 'X-CSRF-TOKEN': $('#csrf').val()\n }\n });\n $.ajax({\n url: '/publish-coupons-ajax',\n type: 'POST',\n data: {\n couponid: couponid\n },\n dataType: 'JSON',\n success: function success(reponse) {\n //icon.remove();\n element.empty().html('');\n }\n });\n }\n }\n });\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvYWpheC5qcz9hOGJiIl0sIm5hbWVzIjpbIiQiLCJvbiIsImV2ZW50IiwicHJldmVudERlZmF1bHQiLCJpZHMiLCJwYXJlbnQiLCJmaW5kIiwiZWFjaCIsImlzIiwicHVzaCIsInZhbCIsImFqYXhTZXR1cCIsImhlYWRlcnMiLCJhamF4IiwidXJsIiwidHlwZSIsImRhdGEiLCJjYW1waWQiLCJkYXRhVHlwZSIsInN1Y2Nlc3MiLCJyZXBvbnNlIiwiaW5kZXgiLCJjb3Vwb24iLCJodG1sIiwiY291cG9uX2NvZGUiLCJjb3Vwb25fbmFtZSIsImNvdXBvbl9pZCIsInJlbW92ZSIsImFwcGVuZCIsImZhbmN5Ym94IiwiY2xvc2UiLCJlcnJvciIsImUiLCJjb25zb2xlIiwibG9nIiwicmVzcG9uc2VUZXh0IiwiYXR0ciIsImNvdXBvbmlkIiwidHJMaW5rZWQiLCJiZWZvcmUiLCJlbGVtZW50IiwiZmFuY3lDb25maXJtIiwidGl0bGUiLCJtZXNzYWdlIiwib2tCdXR0b24iLCJub0J1dHRvbiIsImNhbGxiYWNrIiwidmFsdWUiLCJlbXB0eSIsImZhbmN5SW5mbyJdLCJtYXBwaW5ncyI6IkFBQUFBLEVBQUUsYUFBRixFQUFpQkMsRUFBakIsQ0FBb0IsT0FBcEIsRUFBNkIsVUFBU0MsS0FBVCxFQUFlO0FBQ3hDQSxVQUFNQyxjQUFOO0FBQ0EsUUFBSUMsTUFBTSxFQUFWO0FBQ0FKLE1BQUUsSUFBRixFQUFRSyxNQUFSLEdBQWlCQyxJQUFqQixDQUFzQixtQkFBdEIsRUFBMkNDLElBQTNDLENBQWdELFVBQVNMLEtBQVQsRUFBZTtBQUMzRCxZQUFHRixFQUFFLElBQUYsRUFBUVEsRUFBUixDQUFXLFVBQVgsQ0FBSCxFQUEwQjtBQUN0QkosZ0JBQUlLLElBQUosQ0FBU1QsRUFBRSxJQUFGLEVBQVFVLEdBQVIsRUFBVDtBQUNIO0FBRUosS0FMRDtBQU1BVixNQUFFVyxTQUFGLENBQVk7QUFDUkMsaUJBQVM7QUFDTCw0QkFBZ0Ja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LE1BQUYsRUFBVUMsRUFBVixDQUFhLE9BQWIsRUFBc0IsVUFBdEIsRUFBa0MsVUFBU0MsS0FBVCxFQUFlO0FBQzdDQSxVQUFNQyxjQUFOO0FBQ0EsUUFBSWtDLFdBQVdyQyxFQUFFLElBQUYsRUFBUW9DLElBQVIsQ0FBYSxlQUFiLENBQWY7QUFDQSxRQUFJSSxVQUFVeEMsRUFBRSxJQUFGLEVBQVFLLE1BQVIsRUFBZDtBQUNBO0FBQ0FMLE1BQUVpRCxTQUFGLENBQVk7QUFDUlAsZUFBWSw2Q0FESjtBQUVSQyxpQkFBWSw4Q0FGSjtBQUdSQyxrQkFBWSxTQUhKO0FBSVJDLGtCQUFZLFNBSko7QUFLUkMsa0JBQVksa0JBQVVDLEtBQVYsRUFBaUI7QUFDM0IsZ0JBQUlBLEtBQUosRUFBVztBQUNUL0Msa0JBQUVXLFNBQUYsQ0FBWTtBQUNSQyw2QkFBUztBQUNMLHdDQUFnQlosRUFBRSxPQUFGLEVBQVdVLEdBQVg7QUFEWDtBQURELGlCQUFaO0FBS0FWLGtCQUFFYSxJQUFGLENBQU87QUFDSEMseUJBQUssdUJBREY7QUFFSEMsMEJBQU0sTUFGSDtBQUdIQywwQkFBTTtBQUNGcUIsa0NBQVVBO0FBRFIscUJBSEg7QUFNSG5CLDhCQUFVLE1BTlA7QUFPSEMsNkJBQVMsaUJBQVVDLE9BQVYsRUFBbUI7QUFDeEI7QUFDQW9CLGdDQUFRUSxLQUFSLEdBQWdCekIsSUFBaEIsQ0FBcUIsdUJBQXFCYyxRQUFyQixHQUE4QixvREFBbkQ7QUFDSDtBQVZFLGlCQUFQO0FBWUQ7QUFDRjtBQXpCTyxLQUFaO0FBNEJILENBakNEIiwiZmlsZSI6IjUuanMiLCJzb3VyY2VzQ29udGVudCI6WyIkKCcjYWRkQ291cG9ucycpLm9uKCdjbGljaycsIGZ1bmN0aW9uKGV2ZW50KXtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICBsZXQgaWRzID0gW107XHJcbiAgICAkKHRoaXMpLnBhcmVudCgpLmZpbmQoJy5pbnB1dEdyb3VwIGlucHV0JykuZWFjaChmdW5jdGlvbihldmVudCl7XHJcbiAgICAgICAgaWYoJCh0aGlzKS5pcygnOmNoZWNrZWQnKSl7XHJcbiAgICAgICAgICAgIGlkcy5wdXNoKCQodGhpcykudmFsKCkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgIH0pXHJcbiAgICAkLmFqYXhTZXR1cCh7XHJcbiAgICAgICAgaGVhZGVyczoge1xyXG4gICAgICAgICAgICAnWC1DU1JGLVRPS0VOJzogJCh0aGlzKS5wYXJlbnQoKS5maW5kKCcjY3NyZicpLnZhbCgpXHJcbiAgICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgJC5hamF4KHtcclxuICAgICAgICB1cmw6ICcvYWRkLWNvdXBvbnMtYWpheCcsXHJcbiAgICAgICAgdHlwZTogJ1BPU1QnLFxyXG4gICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgICAgaWRzOiBpZHMgLFxyXG4gICAgICAgICAgICBjYW1waWQ6ICQodGhpcykucGFyZW50KCkuZmluZCgnI2NhbXBfaWQnKS52YWwoKVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZGF0YVR5cGU6ICdKU09OJyxcclxuICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbiAocmVwb25zZSkgeyAgICBcclxuICAgICAgICAgICAgJC5lYWNoKHJlcG9uc2UsIGZ1bmN0aW9uKGluZGV4LCBjb3Vwb24pe1xyXG4gICAgICAgICAgICAgICAgdmFyIGh0bWwgPSAnPHRyPic7XHJcbiAgICAgICAgICAgICAgICBodG1sICs9ICc8dGQ+Jytjb3Vwb24uY291cG9uX2NvZGUrJzwvdGQ+JztcclxuICAgICAgICAgICAgICAgIGh0bWwgKz0gJzx0ZD4nK2NvdXBvbi5jb3Vwb25fbmFtZSsnPC90ZD4nO1xyXG4gICAgICAgICAgICAgICAgaHRtbCArPSAnPHRkPjxpIGNsYXNzPVwiZmFzIGZhLXRpbWVzIGRlbGV0ZS1jb3Vwb25cIiBkYXRhLWNhbXBpZD1cIicrJCh0aGlzKS5wYXJlbnQoKS5maW5kKCcjY2FtcF9pZCcpLnZhbCgpKydcIiBkYXRhLWNvdXBvbmlkPVwiJytjb3Vwb24uY291cG9uX2lkKydcIj48L2k+PC90ZD4nO1xyXG4gICAgICAgICAgICAgICAgaHRtbCArPSAnPC90cj4nO1xyXG4gICAgICAgICAgICAgICAgJCgnLm5vLXJlc3VsdCcpLnJlbW92ZSgpO1xyXG4gICAgICAgICAgICAgICAgJCgnLmNvdXBvbnMtd3JhcHBlciB0YWJsZScpLmFwcGVuZChodG1sKTtcclxuICAgICAgICAgICAgICAgICQoJyNhZGRDb3Vwb25zJykucGFyZW50KCkuZmluZCgnLmlucHV0R3JvdXAgaW5wdXQnKS5lYWNoKGZ1bmN0aW9uKGV2ZW50KXtcclxuICAgICAgICAgICAgICAgICAgICBpZigkKHRoaXMpLnZhbCgpID09IGNvdXBvbi5jb3Vwb25faWQpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLnBhcmVudCgnLmlucHV0R3JvdXAnKS5yZW1vdmUoKTtcclxuICAgICAgICAgICAgICAgICAgICB9ICBcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAkLmZhbmN5Ym94LmNsb3NlKCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IGZ1bmN0aW9uIChlKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGUucmVzcG9uc2VUZXh0KTtcclxuICAgICAgICB9XHJcbiAgICB9KTtcclxufSkgIFxyXG5cclxuXHJcblxyXG4kKCdib2R5Jykub24oJ2NsaWNrJywgJy5kZWxldGUtY291cG9uJywgZnVuY3Rpb24oZXZlbnQpe1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIHZhciBjYW1waWQgPSAkKHRoaXMpLmF0dHIoJ2RhdGEtY2FtcGlkJyk7XHJcbiAgICB2YXIgY291cG9uaWQgPSAkKHRoaXMpLmF0dHIoJ2RhdGEtY291cG9uaWQnKTtcclxuICAgIHZhciB0ckxpbmtlZCA9ICQodGhpcykucGFyZW50KCkucGFyZW50KCk7XHJcbiAgICAkLmFqYXhTZXR1cCh7XHJcbiAgICAgICAgaGVhZGVyczoge1xyXG4gICAgICAgICAgICAnWC1DU1JGLVRPS0VOJzogdHJMaW5rZWQucGFyZW50KCkucGFyZW50KCkucGFyZW50KCkuZmluZCgnI2NzcmYnKS52YWwoKVxyXG4gICAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgICQuYWpheCh7XHJcbiAgICAgICAgdXJsOiAnL3JlbW92ZS1jb3Vwb25zLWFqYXgnLFxyXG4gICAgICAgIHR5cGU6ICdQT1NUJyxcclxuICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgIGNvdXBvbmlkOiBjb3Vwb25pZCxcclxuICAgICAgICAgICAgY2FtcGlkOiBjYW1waWRcclxuICAgICAgICB9LFxyXG4gICAgICAgIGRhdGFUeXBlOiAnSlNPTicsXHJcbiAgICAgICAgc3VjY2VzczogZnVuY3Rpb24gKHJlcG9uc2UpIHsgXHJcbiAgICAgICAgICAgIHRyTGlua2VkLnJlbW92ZSgpO1xyXG4gICAgICAgICAgICB2YXIgaHRtbCA9IFwiPGRpdiBjbGFzcz0naW5wdXRHcm91cCc+XCI7XHJcbiAgICAgICAgICAgIGh0bWwgKz0gXCI8aW5wdXQgaWQ9J2NvdXBvbltcIityZXBvbnNlLmNvdXBvbl9pZCtcIl0nIG5hbWU9J2NvdXBvbltcIityZXBvbnNlLmNvdXBvbl9pZCtcIl0nIHR5cGU9J2NoZWNrYm94JyB2YWx1ZT0nXCIrcmVwb25zZS5jb3Vwb25faWQrXCInID5cIjtcclxuICAgICAgICAgICAgaHRtbCArPSBcIjxsYWJlbCBmb3I9J2NvdXBvbltcIityZXBvbnNlLmNvdXBvbl9pZCtcIl0nPlwiK3JlcG9uc2UuY291cG9uX25hbWUrXCI8L2xhYmVsPlwiO1xyXG4gICAgICAgICAgICBodG1sICs9IFwiPC9kaXY+XCI7XHJcbiAgICAgICAgICAgICQoXCIjY2FtcF9pZFwiKS5iZWZvcmUoaHRtbCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogZnVuY3Rpb24gKGUpIHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coZS5yZXNwb25zZVRleHQpO1xyXG4gICAgICAgIH1cclxuICAgIH0pO1xyXG59KVxyXG5cclxuXHJcbiQoJ2JvZHknKS5vbignY2xpY2snLCAnLnVucHVibGlzaCcsIGZ1bmN0aW9uKGV2ZW50KXtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB2YXIgY291cG9uaWQgPSAkKHRoaXMpLmF0dHIoJ2RhdGEtY291cG9uaWQnKTtcclxuICAgIHZhciBlbGVtZW50ID0gJCh0aGlzKS5wYXJlbnQoKTtcclxuICAgIC8vdmFyIGljb24gPSAkKHRoaXMpLmZpbmQoJy5wdWInKTtcclxuICAgICQuZmFuY3lDb25maXJtKHtcclxuICAgICAgICB0aXRsZSAgICAgOiBcIjxpIGNsYXNzPSdmYXMgZmEtdGltZXMtY2lyY2xlJz48L2k+IETDqXB1YmxpZXJcIixcclxuICAgICAgICBtZXNzYWdlICAgOiBcIsOKdGVzLXZvdXMgc8O7ciBkZSB2b3Vsb2lyIGTDqXB1YmxpZXIgY2UgY291cG9uID9cIixcclxuICAgICAgICBva0J1dHRvbiAgOiAnRMOpcHVibGllcicsXHJcbiAgICAgICAgbm9CdXR0b24gIDogJ0FubnVsZXInLFxyXG4gICAgICAgIGNhbGxiYWNrICA6IGZ1bmN0aW9uICh2YWx1ZSkge1xyXG4gICAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICAgICQuYWpheFNldHVwKHtcclxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAgICAgICAgICAgICAnWC1DU1JGLVRPS0VOJzogJCgnI2NzcmYnKS52YWwoKVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgJC5hamF4KHtcclxuICAgICAgICAgICAgICAgIHVybDogJy91bnB1Ymxpc2gtY291cG9ucy1hamF4JyxcclxuICAgICAgICAgICAgICAgIHR5cGU6ICdQT1NUJyxcclxuICAgICAgICAgICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgICAgICAgICAgICBjb3Vwb25pZDogY291cG9uaWRcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBkYXRhVHlwZTogJ0pTT04nLFxyXG4gICAgICAgICAgICAgICAgc3VjY2VzczogZnVuY3Rpb24gKHJlcG9uc2UpIHsgXHJcbiAgICAgICAgICAgICAgICAgICAgLy9pY29uLnJlbW92ZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZW1wdHkoKS5odG1sKCc8aSBkYXRhLWNvdXBvbmlkPVwiJytjb3Vwb25pZCsnXCIgY2xhc3M9XCJmYXMgZmEtdGltZXMtY2lyY2xlIHJlZCBwdWJsaXNoXCI+PC9pPicpXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgXHJcbn0pXHJcblxyXG4kKCdib2R5Jykub24oJ2NsaWNrJywgJy5wdWJsaXNoJywgZnVuY3Rpb24oZXZlbnQpe1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIHZhciBjb3Vwb25pZCA9ICQodGhpcykuYXR0cignZGF0YS1jb3Vwb25pZCcpO1xyXG4gICAgdmFyIGVsZW1lbnQgPSAkKHRoaXMpLnBhcmVudCgpO1xyXG4gICAgLy92YXIgaWNvbiA9ICQodGhpcykuZmluZCgnLnB1YicpO1xyXG4gICAgJC5mYW5jeUluZm8oe1xyXG4gICAgICAgIHRpdGxlICAgICA6IFwiPGkgY2xhc3M9J2ZhcyBmYS1jaGVjay1jaXJjbGUnPjwvaT4gUHVibGllclwiLFxyXG4gICAgICAgIG1lc3NhZ2UgICA6IFwiw4p0ZXMtdm91cyBzw7tyIGRlIHZvdWxvaXIgcHVibGllciBjZSBjb3Vwb24gP1wiLFxyXG4gICAgICAgIG9rQnV0dG9uICA6ICdQdWJsaWVyJyxcclxuICAgICAgICBub0J1dHRvbiAgOiAnQW5udWxlcicsXHJcbiAgICAgICAgY2FsbGJhY2sgIDogZnVuY3Rpb24gKHZhbHVlKSB7XHJcbiAgICAgICAgICBpZiAodmFsdWUpIHtcclxuICAgICAgICAgICAgJC5hamF4U2V0dXAoe1xyXG4gICAgICAgICAgICAgICAgaGVhZGVyczoge1xyXG4gICAgICAgICAgICAgICAgICAgICdYLUNTUkYtVE9LRU4nOiAkKCcjY3NyZicpLnZhbCgpXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAkLmFqYXgoe1xyXG4gICAgICAgICAgICAgICAgdXJsOiAnL3B1Ymxpc2gtY291cG9ucy1hamF4JyxcclxuICAgICAgICAgICAgICAgIHR5cGU6ICdQT1NUJyxcclxuICAgICAgICAgICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgICAgICAgICAgICBjb3Vwb25pZDogY291cG9uaWRcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBkYXRhVHlwZTogJ0pTT04nLFxyXG4gICAgICAgICAgICAgICAgc3VjY2VzczogZnVuY3Rpb24gKHJlcG9uc2UpIHsgXHJcbiAgICAgICAgICAgICAgICAgICAgLy9pY29uLnJlbW92ZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZW1wdHkoKS5odG1sKCc8aSBkYXRhLWNvdXBvbmlkPVwiJytjb3Vwb25pZCsnXCIgY2xhc3M9XCJmYXMgZmEtY2hlY2stY2lyY2xlIGdyZWVuIHVucHVibGlzaFwiPjwvaT4nKVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9KTtcclxuICAgIFxyXG59KVxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3Jlc291cmNlcy9qcy9hamF4LmpzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///5\n"); +eval("$('#addCoupons').on('click', function (event) {\n event.preventDefault();\n var ids = [];\n $(this).parent().find('.inputGroup input').each(function (event) {\n if ($(this).is(':checked')) {\n ids.push($(this).val());\n }\n });\n $.ajaxSetup({\n headers: {\n 'X-CSRF-TOKEN': $(this).parent().find('#csrf').val()\n }\n });\n\n $.ajax({\n url: '/add-coupons-ajax',\n type: 'POST',\n data: {\n ids: ids,\n campid: $(this).parent().find('#camp_id').val()\n },\n dataType: 'JSON',\n success: function success(reponse) {\n $.each(reponse, function (index, coupon) {\n var html = '';\n html += '' + coupon.coupon_code + '';\n html += '' + coupon.coupon_name + '';\n html += '';\n html += '';\n $('.no-result').remove();\n $('.coupons-wrapper table').append(html);\n $('#addCoupons').parent().find('.inputGroup input').each(function (event) {\n if ($(this).val() == coupon.coupon_id) {\n $(this).parent('.inputGroup').remove();\n }\n });\n $.fancybox.close();\n });\n },\n error: function error(e) {\n console.log(e.responseText);\n }\n });\n});\n\n$('body').on('click', '.delete-coupon', function (event) {\n event.preventDefault();\n var campid = $(this).attr('data-campid');\n var couponid = $(this).attr('data-couponid');\n var trLinked = $(this).parent().parent();\n $.ajaxSetup({\n headers: {\n 'X-CSRF-TOKEN': trLinked.parent().parent().parent().find('#csrf').val()\n }\n });\n\n $.ajax({\n url: '/remove-coupons-ajax',\n type: 'POST',\n data: {\n couponid: couponid,\n campid: campid\n },\n dataType: 'JSON',\n success: function success(reponse) {\n trLinked.remove();\n var html = \"
\";\n html += \"\";\n html += \"\";\n html += \"
\";\n $(\"#camp_id\").before(html);\n },\n error: function error(e) {\n console.log(e.responseText);\n }\n });\n});\n\n$('body').on('click', '.unpublish', function (event) {\n event.preventDefault();\n var couponid = $(this).attr('data-couponid');\n var element = $(this).parent();\n $.fancyConfirm({\n title: \" Dépublier\",\n message: \"Êtes-vous sûr de vouloir dépublier ce coupon ?\",\n okButton: 'Dépublier',\n noButton: 'Annuler',\n callback: function callback(value) {\n if (value) {\n $.ajaxSetup({\n headers: {\n 'X-CSRF-TOKEN': $('#csrf').val()\n }\n });\n $.ajax({\n url: '/unpublish-coupons-ajax',\n type: 'POST',\n data: {\n couponid: couponid\n },\n dataType: 'JSON',\n success: function success(reponse) {\n element.empty().html('');\n }\n });\n }\n }\n });\n});\n\n$('body').on('click', '.publish', function (event) {\n event.preventDefault();\n var couponid = $(this).attr('data-couponid');\n var element = $(this).parent();\n $.fancyInfo({\n title: \" Publier\",\n message: \"Êtes-vous sûr de vouloir publier ce coupon ?\",\n okButton: 'Publier',\n noButton: 'Annuler',\n callback: function callback(value) {\n if (value) {\n $.ajaxSetup({\n headers: {\n 'X-CSRF-TOKEN': $('#csrf').val()\n }\n });\n $.ajax({\n url: '/publish-coupons-ajax',\n type: 'POST',\n data: {\n couponid: couponid\n },\n dataType: 'JSON',\n success: function success(reponse) {\n element.empty().html('');\n }\n });\n }\n }\n });\n});\n\n$('body').on('click', '.unpublishcamp', function (event) {\n event.preventDefault();\n var campid = $(this).attr('data-campid');\n var element = $(this).parent();\n $.fancyConfirm({\n title: \" Dépublier\",\n message: \"Êtes-vous sûr de vouloir dépublier cette campagne ?\",\n okButton: 'Dépublier',\n noButton: 'Annuler',\n callback: function callback(value) {\n if (value) {\n $.ajaxSetup({\n headers: {\n 'X-CSRF-TOKEN': $('#csrf').val()\n }\n });\n $.ajax({\n url: '/unpublish-camp-ajax',\n type: 'POST',\n data: {\n campid: campid\n },\n dataType: 'JSON',\n success: function success(reponse) {\n element.empty().html('');\n }\n });\n }\n }\n });\n});\n\n$('body').on('click', '.publishcamp', function (event) {\n event.preventDefault();\n var campid = $(this).attr('data-campid');\n var element = $(this).parent();\n $.fancyInfo({\n title: \" Publier\",\n message: \"Êtes-vous sûr de vouloir publier cette campagne ?\",\n okButton: 'Publier',\n noButton: 'Annuler',\n callback: function callback(value) {\n if (value) {\n $.ajaxSetup({\n headers: {\n 'X-CSRF-TOKEN': $('#csrf').val()\n }\n });\n $.ajax({\n url: '/publish-camp-ajax',\n type: 'POST',\n data: {\n campid: campid\n },\n dataType: 'JSON',\n success: function success(reponse) {\n element.empty().html('');\n }\n });\n }\n }\n });\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvYWpheC5qcz9hOGJiIl0sIm5hbWVzIjpbIiQiLCJvbiIsImV2ZW50IiwicHJldmVudERlZmF1bHQiLCJpZHMiLCJwYXJlbnQiLCJmaW5kIiwiZWFjaCIsImlzIiwicHVzaCIsInZhbCIsImFqYXhTZXR1cCIsImhlYWRlcnMiLCJhamF4IiwidXJsIiwidHlwZSIsImRhdGEiLCJjYW1waWQiLCJkYXRhVHlwZSIsInN1Y2Nlc3MiLCJyZXBvbnNlIiwiaW5kZXgiLCJjb3Vwb24iLCJodG1sIiwiY291cG9uX2NvZGUiLCJjb3Vwb25fbmFtZSIsImNvdXBvbl9pZCIsInJlbW92ZSIsImFwcGVuZCIsImZhbmN5Ym94IiwiY2xvc2UiLCJlcnJvciIsImUiLCJjb25zb2xlIiwibG9nIiwicmVzcG9uc2VUZXh0IiwiYXR0ciIsImNvdXBvbmlkIiwidHJMaW5rZWQiLCJiZWZvcmUiLCJlbGVtZW50IiwiZmFuY3lDb25maXJtIiwidGl0bGUiLCJtZXNzYWdlIiwib2tCdXR0b24iLCJub0J1dHRvbiIsImNhbGxiYWNrIiwidmFsdWUiLCJlbXB0eSIsImZhbmN5SW5mbyJdLCJtYXBwaW5ncyI6IkFBQUFBLEVBQUUsYUFBRixFQUFpQkMsRUFBakIsQ0FBb0IsT0FBcEIsRUFBNkIsVUFBU0MsS0FBVCxFQUFlO0FBQ3hDQSxVQUFNQyxjQUFOO0FBQ0EsUUFBSUMsTUFBTSxFQUFWO0FBQ0FKLE1BQUUsSUFBRixFQUFRSyxNQUFSLEdBQWlCQyxJQUFqQixDQUFzQixtQkFBdEIsRUFBMkNDLElBQTNDLENBQWdELFVBQVNMLEtBQVQsRUFBZTtBQUMzRCxZQUFHRixFQUFFLElBQUYsRUFBUVEsRUFBUixDQUFXLFVBQVgsQ0FBSCxFQUEwQjtBQUN0QkosZ0JBQUlLLElBQUosQ0FBU1QsRUFBRSxJQUFGLEVBQVFVLEdBQVIsRUFBVDtBQUNIO0FBRUosS0FMRDtBQU1BVixNQUFFVyxTQUFGLENBQVk7QUFDUkMsaUJBQVM7QUFDTCw0QkFBZ0Ja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RjtBQUVIQywwQkFBTSxNQUZIO0FBR0hDLDBCQUFNO0FBQ0ZDLGdDQUFRQTtBQUROLHFCQUhIO0FBTUhDLDhCQUFVLE1BTlA7QUFPSEMsNkJBQVMsaUJBQVVDLE9BQVYsRUFBbUI7QUFDeEJvQixnQ0FBUVEsS0FBUixHQUFnQnpCLElBQWhCLENBQXFCLHFCQUFtQk4sTUFBbkIsR0FBMEIsd0RBQS9DO0FBQ0g7QUFURSxpQkFBUDtBQVdEO0FBQ0Y7QUF4Qk8sS0FBWjtBQTJCSCxDQS9CRCIsImZpbGUiOiI1LmpzIiwic291cmNlc0NvbnRlbnQiOlsiJCgnI2FkZENvdXBvbnMnKS5vbignY2xpY2snLCBmdW5jdGlvbihldmVudCl7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgbGV0IGlkcyA9IFtdO1xyXG4gICAgJCh0aGlzKS5wYXJlbnQoKS5maW5kKCcuaW5wdXRHcm91cCBpbnB1dCcpLmVhY2goZnVuY3Rpb24oZXZlbnQpe1xyXG4gICAgICAgIGlmKCQodGhpcykuaXMoJzpjaGVja2VkJykpe1xyXG4gICAgICAgICAgICBpZHMucHVzaCgkKHRoaXMpLnZhbCgpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICB9KVxyXG4gICAgJC5hamF4U2V0dXAoe1xyXG4gICAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAgICAgJ1gtQ1NSRi1UT0tFTic6ICQodGhpcykucGFyZW50KCkuZmluZCgnI2NzcmYnKS52YWwoKVxyXG4gICAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgICQuYWpheCh7XHJcbiAgICAgICAgdXJsOiAnL2FkZC1jb3Vwb25zLWFqYXgnLFxyXG4gICAgICAgIHR5cGU6ICdQT1NUJyxcclxuICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgIGlkczogaWRzICxcclxuICAgICAgICAgICAgY2FtcGlkOiAkKHRoaXMpLnBhcmVudCgpLmZpbmQoJyNjYW1wX2lkJykudmFsKClcclxuICAgICAgICB9LFxyXG4gICAgICAgIGRhdGFUeXBlOiAnSlNPTicsXHJcbiAgICAgICAgc3VjY2VzczogZnVuY3Rpb24gKHJlcG9uc2UpIHsgICAgXHJcbiAgICAgICAgICAgICQuZWFjaChyZXBvbnNlLCBmdW5jdGlvbihpbmRleCwgY291cG9uKXtcclxuICAgICAgICAgICAgICAgIHZhciBodG1sID0gJzx0cj4nO1xyXG4gICAgICAgICAgICAgICAgaHRtbCArPSAnPHRkPicrY291cG9uLmNvdXBvbl9jb2RlKyc8L3RkPic7XHJcbiAgICAgICAgICAgICAgICBodG1sICs9ICc8dGQ+Jytjb3Vwb24uY291cG9uX25hbWUrJzwvdGQ+JztcclxuICAgICAgICAgICAgICAgIGh0bWwgKz0gJzx0ZD48aSBjbGFzcz1cImZhcyBmYS10aW1lcyBkZWxldGUtY291cG9uXCIgZGF0YS1jYW1waWQ9XCInKyQodGhpcykucGFyZW50KCkuZmluZCgnI2NhbXBfaWQnKS52YWwoKSsnXCIgZGF0YS1jb3Vwb25pZD1cIicrY291cG9uLmNvdXBvbl9pZCsnXCI+PC9pPjwvdGQ+JztcclxuICAgICAgICAgICAgICAgIGh0bWwgKz0gJzwvdHI+JztcclxuICAgICAgICAgICAgICAgICQoJy5uby1yZXN1bHQnKS5yZW1vdmUoKTtcclxuICAgICAgICAgICAgICAgICQoJy5jb3Vwb25zLXdyYXBwZXIgdGFibGUnKS5hcHBlbmQoaHRtbCk7XHJcbiAgICAgICAgICAgICAgICAkKCcjYWRkQ291cG9ucycpLnBhcmVudCgpLmZpbmQoJy5pbnB1dEdyb3VwIGlucHV0JykuZWFjaChmdW5jdGlvbihldmVudCl7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYoJCh0aGlzKS52YWwoKSA9PSBjb3Vwb24uY291cG9uX2lkKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5wYXJlbnQoJy5pbnB1dEdyb3VwJykucmVtb3ZlKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSAgXHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgJC5mYW5jeWJveC5jbG9zZSgpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiBmdW5jdGlvbiAoZSkge1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhlLnJlc3BvbnNlVGV4dCk7XHJcbiAgICAgICAgfVxyXG4gICAgfSk7XHJcbn0pICBcclxuXHJcblxyXG5cclxuJCgnYm9keScpLm9uKCdjbGljaycsICcuZGVsZXRlLWNvdXBvbicsIGZ1bmN0aW9uKGV2ZW50KXtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB2YXIgY2FtcGlkID0gJCh0aGlzKS5hdHRyKCdkYXRhLWNhbXBpZCcpO1xyXG4gICAgdmFyIGNvdXBvbmlkID0gJCh0aGlzKS5hdHRyKCdkYXRhLWNvdXBvbmlkJyk7XHJcbiAgICB2YXIgdHJMaW5rZWQgPSAkKHRoaXMpLnBhcmVudCgpLnBhcmVudCgpO1xyXG4gICAgJC5hamF4U2V0dXAoe1xyXG4gICAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAgICAgJ1gtQ1NSRi1UT0tFTic6IHRyTGlua2VkLnBhcmVudCgpLnBhcmVudCgpLnBhcmVudCgpLmZpbmQoJyNjc3JmJykudmFsKClcclxuICAgICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICAkLmFqYXgoe1xyXG4gICAgICAgIHVybDogJy9yZW1vdmUtY291cG9ucy1hamF4JyxcclxuICAgICAgICB0eXBlOiAnUE9TVCcsXHJcbiAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgICBjb3Vwb25pZDogY291cG9uaWQsXHJcbiAgICAgICAgICAgIGNhbXBpZDogY2FtcGlkXHJcbiAgICAgICAgfSxcclxuICAgICAgICBkYXRhVHlwZTogJ0pTT04nLFxyXG4gICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uIChyZXBvbnNlKSB7IFxyXG4gICAgICAgICAgICB0ckxpbmtlZC5yZW1vdmUoKTtcclxuICAgICAgICAgICAgdmFyIGh0bWwgPSBcIjxkaXYgY2xhc3M9J2lucHV0R3JvdXAnPlwiO1xyXG4gICAgICAgICAgICBodG1sICs9IFwiPGlucHV0IGlkPSdjb3Vwb25bXCIrcmVwb25zZS5jb3Vwb25faWQrXCJdJyBuYW1lPSdjb3Vwb25bXCIrcmVwb25zZS5jb3Vwb25faWQrXCJdJyB0eXBlPSdjaGVja2JveCcgdmFsdWU9J1wiK3JlcG9uc2UuY291cG9uX2lkK1wiJyA+XCI7XHJcbiAgICAgICAgICAgIGh0bWwgKz0gXCI8bGFiZWwgZm9yPSdjb3Vwb25bXCIrcmVwb25zZS5jb3Vwb25faWQrXCJdJz5cIityZXBvbnNlLmNvdXBvbl9uYW1lK1wiPC9sYWJlbD5cIjtcclxuICAgICAgICAgICAgaHRtbCArPSBcIjwvZGl2PlwiO1xyXG4gICAgICAgICAgICAkKFwiI2NhbXBfaWRcIikuYmVmb3JlKGh0bWwpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IGZ1bmN0aW9uIChlKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGUucmVzcG9uc2VUZXh0KTtcclxuICAgICAgICB9XHJcbiAgICB9KTtcclxufSlcclxuXHJcblxyXG4kKCdib2R5Jykub24oJ2NsaWNrJywgJy51bnB1Ymxpc2gnLCBmdW5jdGlvbihldmVudCl7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgdmFyIGNvdXBvbmlkID0gJCh0aGlzKS5hdHRyKCdkYXRhLWNvdXBvbmlkJyk7XHJcbiAgICB2YXIgZWxlbWVudCA9ICQodGhpcykucGFyZW50KCk7XHJcbiAgICAkLmZhbmN5Q29uZmlybSh7XHJcbiAgICAgICAgdGl0bGUgICAgIDogXCI8aSBjbGFzcz0nZmFzIGZhLXRpbWVzLWNpcmNsZSc+PC9pPiBEw6lwdWJsaWVyXCIsXHJcbiAgICAgICAgbWVzc2FnZSAgIDogXCLDinRlcy12b3VzIHPDu3IgZGUgdm91bG9pciBkw6lwdWJsaWVyIGNlIGNvdXBvbiA/XCIsXHJcbiAgICAgICAgb2tCdXR0b24gIDogJ0TDqXB1YmxpZXInLFxyXG4gICAgICAgIG5vQnV0dG9uICA6ICdBbm51bGVyJyxcclxuICAgICAgICBjYWxsYmFjayAgOiBmdW5jdGlvbiAodmFsdWUpIHtcclxuICAgICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgICAkLmFqYXhTZXR1cCh7XHJcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgJ1gtQ1NSRi1UT0tFTic6ICQoJyNjc3JmJykudmFsKClcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICQuYWpheCh7XHJcbiAgICAgICAgICAgICAgICB1cmw6ICcvdW5wdWJsaXNoLWNvdXBvbnMtYWpheCcsXHJcbiAgICAgICAgICAgICAgICB0eXBlOiAnUE9TVCcsXHJcbiAgICAgICAgICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY291cG9uaWQ6IGNvdXBvbmlkXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgZGF0YVR5cGU6ICdKU09OJyxcclxuICAgICAgICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uIChyZXBvbnNlKSB7IFxyXG4gICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZW1wdHkoKS5odG1sKCc8aSBkYXRhLWNvdXBvbmlkPVwiJytjb3Vwb25pZCsnXCIgY2xhc3M9XCJmYXMgZmEtdGltZXMtY2lyY2xlIHJlZCBwdWJsaXNoXCI+PC9pPicpXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgXHJcbn0pXHJcblxyXG4kKCdib2R5Jykub24oJ2NsaWNrJywgJy5wdWJsaXNoJywgZnVuY3Rpb24oZXZlbnQpe1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIHZhciBjb3Vwb25pZCA9ICQodGhpcykuYXR0cignZGF0YS1jb3Vwb25pZCcpO1xyXG4gICAgdmFyIGVsZW1lbnQgPSAkKHRoaXMpLnBhcmVudCgpO1xyXG4gICAgJC5mYW5jeUluZm8oe1xyXG4gICAgICAgIHRpdGxlICAgICA6IFwiPGkgY2xhc3M9J2ZhcyBmYS1jaGVjay1jaXJjbGUnPjwvaT4gUHVibGllclwiLFxyXG4gICAgICAgIG1lc3NhZ2UgICA6IFwiw4p0ZXMtdm91cyBzw7tyIGRlIHZvdWxvaXIgcHVibGllciBjZSBjb3Vwb24gP1wiLFxyXG4gICAgICAgIG9rQnV0dG9uICA6ICdQdWJsaWVyJyxcclxuICAgICAgICBub0J1dHRvbiAgOiAnQW5udWxlcicsXHJcbiAgICAgICAgY2FsbGJhY2sgIDogZnVuY3Rpb24gKHZhbHVlKSB7XHJcbiAgICAgICAgICBpZiAodmFsdWUpIHtcclxuICAgICAgICAgICAgJC5hamF4U2V0dXAoe1xyXG4gICAgICAgICAgICAgICAgaGVhZGVyczoge1xyXG4gICAgICAgICAgICAgICAgICAgICdYLUNTUkYtVE9LRU4nOiAkKCcjY3NyZicpLnZhbCgpXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAkLmFqYXgoe1xyXG4gICAgICAgICAgICAgICAgdXJsOiAnL3B1Ymxpc2gtY291cG9ucy1hamF4JyxcclxuICAgICAgICAgICAgICAgIHR5cGU6ICdQT1NUJyxcclxuICAgICAgICAgICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgICAgICAgICAgICBjb3Vwb25pZDogY291cG9uaWRcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBkYXRhVHlwZTogJ0pTT04nLFxyXG4gICAgICAgICAgICAgICAgc3VjY2VzczogZnVuY3Rpb24gKHJlcG9uc2UpIHsgXHJcbiAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5lbXB0eSgpLmh0bWwoJzxpIGRhdGEtY291cG9uaWQ9XCInK2NvdXBvbmlkKydcIiBjbGFzcz1cImZhcyBmYS1jaGVjay1jaXJjbGUgZ3JlZW4gdW5wdWJsaXNoXCI+PC9pPicpXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgXHJcbn0pXHJcblxyXG5cclxuJCgnYm9keScpLm9uKCdjbGljaycsICcudW5wdWJsaXNoY2FtcCcsIGZ1bmN0aW9uKGV2ZW50KXtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB2YXIgY2FtcGlkID0gJCh0aGlzKS5hdHRyKCdkYXRhLWNhbXBpZCcpO1xyXG4gICAgdmFyIGVsZW1lbnQgPSAkKHRoaXMpLnBhcmVudCgpO1xyXG4gICAgJC5mYW5jeUNvbmZpcm0oe1xyXG4gICAgICAgIHRpdGxlICAgICA6IFwiPGkgY2xhc3M9J2ZhcyBmYS10aW1lcy1jaXJjbGUnPjwvaT4gRMOpcHVibGllclwiLFxyXG4gICAgICAgIG1lc3NhZ2UgICA6IFwiw4p0ZXMtdm91cyBzw7tyIGRlIHZvdWxvaXIgZMOpcHVibGllciBjZXR0ZSBjYW1wYWduZSA/XCIsXHJcbiAgICAgICAgb2tCdXR0b24gIDogJ0TDqXB1YmxpZXInLFxyXG4gICAgICAgIG5vQnV0dG9uICA6ICdBbm51bGVyJyxcclxuICAgICAgICBjYWxsYmFjayAgOiBmdW5jdGlvbiAodmFsdWUpIHtcclxuICAgICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgICAkLmFqYXhTZXR1cCh7XHJcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgJ1gtQ1NSRi1UT0tFTic6ICQoJyNjc3JmJykudmFsKClcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICQuYWpheCh7XHJcbiAgICAgICAgICAgICAgICB1cmw6ICcvdW5wdWJsaXNoLWNhbXAtYWpheCcsXHJcbiAgICAgICAgICAgICAgICB0eXBlOiAnUE9TVCcsXHJcbiAgICAgICAgICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY2FtcGlkOiBjYW1waWRcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBkYXRhVHlwZTogJ0pTT04nLFxyXG4gICAgICAgICAgICAgICAgc3VjY2VzczogZnVuY3Rpb24gKHJlcG9uc2UpIHsgXHJcbiAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5lbXB0eSgpLmh0bWwoJzxpIGRhdGEtY2FtcGlkPVwiJytjYW1waWQrJ1wiIGNsYXNzPVwiZmFzIGZhLXRpbWVzLWNpcmNsZSByZWQgcHVibGlzaGNhbXBcIj48L2k+JylcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICBcclxufSlcclxuXHJcbiQoJ2JvZHknKS5vbignY2xpY2snLCAnLnB1Ymxpc2hjYW1wJywgZnVuY3Rpb24oZXZlbnQpe1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIHZhciBjYW1waWQgPSAkKHRoaXMpLmF0dHIoJ2RhdGEtY2FtcGlkJyk7XHJcbiAgICB2YXIgZWxlbWVudCA9ICQodGhpcykucGFyZW50KCk7XHJcbiAgICAkLmZhbmN5SW5mbyh7XHJcbiAgICAgICAgdGl0bGUgICAgIDogXCI8aSBjbGFzcz0nZmFzIGZhLWNoZWNrLWNpcmNsZSc+PC9pPiBQdWJsaWVyXCIsXHJcbiAgICAgICAgbWVzc2FnZSAgIDogXCLDinRlcy12b3VzIHPDu3IgZGUgdm91bG9pciBwdWJsaWVyIGNldHRlIGNhbXBhZ25lID9cIixcclxuICAgICAgICBva0J1dHRvbiAgOiAnUHVibGllcicsXHJcbiAgICAgICAgbm9CdXR0b24gIDogJ0FubnVsZXInLFxyXG4gICAgICAgIGNhbGxiYWNrICA6IGZ1bmN0aW9uICh2YWx1ZSkge1xyXG4gICAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICAgICQuYWpheFNldHVwKHtcclxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAgICAgICAgICAgICAnWC1DU1JGLVRPS0VOJzogJCgnI2NzcmYnKS52YWwoKVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgJC5hamF4KHtcclxuICAgICAgICAgICAgICAgIHVybDogJy9wdWJsaXNoLWNhbXAtYWpheCcsXHJcbiAgICAgICAgICAgICAgICB0eXBlOiAnUE9TVCcsXHJcbiAgICAgICAgICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY2FtcGlkOiBjYW1waWRcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBkYXRhVHlwZTogJ0pTT04nLFxyXG4gICAgICAgICAgICAgICAgc3VjY2VzczogZnVuY3Rpb24gKHJlcG9uc2UpIHsgXHJcbiAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5lbXB0eSgpLmh0bWwoJzxpIGRhdGEtY2FtcGlkPVwiJytjYW1waWQrJ1wiIGNsYXNzPVwiZmFzIGZhLWNoZWNrLWNpcmNsZSBncmVlbiB1bnB1Ymxpc2hjYW1wXCI+PC9pPicpXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgXHJcbn0pXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vcmVzb3VyY2VzL2pzL2FqYXguanMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///5\n"); /***/ }) diff --git a/resources/js/ajax.js b/resources/js/ajax.js index 37ae5ef..840c3bc 100644 --- a/resources/js/ajax.js +++ b/resources/js/ajax.js @@ -84,7 +84,6 @@ $('body').on('click', '.unpublish', function(event){ event.preventDefault(); var couponid = $(this).attr('data-couponid'); var element = $(this).parent(); - //var icon = $(this).find('.pub'); $.fancyConfirm({ title : " Dépublier", message : "Êtes-vous sûr de vouloir dépublier ce coupon ?", @@ -105,7 +104,6 @@ $('body').on('click', '.unpublish', function(event){ }, dataType: 'JSON', success: function (reponse) { - //icon.remove(); element.empty().html('') } }); @@ -119,7 +117,6 @@ $('body').on('click', '.publish', function(event){ event.preventDefault(); var couponid = $(this).attr('data-couponid'); var element = $(this).parent(); - //var icon = $(this).find('.pub'); $.fancyInfo({ title : " Publier", message : "Êtes-vous sûr de vouloir publier ce coupon ?", @@ -140,7 +137,6 @@ $('body').on('click', '.publish', function(event){ }, dataType: 'JSON', success: function (reponse) { - //icon.remove(); element.empty().html('') } }); @@ -148,4 +144,71 @@ $('body').on('click', '.publish', function(event){ } }); +}) + + +$('body').on('click', '.unpublishcamp', function(event){ + event.preventDefault(); + var campid = $(this).attr('data-campid'); + var element = $(this).parent(); + $.fancyConfirm({ + title : " Dépublier", + message : "Êtes-vous sûr de vouloir dépublier cette campagne ?", + okButton : 'Dépublier', + noButton : 'Annuler', + callback : function (value) { + if (value) { + $.ajaxSetup({ + headers: { + 'X-CSRF-TOKEN': $('#csrf').val() + } + }); + $.ajax({ + url: '/unpublish-camp-ajax', + type: 'POST', + data: { + campid: campid + }, + dataType: 'JSON', + success: function (reponse) { + element.empty().html('') + } + }); + } + } + }); + +}) + +$('body').on('click', '.publishcamp', function(event){ + event.preventDefault(); + var campid = $(this).attr('data-campid'); + var element = $(this).parent(); + $.fancyInfo({ + title : " Publier", + message : "Êtes-vous sûr de vouloir publier cette campagne ?", + okButton : 'Publier', + noButton : 'Annuler', + callback : function (value) { + if (value) { + $.ajaxSetup({ + headers: { + 'X-CSRF-TOKEN': $('#csrf').val() + } + }); + $.ajax({ + url: '/publish-camp-ajax', + type: 'POST', + data: { + campid: campid + }, + dataType: 'JSON', + success: function (reponse) { + element.empty().html('') + } + }); + } + } + }); + }) \ No newline at end of file diff --git a/resources/sass/partials/content.scss b/resources/sass/partials/content.scss index f7bedbf..6f38c2a 100644 --- a/resources/sass/partials/content.scss +++ b/resources/sass/partials/content.scss @@ -469,3 +469,10 @@ table { font-family: 'Nunito-Regular', sans-serif; margin: 10px 0; } + +.pub { + i { + cursor: pointer; + } +} + diff --git a/resources/sass/partials/reset.scss b/resources/sass/partials/reset.scss index 2adc4a0..dd6dd03 100644 --- a/resources/sass/partials/reset.scss +++ b/resources/sass/partials/reset.scss @@ -146,4 +146,30 @@ p { i { margin-right:10px; } -} \ No newline at end of file +} + +.code404{ + background-color: $lightgrey; + display:flex; + justify-content: center; + align-items: center; + div { + width:400px; + padding:20px; + display:flex; + flex-direction: column; + align-items:center; + justify-content:center; + background-color:#FFF; + h2 { + color:#df0000; + font-weight: bold; + } + p { + color:#000; + text-align:center; + line-height:1.2em; + font-weight: bold; + } + } +} \ No newline at end of file diff --git a/resources/views/campagne/index.blade.php b/resources/views/campagne/index.blade.php index e1491c4..7839e7f 100644 --- a/resources/views/campagne/index.blade.php +++ b/resources/views/campagne/index.blade.php @@ -21,9 +21,9 @@ {{ $c->camp_name }} {{ $c->camp_createdate }} @if ( $c->camp_published === 1) - + @else - + @endif diff --git a/resources/views/errors/404.blade.php b/resources/views/errors/404.blade.php new file mode 100644 index 0000000..faf8e8e --- /dev/null +++ b/resources/views/errors/404.blade.php @@ -0,0 +1,23 @@ + + + + + + + + + + {{ config('app.name', 'Laravel') }} + + + + + + + +
+

Erreur 404

+

La page que vous essayez d'atteindre n'existe pas ou a été déplacée

+
+ + \ No newline at end of file diff --git a/routes/web.php b/routes/web.php index b505b0d..9ff9985 100644 --- a/routes/web.php +++ b/routes/web.php @@ -52,6 +52,9 @@ Route::group(['prefix' => 'bo', 'middleware' => ['auth', 'saveroute']], function // ---- Publier/Depublier des coupons Route::post('/unpublish-coupons-ajax', 'AjaxController@unpublish_coupons_ajax'); Route::post('/publish-coupons-ajax', 'AjaxController@publish_coupons_ajax'); + // ---- Publier/Depublier des campagnes + Route::post('/unpublish-camp-ajax', 'AjaxController@unpublish_camp_ajax'); + Route::post('/publish-camp-ajax', 'AjaxController@publish_camp_ajax'); // ---- Impressions de coupons Route::post('/ajx_impression', 'AjaxController@impression_ajax'); // ---- Recherche Contact