diff --git a/app/Http/Controllers/Bo/AdsController.php b/app/Http/Controllers/Bo/AdsController.php index d52cfbe5..cd43c1ae 100644 --- a/app/Http/Controllers/Bo/AdsController.php +++ b/app/Http/Controllers/Bo/AdsController.php @@ -99,6 +99,7 @@ class AdsController extends Controller $a->delete(); - return redirect()->route('bo.ads.index'); + return redirect()->route('bo.ads.index') + ->with('warning', 'Le contenu à bien été supprimé'); } } diff --git a/app/Http/Controllers/Bo/ArticlesController.php b/app/Http/Controllers/Bo/ArticlesController.php index 184dbd38..adf64b57 100644 --- a/app/Http/Controllers/Bo/ArticlesController.php +++ b/app/Http/Controllers/Bo/ArticlesController.php @@ -171,7 +171,8 @@ class ArticlesController extends Controller $article->notifiable()->delete(); $article->delete(); - return redirect()->route('bo.articles.index'); + return redirect()->route('bo.articles.index') + ->with('warning', 'Le contenu à bien été supprimé'); } public function exportSondage(Articles $article) diff --git a/app/Http/Controllers/Bo/BalancedMenusController.php b/app/Http/Controllers/Bo/BalancedMenusController.php index c74e5821..54b8e5e6 100644 --- a/app/Http/Controllers/Bo/BalancedMenusController.php +++ b/app/Http/Controllers/Bo/BalancedMenusController.php @@ -121,6 +121,7 @@ class BalancedMenusController extends Controller $m->delete(); - return redirect()->route('bo.balanced-menus.index'); + return redirect()->route('bo.balanced-menus.index') + ->with('warning', 'Le contenu à bien été supprimé'); } } diff --git a/app/Http/Controllers/Bo/BreederPortraitController.php b/app/Http/Controllers/Bo/BreederPortraitController.php index d57ca4bb..e9ee1090 100644 --- a/app/Http/Controllers/Bo/BreederPortraitController.php +++ b/app/Http/Controllers/Bo/BreederPortraitController.php @@ -78,6 +78,7 @@ class BreederPortraitController extends Controller $breederportrait->delete(); - return redirect()->route('bo.breederportraits.index'); + return redirect()->route('bo.breederportraits.index') + ->with('warning', 'Le contenu à bien été supprimé'); } } diff --git a/app/Http/Controllers/Bo/ConsumptionTimesController.php b/app/Http/Controllers/Bo/ConsumptionTimesController.php index 20f57765..2b460bc8 100644 --- a/app/Http/Controllers/Bo/ConsumptionTimesController.php +++ b/app/Http/Controllers/Bo/ConsumptionTimesController.php @@ -92,6 +92,7 @@ class ConsumptionTimesController extends Controller ); } - return redirect()->route('bo.consumption-times.index'); + return redirect()->route('bo.consumption-times.index') + ->with('warning', 'Le contenu à bien été supprimé'); } } diff --git a/app/Http/Controllers/Bo/FaqQuestionsController.php b/app/Http/Controllers/Bo/FaqQuestionsController.php index 1329a303..8c0a8f2c 100644 --- a/app/Http/Controllers/Bo/FaqQuestionsController.php +++ b/app/Http/Controllers/Bo/FaqQuestionsController.php @@ -100,6 +100,7 @@ class FaqQuestionsController extends Controller { $q->delete(); - return redirect()->route('bo.faq-questions.index'); + return redirect()->route('bo.faq-questions.index') + ->with('warning', 'Le contenu à bien été supprimé'); } } diff --git a/app/Http/Controllers/Bo/FaqThemesController.php b/app/Http/Controllers/Bo/FaqThemesController.php index bb80fd59..a26b1501 100644 --- a/app/Http/Controllers/Bo/FaqThemesController.php +++ b/app/Http/Controllers/Bo/FaqThemesController.php @@ -75,7 +75,8 @@ class FaqThemesController extends Controller ->withErrors('Le thème que vous souhaitez supprimer est encore lié à une ou plusieurs question(s).'); } - return redirect()->route('bo.faq-themes.index'); + return redirect()->route('bo.faq-themes.index') + ->with('warning', 'Le contenu à bien été supprimé'); } public function changeOrder($id, $action) diff --git a/app/Http/Controllers/Bo/HomeSliderPicturesController.php b/app/Http/Controllers/Bo/HomeSliderPicturesController.php index 49d42f6e..f911c893 100644 --- a/app/Http/Controllers/Bo/HomeSliderPicturesController.php +++ b/app/Http/Controllers/Bo/HomeSliderPicturesController.php @@ -191,7 +191,8 @@ class HomeSliderPicturesController extends Controller $h->delete(); - return redirect()->route('bo.home-slider-pictures.index'); + return redirect()->route('bo.home-slider-pictures.index') + ->with('warning', 'Le contenu à bien été supprimé'); } public function changeOrder($id, $action) diff --git a/app/Http/Controllers/Bo/MeatTypesController.php b/app/Http/Controllers/Bo/MeatTypesController.php index e0b9fa56..2bf7af9b 100644 --- a/app/Http/Controllers/Bo/MeatTypesController.php +++ b/app/Http/Controllers/Bo/MeatTypesController.php @@ -52,6 +52,7 @@ class MeatTypesController extends Controller } $mt->delete(); - return redirect()->route('bo.meat-types.index'); + return redirect()->route('bo.meat-types.index') + ->with('warning', 'Le contenu à bien été supprimé'); } } diff --git a/app/Http/Controllers/Bo/MomentsController.php b/app/Http/Controllers/Bo/MomentsController.php index 3a44aa26..91822031 100644 --- a/app/Http/Controllers/Bo/MomentsController.php +++ b/app/Http/Controllers/Bo/MomentsController.php @@ -438,7 +438,8 @@ class MomentsController extends Controller $m->delete(); - return redirect()->route('bo.moments.index'); + return redirect()->route('bo.moments.index') + ->with('warning', 'Le contenu à bien été supprimé'); } /** diff --git a/app/Http/Controllers/Bo/NewsSliderPicturesController.php b/app/Http/Controllers/Bo/NewsSliderPicturesController.php index 56d729f4..fe92ce58 100644 --- a/app/Http/Controllers/Bo/NewsSliderPicturesController.php +++ b/app/Http/Controllers/Bo/NewsSliderPicturesController.php @@ -115,7 +115,8 @@ class NewsSliderPicturesController extends Controller $n->delete(); - return redirect()->route('bo.news-slider-pictures.index'); + return redirect()->route('bo.news-slider-pictures.index') + ->with('warning', 'Le contenu à bien été supprimé'); } public function changeOrder($id, $action) diff --git a/app/Http/Controllers/Bo/OCBBreedersController.php b/app/Http/Controllers/Bo/OCBBreedersController.php index 3370e89c..8296c2af 100644 --- a/app/Http/Controllers/Bo/OCBBreedersController.php +++ b/app/Http/Controllers/Bo/OCBBreedersController.php @@ -125,6 +125,7 @@ class OCBBreedersController extends Controller public function destroy(OCBBreeder $b) { $b->delete(); - return redirect()->route('bo.ocbbreeders.index', $b->ocbType); + return redirect()->route('bo.ocbbreeders.index', $b->ocbType) + ->with('warning', 'Le contenu à bien été supprimé'); } } diff --git a/app/Http/Controllers/Bo/OCBContentController.php b/app/Http/Controllers/Bo/OCBContentController.php index 0c7cfad6..d2f9b2d3 100644 --- a/app/Http/Controllers/Bo/OCBContentController.php +++ b/app/Http/Controllers/Bo/OCBContentController.php @@ -112,7 +112,8 @@ class OCBContentController extends Controller $ocb->delete(); - return redirect()->route('bo.ocb.content', $ocb->type); + return redirect()->route('bo.ocb.content', $ocb->type) + ->with('warning', 'Le contenu à bien été supprimé'); } public function changeOrder(OCBContent $current, $action) diff --git a/app/Http/Controllers/Bo/ProductPictogramsController.php b/app/Http/Controllers/Bo/ProductPictogramsController.php index ac1d5eb0..12fb2dc6 100644 --- a/app/Http/Controllers/Bo/ProductPictogramsController.php +++ b/app/Http/Controllers/Bo/ProductPictogramsController.php @@ -80,6 +80,7 @@ class ProductPictogramsController extends Controller } $pp->delete(); - return redirect()->route('bo.product-pictograms.index'); + return redirect()->route('bo.product-pictograms.index') + ->with('warning', 'Le contenu à bien été supprimé'); } } diff --git a/app/Http/Controllers/Bo/ProductSliderPicturesController.php b/app/Http/Controllers/Bo/ProductSliderPicturesController.php index 49e6ed01..2b3feaa6 100644 --- a/app/Http/Controllers/Bo/ProductSliderPicturesController.php +++ b/app/Http/Controllers/Bo/ProductSliderPicturesController.php @@ -147,7 +147,8 @@ class ProductSliderPicturesController extends Controller $p->delete(); - return redirect()->route('bo.product-slider-pictures.index'); + return redirect()->route('bo.product-slider-pictures.index') + ->with('warning', 'Le contenu à bien été supprimé'); } public function changeOrder($id, $action) diff --git a/app/Http/Controllers/Bo/ProductsController.php b/app/Http/Controllers/Bo/ProductsController.php index b125ec15..b298c30b 100644 --- a/app/Http/Controllers/Bo/ProductsController.php +++ b/app/Http/Controllers/Bo/ProductsController.php @@ -441,7 +441,8 @@ class ProductsController extends Controller ->withErrors('Le produit que vous souhaitez supprimer est encore lié à une ou plusieurs recette(s).'); } - return redirect()->route('bo.products.index'); + return redirect()->route('bo.products.index') + ->with('warning', 'Le contenu à bien été supprimé'); } public function changeOrder($id, $action) diff --git a/app/Http/Controllers/Bo/RangesController.php b/app/Http/Controllers/Bo/RangesController.php index c3e44894..500e9217 100644 --- a/app/Http/Controllers/Bo/RangesController.php +++ b/app/Http/Controllers/Bo/RangesController.php @@ -146,7 +146,8 @@ class RangesController extends Controller $r->delete(); - return redirect()->route('bo.ranges.index'); + return redirect()->route('bo.ranges.index') + ->with('warning', 'Le contenu à bien été supprimé'); } public function changeOrder($id, $action) diff --git a/app/Http/Controllers/Bo/RecipesController.php b/app/Http/Controllers/Bo/RecipesController.php index 6573da90..435a34bf 100644 --- a/app/Http/Controllers/Bo/RecipesController.php +++ b/app/Http/Controllers/Bo/RecipesController.php @@ -153,7 +153,8 @@ class RecipesController extends Controller $r->notifiable()->delete(); $r->delete(); - return redirect()->route('bo.recipes.index'); + return redirect()->route('bo.recipes.index') + ->with('warning', 'Le contenu à bien été supprimé'); } public function highlights() diff --git a/package-lock.json b/package-lock.json index ec589639..ca188801 100644 --- a/package-lock.json +++ b/package-lock.json @@ -45,6 +45,7 @@ "resolve-url-loader": "^3.1.4", "sass": "1.32.*", "sass-loader": "^8.0.2", + "sweetalert2": "^11.1.5", "vue": "^2.6.14", "vue-loader": "^15.9.8", "vue-template-compiler": "^2.6.14" @@ -9562,6 +9563,15 @@ "node": ">=10.13.0" } }, + "node_modules/sweetalert2": { + "version": "11.1.5", + "resolved": "https://registry.npmjs.org/sweetalert2/-/sweetalert2-11.1.5.tgz", + "integrity": "sha512-5cfqUK9lLbvxtjzsvORKWj+d3tcgYlzsL60FoJFXE/+mtMa5EJ3tDax9p9MBjVnZ60gQd+WGrqDIrxoNenhUjA==", + "dev": true, + "funding": { + "url": "https://sweetalert2.github.io/#donations" + } + }, "node_modules/tapable": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", @@ -17985,6 +17995,12 @@ "stable": "^0.1.8" } }, + "sweetalert2": { + "version": "11.1.5", + "resolved": "https://registry.npmjs.org/sweetalert2/-/sweetalert2-11.1.5.tgz", + "integrity": "sha512-5cfqUK9lLbvxtjzsvORKWj+d3tcgYlzsL60FoJFXE/+mtMa5EJ3tDax9p9MBjVnZ60gQd+WGrqDIrxoNenhUjA==", + "dev": true + }, "tapable": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", diff --git a/package.json b/package.json index 9dec5f04..8d15fcf5 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,7 @@ "resolve-url-loader": "^3.1.4", "sass": "1.32.*", "sass-loader": "^8.0.2", + "sweetalert2": "^11.1.5", "vue": "^2.6.14", "vue-loader": "^15.9.8", "vue-template-compiler": "^2.6.14" diff --git a/resources/js/app.js b/resources/js/app.js index d2f3b4e0..e4e840cd 100644 --- a/resources/js/app.js +++ b/resources/js/app.js @@ -10,6 +10,40 @@ require('vue-select-image/dist/vue-select-image.css'); window.Vue = require('vue/dist/vue.min.js'); import CKEditor from '@ckeditor/ckeditor5-vue2'; import VueSelectImage from 'vue-select-image'; +// ES6 Modules or TypeScript +import Swal from 'sweetalert2'; + +// bootstrap styling +window.Swal = Swal.mixin({ + customClass: { + confirmButton: 'btn btn-lg btn-success ml-3 mr-3', + cancelButton: 'btn btn-lg btn-danger ml-3 mr-3' + }, + buttonsStyling: false +}) + +// register modules +let modules = require.context("./modules", true, /\.js$/i); +window.confirmJS = modules('./confirm.js').default.methods.confirm + +$(document).ready(function () { + $('.confirmDeleteJS').on('submit', function (e) { + e.preventDefault(); + confirmJS( + 'Confirmez', + 'Voulez-vous vraiment supprimer cet élément ?', + this, + function (response) { + this.submit() + }, + { + 'icon': 'error' + } + ) + return false + }) +}) + Vue.use( CKEditor ); Vue.use( VueSelectImage ) diff --git a/resources/js/modules/confirm.js b/resources/js/modules/confirm.js new file mode 100644 index 00000000..bfdc00f6 --- /dev/null +++ b/resources/js/modules/confirm.js @@ -0,0 +1,37 @@ +export default { + methods: { + confirm(title, text = '', self, after, options = {}) { + if (!self) { + throw Error('self is needed to set "this" on callback'); + } + if (!after) { + throw Error('callback is needed when using confirm'); + } + let icon = options.icon ?? 'warning' + let confirm = options.confirm ?? 'Oui' + let cancel = options.confirm ?? 'Annuler' + Swal.fire({ + title: title, + text: text, + icon: icon, + showCancelButton: true, + confirmButtonText: confirm, + cancelButtonText: cancel, + reverseButtons: true + }).then((result) => { + if (result.isConfirmed) { + if (after) { + after.apply(self, [result]) + } + } else if ( + /* Read more about handling dismissals below */ + result.dismiss === Swal.DismissReason.cancel + ) { + Swal.fire('L\'opération n\'as pas été effectuée') + } + }) + return false; + } + }, +} + diff --git a/resources/views/bo/ads/create.blade.php b/resources/views/bo/ads/create.blade.php index 79ab3da9..237a4509 100644 --- a/resources/views/bo/ads/create.blade.php +++ b/resources/views/bo/ads/create.blade.php @@ -12,15 +12,6 @@ @csrf