From 79f9b67d3e19f59b9bb1fe84234e32bc5078846f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Munsch?= Date: Thu, 9 Jun 2022 12:03:49 +0200 Subject: [PATCH 1/3] Force scheme https always --- app/Providers/AppServiceProvider.php | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index 96c8471..422f8c0 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -29,9 +29,8 @@ class AppServiceProvider extends ServiceProvider public function boot() { Paginator::useBootstrap(); - if (config('app.env') !== 'local') { - URL::forceScheme('https'); - } + + URL::forceScheme('https'); if (config('app.env') === 'local') { setlocale(LC_TIME, strtoupper(config('app.locale')) . "_" . config('app.locale') . '.utf8'); From f3a20682f0573bd022216716b6807cf49dc39e88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Munsch?= Date: Thu, 9 Jun 2022 12:11:27 +0200 Subject: [PATCH 2/3] Fixed new ticket --- resources/views/ticket/form-inputs.blade.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/resources/views/ticket/form-inputs.blade.php b/resources/views/ticket/form-inputs.blade.php index 77e2872..e55d018 100644 --- a/resources/views/ticket/form-inputs.blade.php +++ b/resources/views/ticket/form-inputs.blade.php @@ -41,7 +41,7 @@ $userPr = Auth::user()->sites ?? collect([]); @php $dataVue = [ 'name' => 'labels', - 'value' => old('labels', optional($ticket)->labels), + 'value' => old('labels', optional($ticket ?? null)->labels), 'labels' => \App\Models\Label::all() ]; @endphp @@ -55,7 +55,7 @@ $userPr = Auth::user()->sites ?? collect([]);
- +

Fichier joint 1

@@ -63,7 +63,7 @@ $userPr = Auth::user()->sites ?? collect([]); @if (isset($ticket) and $ticket->file !== null)
- +
@endif
@@ -73,7 +73,7 @@ $userPr = Auth::user()->sites ?? collect([]); @if (isset($ticket) and $ticket->file2 !== null)
- +
@endif From 9c1b540703cd1d8c8084a07fa1cdf2c1f1f615e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Munsch?= Date: Thu, 9 Jun 2022 13:25:28 +0200 Subject: [PATCH 3/3] FIX CSP issues - bumped crud-policies to 0.4.2 - compile vue using runtime and production mode --- composer.json | 2 +- composer.lock | 14 +- package-lock.json | 262 +++++++++++++----- package.json | 2 + resources/js/app.js | 1 + resources/js/confirm.js | 61 ++++ resources/views/accounts/index.blade.php | 2 +- resources/views/brands/index.blade.php | 2 +- resources/views/credit_logs/index.blade.php | 2 +- resources/views/files/index.blade.php | 2 +- resources/views/layout/app.blade.php | 2 +- resources/views/layout/footer.blade.php | 2 +- resources/views/layout/nav.blade.php | 7 +- resources/views/logs/index.blade.php | 2 +- resources/views/projects/index.blade.php | 2 +- resources/views/schedule/index.blade.php | 56 ++-- resources/views/sites/index.blade.php | 2 +- resources/views/ticket/index.blade.php | 37 ++- resources/views/ticket/show.blade.php | 21 +- resources/views/users/stats.blade.php | 13 +- .../crud/modules/actionbar/delete.blade.php | 2 +- .../views/vendor/mail/html/header.blade.php | 2 +- webpack.mix.js | 5 +- 23 files changed, 364 insertions(+), 139 deletions(-) create mode 100644 resources/js/confirm.js diff --git a/composer.json b/composer.json index bb0831b..64f81f3 100644 --- a/composer.json +++ b/composer.json @@ -15,7 +15,7 @@ "fideloper/proxy": "^4.4", "fruitcake/laravel-cors": "^2.0", "guzzlehttp/guzzle": "^7.0.1", - "kwaadpepper/crud-policies": "^0.4.0", + "kwaadpepper/crud-policies": "^0.4.2", "kwaadpepper/enum": "^2.1", "kwaadpepper/exception-handler": "^0.0.5", "laravel-lang/lang": "~8.0", diff --git a/composer.lock b/composer.lock index 3062eb0..cd49c08 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "22dfaf5696ddcb98ef8764d0f03a6ba0", + "content-hash": "dbb480b9fd36eeda261c73207b52e630", "packages": [ { "name": "asm89/stack-cors", @@ -1505,16 +1505,16 @@ }, { "name": "kwaadpepper/crud-policies", - "version": "0.4.0", + "version": "0.4.2", "source": { "type": "git", "url": "https://github.com/Kwaadpepper/crud-policies.git", - "reference": "91616b1788fb581a15473f435fad2c0dbdd07f4c" + "reference": "2bd1f55dc6ec13f198c5f1e40e360e0b498512bb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Kwaadpepper/crud-policies/zipball/91616b1788fb581a15473f435fad2c0dbdd07f4c", - "reference": "91616b1788fb581a15473f435fad2c0dbdd07f4c", + "url": "https://api.github.com/repos/Kwaadpepper/crud-policies/zipball/2bd1f55dc6ec13f198c5f1e40e360e0b498512bb", + "reference": "2bd1f55dc6ec13f198c5f1e40e360e0b498512bb", "shasum": "" }, "require": { @@ -1565,9 +1565,9 @@ ], "support": { "issues": "https://github.com/Kwaadpepper/crud-policies/issues", - "source": "https://github.com/Kwaadpepper/crud-policies/tree/0.4.0" + "source": "https://github.com/Kwaadpepper/crud-policies/tree/0.4.2" }, - "time": "2022-05-31T15:35:05+00:00" + "time": "2022-06-09T11:34:54+00:00" }, { "name": "kwaadpepper/enum", diff --git a/package-lock.json b/package-lock.json index b1949ab..fdd3b66 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7,6 +7,8 @@ "devDependencies": { "@babel/plugin-transform-async-to-generator": "^7.16.8", "@fortawesome/fontawesome-free": "^6.1.1", + "@popperjs/core": "^2.11.5", + "@vue/compiler-sfc": "^3.2.37", "autoprefixer": "10.4.5", "axios": "^0.21.1", "bootstrap": "^5.1.3", @@ -1760,7 +1762,6 @@ "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.5.tgz", "integrity": "sha512-9X2obfABZuDVLCgPK9aX0a/x4jaOEweTTWE2+9sr0Qqqevj2Uv5XorvusThmc9XGYpS9yI+fhh8RTafBtGposw==", "dev": true, - "peer": true, "funding": { "type": "opencollective", "url": "https://opencollective.com/popperjs" @@ -2081,6 +2082,56 @@ "@types/node": "*" } }, + "node_modules/@vue/compiler-core": { + "version": "3.2.37", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.37.tgz", + "integrity": "sha512-81KhEjo7YAOh0vQJoSmAD68wLfYqJvoiD4ulyedzF+OEk/bk6/hx3fTNVfuzugIIaTrOx4PGx6pAiBRe5e9Zmg==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.16.4", + "@vue/shared": "3.2.37", + "estree-walker": "^2.0.2", + "source-map": "^0.6.1" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.2.37", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.37.tgz", + "integrity": "sha512-yxJLH167fucHKxaqXpYk7x8z7mMEnXOw3G2q62FTkmsvNxu4FQSu5+3UMb+L7fjKa26DEzhrmCxAgFLLIzVfqQ==", + "dev": true, + "dependencies": { + "@vue/compiler-core": "3.2.37", + "@vue/shared": "3.2.37" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.2.37", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.37.tgz", + "integrity": "sha512-+7i/2+9LYlpqDv+KTtWhOZH+pa8/HnX/905MdVmAcI/mPQOBwkHHIzrsEsucyOIZQYMkXUiTkmZq5am/NyXKkg==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.37", + "@vue/compiler-dom": "3.2.37", + "@vue/compiler-ssr": "3.2.37", + "@vue/reactivity-transform": "3.2.37", + "@vue/shared": "3.2.37", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7", + "postcss": "^8.1.10", + "source-map": "^0.6.1" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.2.37", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.37.tgz", + "integrity": "sha512-7mQJD7HdXxQjktmsWp/J67lThEIcxLemz1Vb5I6rYJHR5vI+lON3nPGOH3ubmbvYGt8xEUaAr1j7/tIFWiEOqw==", + "dev": true, + "dependencies": { + "@vue/compiler-dom": "3.2.37", + "@vue/shared": "3.2.37" + } + }, "node_modules/@vue/component-compiler-utils": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.3.0.tgz", @@ -2139,6 +2190,25 @@ "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", "dev": true }, + "node_modules/@vue/reactivity-transform": { + "version": "3.2.37", + "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.37.tgz", + "integrity": "sha512-IWopkKEb+8qpu/1eMKVeXrK0NLw9HicGviJzhJDEyfxTR9e1WtpnnbYkJWurX6WwoFP0sz10xQg8yL8lgskAZg==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.37", + "@vue/shared": "3.2.37", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7" + } + }, + "node_modules/@vue/shared": { + "version": "3.2.37", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.37.tgz", + "integrity": "sha512-4rSJemR2NQIo9Klm1vabqWjD8rs/ZaJSzMxkMNeJS6lHiUjjUeYFbooN19NgFjztubEKh3WlZUeOLVdbbUWHsw==", + "dev": true + }, "node_modules/@webassemblyjs/ast": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", @@ -3715,49 +3785,6 @@ "postcss": "^8.0.9" } }, - "node_modules/css-loader": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.1.tgz", - "integrity": "sha512-yB5CNFa14MbPJcomwNh3wLThtkZgcNyI2bNMRt8iE5Z8Vwl7f8vQXFAzn2HDOJvtDq2NTZBUGMSUNNyrv3/+cw==", - "dev": true, - "peer": true, - "dependencies": { - "icss-utils": "^5.1.0", - "postcss": "^8.4.7", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.0", - "postcss-modules-scope": "^3.0.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.2.0", - "semver": "^7.3.5" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - } - }, - "node_modules/css-loader/node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dev": true, - "peer": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/css-select": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", @@ -3927,7 +3954,7 @@ "node_modules/de-indent": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", - "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=", + "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==", "dev": true }, "node_modules/debug": { @@ -4575,6 +4602,12 @@ "node": ">=4.0" } }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + }, "node_modules/esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", @@ -6392,6 +6425,15 @@ "node": ">=10" } }, + "node_modules/magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "dev": true, + "dependencies": { + "sourcemap-codec": "^1.4.8" + } + }, "node_modules/make-dir": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", @@ -9089,6 +9131,12 @@ "deprecated": "See https://github.com/lydell/source-map-url#deprecated", "dev": true }, + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "dev": true + }, "node_modules/spdx-correct": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", @@ -11810,8 +11858,7 @@ "version": "2.11.5", "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.5.tgz", "integrity": "sha512-9X2obfABZuDVLCgPK9aX0a/x4jaOEweTTWE2+9sr0Qqqevj2Uv5XorvusThmc9XGYpS9yI+fhh8RTafBtGposw==", - "dev": true, - "peer": true + "dev": true }, "@trysound/sax": { "version": "0.2.0", @@ -12125,6 +12172,56 @@ "@types/node": "*" } }, + "@vue/compiler-core": { + "version": "3.2.37", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.37.tgz", + "integrity": "sha512-81KhEjo7YAOh0vQJoSmAD68wLfYqJvoiD4ulyedzF+OEk/bk6/hx3fTNVfuzugIIaTrOx4PGx6pAiBRe5e9Zmg==", + "dev": true, + "requires": { + "@babel/parser": "^7.16.4", + "@vue/shared": "3.2.37", + "estree-walker": "^2.0.2", + "source-map": "^0.6.1" + } + }, + "@vue/compiler-dom": { + "version": "3.2.37", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.37.tgz", + "integrity": "sha512-yxJLH167fucHKxaqXpYk7x8z7mMEnXOw3G2q62FTkmsvNxu4FQSu5+3UMb+L7fjKa26DEzhrmCxAgFLLIzVfqQ==", + "dev": true, + "requires": { + "@vue/compiler-core": "3.2.37", + "@vue/shared": "3.2.37" + } + }, + "@vue/compiler-sfc": { + "version": "3.2.37", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.37.tgz", + "integrity": "sha512-+7i/2+9LYlpqDv+KTtWhOZH+pa8/HnX/905MdVmAcI/mPQOBwkHHIzrsEsucyOIZQYMkXUiTkmZq5am/NyXKkg==", + "dev": true, + "requires": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.37", + "@vue/compiler-dom": "3.2.37", + "@vue/compiler-ssr": "3.2.37", + "@vue/reactivity-transform": "3.2.37", + "@vue/shared": "3.2.37", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7", + "postcss": "^8.1.10", + "source-map": "^0.6.1" + } + }, + "@vue/compiler-ssr": { + "version": "3.2.37", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.37.tgz", + "integrity": "sha512-7mQJD7HdXxQjktmsWp/J67lThEIcxLemz1Vb5I6rYJHR5vI+lON3nPGOH3ubmbvYGt8xEUaAr1j7/tIFWiEOqw==", + "dev": true, + "requires": { + "@vue/compiler-dom": "3.2.37", + "@vue/shared": "3.2.37" + } + }, "@vue/component-compiler-utils": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.3.0.tgz", @@ -12176,6 +12273,25 @@ } } }, + "@vue/reactivity-transform": { + "version": "3.2.37", + "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.37.tgz", + "integrity": "sha512-IWopkKEb+8qpu/1eMKVeXrK0NLw9HicGviJzhJDEyfxTR9e1WtpnnbYkJWurX6WwoFP0sz10xQg8yL8lgskAZg==", + "dev": true, + "requires": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.37", + "@vue/shared": "3.2.37", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7" + } + }, + "@vue/shared": { + "version": "3.2.37", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.37.tgz", + "integrity": "sha512-4rSJemR2NQIo9Klm1vabqWjD8rs/ZaJSzMxkMNeJS6lHiUjjUeYFbooN19NgFjztubEKh3WlZUeOLVdbbUWHsw==", + "dev": true + }, "@webassemblyjs/ast": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", @@ -13436,35 +13552,6 @@ "dev": true, "requires": {} }, - "css-loader": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.1.tgz", - "integrity": "sha512-yB5CNFa14MbPJcomwNh3wLThtkZgcNyI2bNMRt8iE5Z8Vwl7f8vQXFAzn2HDOJvtDq2NTZBUGMSUNNyrv3/+cw==", - "dev": true, - "peer": true, - "requires": { - "icss-utils": "^5.1.0", - "postcss": "^8.4.7", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.0", - "postcss-modules-scope": "^3.0.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.2.0", - "semver": "^7.3.5" - }, - "dependencies": { - "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dev": true, - "peer": true, - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, "css-select": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", @@ -13588,7 +13675,7 @@ "de-indent": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", - "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=", + "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==", "dev": true }, "debug": { @@ -14079,6 +14166,12 @@ "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true }, + "estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + }, "esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", @@ -15435,6 +15528,15 @@ "yallist": "^4.0.0" } }, + "magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "dev": true, + "requires": { + "sourcemap-codec": "^1.4.8" + } + }, "make-dir": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", @@ -17416,6 +17518,12 @@ "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", "dev": true }, + "sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "dev": true + }, "spdx-correct": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", diff --git a/package.json b/package.json index 8fdc024..f9b4d7f 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,8 @@ "devDependencies": { "@babel/plugin-transform-async-to-generator": "^7.16.8", "@fortawesome/fontawesome-free": "^6.1.1", + "@popperjs/core": "^2.11.5", + "@vue/compiler-sfc": "^3.2.37", "autoprefixer": "10.4.5", "axios": "^0.21.1", "bootstrap": "^5.1.3", diff --git a/resources/js/app.js b/resources/js/app.js index b484615..bec9d32 100644 --- a/resources/js/app.js +++ b/resources/js/app.js @@ -3,3 +3,4 @@ require('./session_watch') require('./vue') require('./files_add') require('./label_colorize') +require('./confirm') diff --git a/resources/js/confirm.js b/resources/js/confirm.js new file mode 100644 index 0000000..31b10a2 --- /dev/null +++ b/resources/js/confirm.js @@ -0,0 +1,61 @@ + +const confirmJS = require('./modules/confirm.js').default.methods.confirm + +window.addEventListener('DOMContentLoaded', () => { + let elements = document.getElementsByClassName('confirmDeleteJS') + for (let element of elements) { + element.addEventListener('submit', function (e) { + e.preventDefault() + confirmJS( + 'Confirmez', + 'Voulez-vous vraiment supprimer cet élément ?', + this, + function (response) { this.submit() }, + { 'icon': 'error' } + ) + return false + }) + } + elements = document.getElementsByClassName('confirmDoneJS') + for (let element of elements) { + element.addEventListener('submit', function (e) { + e.preventDefault() + confirmJS( + 'Confirmez', + 'Voulez-vous vraiment marquer cet élément comme traité ?', + this, + function (response) { this.submit() }, + { 'icon': 'info' } + ) + return false + }) + } + elements = document.getElementsByClassName('confirmSubmitJS') + for (let element of elements) { + element.addEventListener('submit', function (e) { + e.preventDefault() + confirmJS( + 'Confirmez', + 'Voulez-vous enregistrer cet élément tel-quel ?', + this, + function (response) { this.submit() }, + { 'icon': 'warning' } + ) + return false + }) + } + elements = document.getElementsByClassName('confirmJS') + for (let element of elements) { + element.addEventListener('submit', function (e) { + e.preventDefault() + confirmJS( + 'Confirmez', + 'Êtes vous sure ?', + this, + function (response) { this.submit() }, + { 'icon': 'warning' } + ) + return false + }) + } +}) diff --git a/resources/views/accounts/index.blade.php b/resources/views/accounts/index.blade.php index 36ee7e3..b087455 100644 --- a/resources/views/accounts/index.blade.php +++ b/resources/views/accounts/index.blade.php @@ -95,7 +95,7 @@ {{ __('crud-policies::crud.edit') }} @endcan @can('delete', $model) -
+ @csrf @method('DELETE') diff --git a/resources/views/brands/index.blade.php b/resources/views/brands/index.blade.php index 9fb5b29..415ba37 100644 --- a/resources/views/brands/index.blade.php +++ b/resources/views/brands/index.blade.php @@ -86,7 +86,7 @@ {{ __('crud-policies::crud.edit') }} @endcan @can('delete', $model) - + @csrf @method('DELETE') diff --git a/resources/views/credit_logs/index.blade.php b/resources/views/credit_logs/index.blade.php index b9a7385..45efa84 100644 --- a/resources/views/credit_logs/index.blade.php +++ b/resources/views/credit_logs/index.blade.php @@ -91,7 +91,7 @@ {{ __('crud-policies::crud.edit') }} @endcan @can('delete', $model) - + @csrf @method('DELETE') diff --git a/resources/views/files/index.blade.php b/resources/views/files/index.blade.php index 91ee7b8..74ee515 100644 --- a/resources/views/files/index.blade.php +++ b/resources/views/files/index.blade.php @@ -88,7 +88,7 @@ {{ __('crud-policies::crud.edit') }} @endcan @can('delete', $model) - + @csrf @method('DELETE') diff --git a/resources/views/layout/app.blade.php b/resources/views/layout/app.blade.php index 329ed82..340be5e 100644 --- a/resources/views/layout/app.blade.php +++ b/resources/views/layout/app.blade.php @@ -22,7 +22,7 @@ @crudPoliciesCSS - @stack('customCss') + @stack('styles') @include('layout.nav') diff --git a/resources/views/layout/footer.blade.php b/resources/views/layout/footer.blade.php index c8cd2ff..655fdc7 100644 --- a/resources/views/layout/footer.blade.php +++ b/resources/views/layout/footer.blade.php @@ -1,5 +1,5 @@