FIX CSP issues
- bumped crud-policies to 0.4.2 - compile vue using runtime and production mode
This commit is contained in:
parent
f3a20682f0
commit
9c1b540703
23 changed files with 364 additions and 139 deletions
|
|
@ -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",
|
||||
|
|
|
|||
14
composer.lock
generated
14
composer.lock
generated
|
|
@ -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",
|
||||
|
|
|
|||
262
package-lock.json
generated
262
package-lock.json
generated
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
1
resources/js/app.js
vendored
1
resources/js/app.js
vendored
|
|
@ -3,3 +3,4 @@ require('./session_watch')
|
|||
require('./vue')
|
||||
require('./files_add')
|
||||
require('./label_colorize')
|
||||
require('./confirm')
|
||||
|
|
|
|||
61
resources/js/confirm.js
vendored
Normal file
61
resources/js/confirm.js
vendored
Normal file
|
|
@ -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
|
||||
})
|
||||
}
|
||||
})
|
||||
|
|
@ -95,7 +95,7 @@
|
|||
<a href="{{ CrudController::getRoutePrefixed("$modelTable.edit", $model) }}" class="btn btn-sm btn-info">{{ __('crud-policies::crud.edit') }}</a>
|
||||
@endcan
|
||||
@can('delete', $model)
|
||||
<form action="{{ CrudController::getRoutePrefixed("$modelTable.destroy", $model) }}" method="POST" onsubmit="__CRUD.confirmDelete(event)">
|
||||
<form class="CrudConfirmDelete" action="{{ CrudController::getRoutePrefixed("$modelTable.destroy", $model) }}" method="POST">
|
||||
@csrf
|
||||
@method('DELETE')
|
||||
<button type="submit" class="btn btn-sm btn-danger">{{ __('crud-policies::crud.delete') }}</button>
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@
|
|||
<a href="{{ CrudController::getRoutePrefixed("$modelTable.edit", $model) }}" class="btn btn-sm btn-info">{{ __('crud-policies::crud.edit') }}</a>
|
||||
@endcan
|
||||
@can('delete', $model)
|
||||
<form action="{{ CrudController::getRoutePrefixed("$modelTable.destroy", $model) }}" method="POST" onsubmit="__CRUD.confirmDelete(event)">
|
||||
<form class="CrudConfirmDelete" action="{{ CrudController::getRoutePrefixed("$modelTable.destroy", $model) }}" method="POST">
|
||||
@csrf
|
||||
@method('DELETE')
|
||||
<button type="submit" class="btn btn-sm btn-danger">{{ __('crud-policies::crud.delete') }}</button>
|
||||
|
|
|
|||
|
|
@ -91,7 +91,7 @@
|
|||
<a href="{{ CrudController::getRoutePrefixed("$modelTable.edit", $model) }}" class="btn btn-sm btn-info">{{ __('crud-policies::crud.edit') }}</a>
|
||||
@endcan
|
||||
@can('delete', $model)
|
||||
<form action="{{ CrudController::getRoutePrefixed("$modelTable.destroy", $model) }}" method="POST" onsubmit="__CRUD.confirmDelete(event)">
|
||||
<form class="CrudConfirmDelete" action="{{ CrudController::getRoutePrefixed("$modelTable.destroy", $model) }}" method="POST">
|
||||
@csrf
|
||||
@method('DELETE')
|
||||
<button type="submit" class="btn btn-sm btn-danger">{{ __('crud-policies::crud.delete') }}</button>
|
||||
|
|
|
|||
|
|
@ -88,7 +88,7 @@
|
|||
<a href="{{ CrudController::getRoutePrefixed("$modelTable.edit", $model) }}" class="btn btn-sm btn-info">{{ __('crud-policies::crud.edit') }}</a>
|
||||
@endcan
|
||||
@can('delete', $model)
|
||||
<form action="{{ CrudController::getRoutePrefixed("$modelTable.destroy", $model) }}" method="POST" onsubmit="__CRUD.confirmDelete(event)">
|
||||
<form class="CrudConfirmDelete" action="{{ CrudController::getRoutePrefixed("$modelTable.destroy", $model) }}" method="POST">
|
||||
@csrf
|
||||
@method('DELETE')
|
||||
<button type="submit" class="btn btn-sm btn-danger">{{ __('crud-policies::crud.delete') }}</button>
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@
|
|||
<link href="{{ mix('css/app.css') }}" rel="stylesheet">
|
||||
<link href="{{ mix('css/fontawesome.min.css') }}" rel="stylesheet">
|
||||
@crudPoliciesCSS
|
||||
@stack('customCss')
|
||||
@stack('styles')
|
||||
</head>
|
||||
<body>
|
||||
@include('layout.nav')
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<footer id="footer" class="text-center text-lg-start">
|
||||
<div class="text-center p-2" style="background-color: rgba(0, 0, 0, 0.05);">
|
||||
<div class="text-center p-2 bg-light">
|
||||
<img src="{{ asset('assets/images/supportweb_128.png') }}" alt="{{ config('app.name', 'Laravel') }}" width="56">
|
||||
<span class="text-reset">{{ $license }}</span>
|
||||
-
|
||||
|
|
|
|||
|
|
@ -104,13 +104,10 @@
|
|||
<a class="dropdown-item" href="{{ route('users.passwordReset') }}">
|
||||
{{ __('Identifiants') }}
|
||||
</a>
|
||||
<a class="dropdown-item" href="#" onclick="event.preventDefault();
|
||||
document.getElementById('logout-form').submit();">
|
||||
{{ __('Déconnexion') }}
|
||||
</a>
|
||||
|
||||
<form id="logout-form" action="{{route('logout')}}" method="POST" style="display: none;">
|
||||
<form id="logout-form" class="dropdown-item" action="{{route('logout')}}" method="POST" class="d-none">
|
||||
@csrf
|
||||
<button class="btn btn-link p-0 text-decoration-none text-muted text-capitalize" type="submit">{{ __('Déconnexion') }}</button>
|
||||
</form>
|
||||
</div>
|
||||
</li>
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@
|
|||
<a href="{{ CrudController::getRoutePrefixed("$modelTable.edit", $model) }}" class="btn btn-sm btn-info">{{ __('crud-policies::crud.edit') }}</a>
|
||||
@endcan
|
||||
@can('delete', $model)
|
||||
<form action="{{ CrudController::getRoutePrefixed("$modelTable.destroy", $model) }}" method="POST" onsubmit="__CRUD.confirmDelete(event)">
|
||||
<form class="CrudConfirmDelete" action="{{ CrudController::getRoutePrefixed("$modelTable.destroy", $model) }}" method="POST">
|
||||
@csrf
|
||||
@method('DELETE')
|
||||
<button type="submit" class="btn btn-sm btn-danger">{{ __('crud-policies::crud.delete') }}</button>
|
||||
|
|
|
|||
|
|
@ -83,7 +83,7 @@
|
|||
<a href="{{ CrudController::getRoutePrefixed("$modelTable.edit", $model) }}" class="btn btn-sm btn-info">{{ __('crud-policies::crud.edit') }}</a>
|
||||
@endcan
|
||||
@can('delete', $model)
|
||||
<form action="{{ CrudController::getRoutePrefixed("$modelTable.destroy", $model) }}" method="POST" onsubmit="__CRUD.confirmDelete(event)">
|
||||
<form class="CrudConfirmDelete" action="{{ CrudController::getRoutePrefixed("$modelTable.destroy", $model) }}" method="POST">
|
||||
@csrf
|
||||
@method('DELETE')
|
||||
<button type="submit" class="btn btn-sm btn-danger">{{ __('crud-policies::crud.delete') }}</button>
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
<h4 class="d-inline me-3">Légende</h4>
|
||||
<div class="d-inline">
|
||||
@foreach(CellType::toArray() as $type)
|
||||
<span style="background-color: {{ $type->value }}; border: 1px solid black;">{{ $type->label }}</span>
|
||||
<span class="{{ Str::slug("celltype-$type->label") }}">{{ $type->label }}</span>
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -51,28 +51,34 @@
|
|||
</script>
|
||||
@endpush
|
||||
|
||||
@push('customCss')
|
||||
<style>
|
||||
.support {
|
||||
background-color: {{CellType::support()->value}} !important;
|
||||
}
|
||||
.rnd {
|
||||
background-color: {{CellType::rnd()->value}} !important;
|
||||
}
|
||||
.dev {
|
||||
background-color: {{CellType::dev()->value}} !important;
|
||||
}
|
||||
.projects {
|
||||
background-color: {{CellType::projects()->value}} !important;
|
||||
}
|
||||
.management {
|
||||
background-color: {{CellType::management()->value}} !important;
|
||||
}
|
||||
.absence, .Sat, .Sun {
|
||||
background-color: {{CellType::absence()->value}} !important;
|
||||
}
|
||||
.empty {
|
||||
background-color: #FFF !important;
|
||||
}
|
||||
</style>
|
||||
@push('styles')
|
||||
<style nonce="{{ $nonce }}">
|
||||
.support {
|
||||
background-color: {{CellType::support()->value}} !important;
|
||||
}
|
||||
.rnd {
|
||||
background-color: {{CellType::rnd()->value}} !important;
|
||||
}
|
||||
.dev {
|
||||
background-color: {{CellType::dev()->value}} !important;
|
||||
}
|
||||
.projects {
|
||||
background-color: {{CellType::projects()->value}} !important;
|
||||
}
|
||||
.management {
|
||||
background-color: {{CellType::management()->value}} !important;
|
||||
}
|
||||
.absence, .Sat, .Sun {
|
||||
background-color: {{CellType::absence()->value}} !important;
|
||||
}
|
||||
.empty {
|
||||
background-color: #FFF !important;
|
||||
}
|
||||
@foreach(CellType::toArray() as $type)
|
||||
.{{ Str::slug("celltype-$type->label") }} {
|
||||
background-color: {{ $type->value }};
|
||||
border: 1px solid black;
|
||||
}
|
||||
@endforeach
|
||||
</style>
|
||||
@endpush
|
||||
|
|
|
|||
|
|
@ -87,7 +87,7 @@
|
|||
<a href="{{ CrudController::getRoutePrefixed("$modelTable.edit", $model) }}" class="btn btn-sm btn-info">{{ __('crud-policies::crud.edit') }}</a>
|
||||
@endcan
|
||||
@can('delete', $model)
|
||||
<form action="{{ CrudController::getRoutePrefixed("$modelTable.destroy", $model) }}" method="POST" onsubmit="__CRUD.confirmDelete(event)">
|
||||
<form class="CrudConfirmDelete" action="{{ CrudController::getRoutePrefixed("$modelTable.destroy", $model) }}" method="POST">
|
||||
@csrf
|
||||
@method('DELETE')
|
||||
<button type="submit" class="btn btn-sm btn-danger">{{ __('crud-policies::crud.delete') }}</button>
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ $userPr = Auth::user()->sites ?? collect([]);
|
|||
<div class="float-end me-2">
|
||||
<div class="input-group">
|
||||
<label class="input-group-text" for="selectProject"><i class="fa-solid fa-diagram-project"></i></label>
|
||||
<select id="selectProject" class="form-select" onchange="window.location='{{ route('ticket.index') }}?'+(this.value == -1 ? 'prs=-1' : 'pr='+this.value);">
|
||||
<select id="selectProject" class="form-select">
|
||||
<option value="-1">{{ __('Tous') }}</option>
|
||||
@foreach($sites as $site)
|
||||
@if (Auth::user()->isAdmin())
|
||||
|
|
@ -40,17 +40,27 @@ $userPr = Auth::user()->sites ?? collect([]);
|
|||
@endif
|
||||
@endforeach
|
||||
</select>
|
||||
@push('scripts')
|
||||
<script nonce="{{ $nonce }}">document.getElementById('selectProject').addEventListener('change', function (e) {
|
||||
window.location='{{ route('ticket.index') }}?'+(this.value == -1 ? 'prs=-1' : 'pr='+this.value);
|
||||
});</script>
|
||||
@endpush
|
||||
</div>
|
||||
</div>
|
||||
<div class="float-end me-2">
|
||||
<div class="input-group">
|
||||
<label class="input-group-text" for="selectStatus"><i class="fa-solid fa-sign-hanging"></i></label>
|
||||
<select id="selectStatus" class="form-select" onchange="window.location='{{ route('ticket.index') }}?'+(this.value == -1 ? 'sts=-1' : 'st='+this.value);">
|
||||
<select id="selectStatus" class="form-select">
|
||||
<option value="-1">{{ __('Tous') }}</option>
|
||||
@foreach($status as $statut)
|
||||
<option value="{{ $statut->value }}" @if(intval(session('tickets.st'))==$statut->value)selected="selected" @endif>{{ $statut->label }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
@push('scripts')
|
||||
<script nonce="{{ $nonce }}">document.getElementById('selectStatus').addEventListener('change', function (e) {
|
||||
window.location='{{ route('ticket.index') }}?'+(this.value == -1 ? 'sts=-1' : 'st='+this.value);
|
||||
});</script>
|
||||
@endpush
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -61,12 +71,17 @@ $userPr = Auth::user()->sites ?? collect([]);
|
|||
<div class="float-end mt-3 me-2">
|
||||
<div class="input-group">
|
||||
<label class="input-group-text" for="selectAssign"><i class="fa-solid fa-hat-wizard"></i></label>
|
||||
<select id="selectAssign" class="form-select" onchange="window.location='{{ route('ticket.index') }}?'+(this.value == -1 ? 'assr=-1' : 'ass='+this.value);">
|
||||
<select id="selectAssign" class="form-select">
|
||||
<option value="-1">{{ __('Tous') }}</option>
|
||||
@foreach(\App\Models\User::adminUsers() as $user)
|
||||
<option value="{{ $user->id }}" @if(intval(session('tickets.ass'))==$user->id)selected="selected" @endif>{{ $user->name }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
@push('scripts')
|
||||
<script nonce="{{ $nonce }}">document.getElementById('selectAssign').addEventListener('change', function (e) {
|
||||
window.location='{{ route('ticket.index') }}?'+(this.value == -1 ? 'assr=-1' : 'ass='+this.value);
|
||||
});</script>
|
||||
@endpush
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -75,9 +90,17 @@ $userPr = Auth::user()->sites ?? collect([]);
|
|||
<form id="searchTicketForm" class="float-end mt-3 w-75" action="{{ request()->fullUrlWithQuery(['search' => '']) }}">
|
||||
<div class="input-group mb-3">
|
||||
<input id="searchTicket" type="text" name="search" class="form-control" placeholder="{{ __('Recherche de ticket..') }}" aria-label="{{ __('Recherche de ticket..') }}" aria-describedby="searchTicket" value="{{ session()->get('tickets.search') }}">
|
||||
<button class="btn btn-outline-danger" type="button" onclick="document.getElementById('searchTicket').value = '';document.getElementById('searchTicketForm').submit();"><i class="fa-solid fa-delete-left"></i></button>
|
||||
<button id="searchDelete" class="btn btn-outline-danger" type="button"><i class="fa-solid fa-delete-left"></i></button>
|
||||
<button class="btn btn-outline-primary" type="submit"><i class="fa-solid fa-magnifying-glass"></i></button>
|
||||
</div>
|
||||
@push('scripts')
|
||||
<script nonce="{{ $nonce }}">
|
||||
document.getElementById('searchDelete').addEventListener('click', function (e) {
|
||||
document.getElementById('searchTicket').value = '';
|
||||
document.getElementById('searchTicketForm').submit();
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -174,12 +197,12 @@ $userPr = Auth::user()->sites ?? collect([]);
|
|||
@if(auth()->user()->isAdmin())
|
||||
<a href="{{ route('ticket.edit', $ticket) }}" class="btn btn-outline-primary"><i class="fa-solid fa-pen"></i></a>
|
||||
@endif
|
||||
@can('delete', $ticket)
|
||||
@can('changeStatus', $ticket)
|
||||
@if(!$ticket->status->equals(TicketStatus::archived()))
|
||||
<form method="POST" action="{{ route('ticket.archive', $ticket) }}">
|
||||
<form method="POST" action="{{ route('ticket.archive', $ticket) }}" class="confirmJS">
|
||||
@method('PUT')
|
||||
@csrf
|
||||
<button type="submit" class="btn btn-outline-danger" onclick="return confirm('Êtes-vous sûr(e) ?')"><i class="fa-solid fa-box-archive"></i></button>
|
||||
<button type="submit" class="btn btn-outline-danger"><i class="fa-solid fa-box-archive"></i></button>
|
||||
</form>
|
||||
@endif
|
||||
@endcan
|
||||
|
|
|
|||
|
|
@ -15,9 +15,14 @@
|
|||
<form action="{{ route('ticket.subscribe', $ticket->id) }}" method="POST" id="form_abonnement" class="col">
|
||||
@csrf
|
||||
<div class="custom-control custom-checkbox text-right p-2">
|
||||
<input type="checkbox" name="subscription" class="custom-control-input" id="subscription" @if ($isSubscribed)checked @endif onchange="document.getElementById('form_abonnement').submit()">
|
||||
<input type="checkbox" name="subscription" class="custom-control-input" id="subscription" @if ($isSubscribed)checked @endif>
|
||||
<label class="custom-control-label" for="subscription">{{ __('Suivre le ticket') }}</label>
|
||||
</div>
|
||||
@push('scripts')
|
||||
<script nonce="{{ $nonce }}">document.getElementById('subscription').addEventListener('change', function (e) {
|
||||
document.getElementById('form_abonnement').submit();
|
||||
});</script>
|
||||
@endpush
|
||||
</form>
|
||||
@endcan
|
||||
@can('assignTo', $ticket)
|
||||
|
|
@ -25,12 +30,17 @@
|
|||
@csrf
|
||||
<div class="input-group">
|
||||
<label class="input-group-text" for="assign"><i class="fa-solid fa-hat-wizard"></i></label>
|
||||
<select class="form-select" name="assign" id="assign" onchange="document.getElementById('form_assign').submit();">
|
||||
<select class="form-select" name="assign" id="assign">
|
||||
<option value="" @if(!$ticket->assignedUser)selected @endif>{{ __('Personne n\'est assigné') }}</option>
|
||||
@foreach(\App\Models\User::adminUsers() as $user)
|
||||
<option value="{{ $user->id }}" @if(optional($ticket->assignedUser)->id == $user->id)selected @endif>{{ $user->name }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
@push('scripts')
|
||||
<script nonce="{{ $nonce }}">document.getElementById('assign').addEventListener('change', function (e) {
|
||||
document.getElementById('form_assign').submit();
|
||||
});</script>
|
||||
@endpush
|
||||
</div>
|
||||
</form>
|
||||
@endcan
|
||||
|
|
@ -39,11 +49,16 @@
|
|||
@csrf
|
||||
<div class="input-group">
|
||||
<label class="input-group-text" for="status"><i class="fa-solid fa-sign-hanging"></i></label>
|
||||
<select class="form-select" name="status" id="status" onchange="document.getElementById('form_status').submit();">
|
||||
<select class="form-select" name="status" id="status">
|
||||
@foreach(TicketStatus::toArray() as $ticketStatus)
|
||||
<option value="{{ $ticketStatus->value }}" @if($ticketStatus->equals($ticket->status))selected @endif>{{ $ticketStatus->label }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
@push('scripts')
|
||||
<script nonce="{{ $nonce }}">document.getElementById('status').addEventListener('change', function (e) {
|
||||
document.getElementById('form_status').submit();
|
||||
});</script>
|
||||
@endpush
|
||||
</div>
|
||||
</form>
|
||||
@endcan
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@
|
|||
$sum = 0;
|
||||
@endphp
|
||||
@foreach ($stat as $data)
|
||||
<tr style="background-color: {{ CellType::make($data->activity->value)->value }};">
|
||||
<tr class="{{ Str::slug('celltype-'. CellType::make($data->activity->value)->label) }}">
|
||||
<td><b>{{ $data->activity->label }}</b></td>
|
||||
<td><b>{{ $data->nb / Config::get('schedules.daySlots') }}</b></td>
|
||||
<td>{{ round((($data->nb / Config::get('schedules.daySlots')) / $workdays) * 100) }}%</td>
|
||||
|
|
@ -47,3 +47,14 @@
|
|||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@push('styles')
|
||||
<style nonce="{{ $nonce }}">
|
||||
@foreach(CellType::toArray() as $type)
|
||||
.{{ Str::slug("celltype-$type->label") }} {
|
||||
background-color: {{ $type->value }};
|
||||
border: 1px solid black;
|
||||
}
|
||||
@endforeach
|
||||
</style>
|
||||
@endpush
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
@can('delete', $model)
|
||||
<form action="{{ CrudController::getRoutePrefixed("$modelTable.destroy", $model)}}" method="POST" onsubmit="__CRUD.confirmDelete(event)">
|
||||
<form class="CrudConfirmDelete" action="{{ CrudController::getRoutePrefixed("$modelTable.destroy", $model)}}" method="POST">
|
||||
@csrf
|
||||
@method('DELETE')
|
||||
<button type="submit" class="btn btn-danger">{{ __('crud-policies::crud.delete') }}</button>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<tr>
|
||||
<td class="header">
|
||||
<a href="{{ $url }}" style="display: inline-block;">
|
||||
<a href="{{ $url }}" class="d-inline-block">
|
||||
<img src="{{ asset('assets/images/supportweb_128.png') }}" class="logo" alt="{{ config('app.name') }} Logo">
|
||||
</a>
|
||||
</td>
|
||||
|
|
|
|||
5
webpack.mix.js
vendored
5
webpack.mix.js
vendored
|
|
@ -12,10 +12,11 @@ let polyfill = {
|
|||
}
|
||||
|
||||
mix.webpackConfig({
|
||||
mode: process.env.NODE_ENV,
|
||||
resolve: {
|
||||
alias: {
|
||||
'@': path.resolve('resources/assets'),
|
||||
'vue$': process.env.NODE_ENV == 'production' ? 'vue/dist/vue.runtime.min.js' : 'vue/dist/vue.runtime.js',
|
||||
'vue$': 'vue/dist/vue.runtime.esm.js',
|
||||
}
|
||||
},
|
||||
// Pour debug compilation errors
|
||||
|
|
@ -51,7 +52,7 @@ mix.clean({
|
|||
mix.js('resources/js/app.js', 'public/js')
|
||||
.sass('resources/sass/app.scss', 'public/css')
|
||||
.sass('resources/sass/bootstrap.scss', 'public/css')
|
||||
.vue()
|
||||
.vue({ runtimeOnly: true })
|
||||
.polyfill(polyfill)
|
||||
|
||||
// Copy Blade Images Assets
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue