From b60513fb7277adc826b21a17dd65a2db1fe12eec Mon Sep 17 00:00:00 2001 From: Sebastien Hattry Date: Mon, 18 Jul 2022 10:36:38 +0000 Subject: [PATCH] Fix bugs sh01 --- .env.example | 4 + .gitignore | 2 +- .gitlab-ci.yml | 45 +++++ .vscode/launch.json | 48 +++++ .vscode/settings.json | 21 ++ README.md | 6 + .../Controllers/Bo/PictoBrandsController.php | 4 +- app/Http/Controllers/Bo/PictosController.php | 5 +- app/Http/Controllers/Bo/SeoDataController.php | 60 +----- app/Http/Controllers/Bo/SlidersController.php | 11 - app/Http/Controllers/Bo/SlidesController.php | 16 +- .../Controllers/FoodServiceController.php | 1 - app/Http/Controllers/HomeController.php | 1 - app/Http/Controllers/LegalsController.php | 1 - app/Http/Controllers/MarqueController.php | 1 - app/Http/Controllers/NewsController.php | 1 - app/Http/Controllers/PolicyController.php | 1 - app/Http/Controllers/ProductsController.php | 6 - .../Controllers/TranslationController.php | 6 - app/Http/Requests/ContactFormRequest.php | 12 +- app/Http/Requests/UpdatePictoBrandRequest.php | 33 +++ app/Http/Requests/UpdatePictoRequest.php | 32 +++ ...taRequest.php => UpdateSeoDataRequest.php} | 2 +- app/Providers/RouteServiceProvider.php | 2 +- composer.json | 14 +- composer.lock | 190 +++++++++++++++++- package-lock.json | 1 - phpcs.xml | 1 - resources/assets/back.js | 2 - resources/assets/bootstrap.js | 28 --- resources/assets/images/.DS_Store | Bin 10244 -> 0 bytes resources/assets/vuejs.js | 31 --- resources/js/back.js | 4 +- .../components/backend/ProductsPictos.vue | 0 .../components/backend/RangesSubRanges.vue | 0 resources/js/vuejs.js | 40 +--- resources/sass/frontend/_globals.scss | 3 + resources/sass/frontend/_list.scss | 186 +---------------- resources/views/back/advice/edit.blade.php | 4 - resources/views/back/encarts/edit.blade.php | 4 - resources/views/back/moments/edit.blade.php | 4 - resources/views/front/contact.blade.php | 20 +- resources/views/layouts/backend.blade.php | 6 +- .../views/layouts/backend/head.blade.php | 2 +- resources/views/layouts/frontend.blade.php | 2 +- .../views/layouts/frontend/app-head.blade.php | 2 +- routes/api.php | 4 - routes/web.php | 29 ++- tests/CreatesApplication.php | 22 -- tests/Feature/ExampleTest.php | 21 -- tests/TestCase.php | 10 - tests/Unit/ExampleTest.php | 18 -- webpack.mix.js | 3 +- 53 files changed, 452 insertions(+), 520 deletions(-) create mode 100644 .gitlab-ci.yml create mode 100644 .vscode/launch.json create mode 100644 .vscode/settings.json create mode 100644 app/Http/Requests/UpdatePictoBrandRequest.php create mode 100644 app/Http/Requests/UpdatePictoRequest.php rename app/Http/Requests/{StoreSeoDataRequest.php => UpdateSeoDataRequest.php} (92%) delete mode 100644 resources/assets/back.js delete mode 100644 resources/assets/bootstrap.js delete mode 100644 resources/assets/images/.DS_Store delete mode 100644 resources/assets/vuejs.js rename resources/{assets => js}/components/backend/ProductsPictos.vue (100%) rename resources/{assets => js}/components/backend/RangesSubRanges.vue (100%) delete mode 100644 tests/CreatesApplication.php delete mode 100644 tests/Feature/ExampleTest.php delete mode 100644 tests/TestCase.php delete mode 100644 tests/Unit/ExampleTest.php diff --git a/.env.example b/.env.example index 067166f..5fecbcf 100644 --- a/.env.example +++ b/.env.example @@ -35,3 +35,7 @@ MAIL_LIST_SERVICEWEB= MAIL_LIST_CONTACTFORM= ANALYTICS_GOOGLE_ID= + +LDC_WEB_API_KEY="MY_KEY" +LDC_STATUS_CHECKER_API_KEY="MY_KEY" +LDC_STATUS_CHECKER_UUID="UUID_PROJECT" \ No newline at end of file diff --git a/.gitignore b/.gitignore index aad1c0a..d506a16 100644 --- a/.gitignore +++ b/.gitignore @@ -13,4 +13,4 @@ Homestead.yaml npm-debug.log yarn-error.log /.idea -/.vscode +auth.json diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..1bd5031 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,45 @@ +image: $CI_REGISTRY/service-web-lab/ldc-web-images-docker/ldcweb-qa:php7.3-1.0 + +stages: + - Security + - CodingStandards + +composer-security: + stage: Security + script: + - local-php-security-checker --format=json --path=./composer.lock > composer-security-checker-report.json + artifacts: + when: on_failure + expose_as: 'composer-security-checker' + paths: + - composer-security-checker-report.json + allow_failure: true + +npm-security: + stage: Security + script: + - audit-ci -p npm -o json > npm-security-checker-report.json + artifacts: + when: on_failure + expose_as: 'npm-security-checker' + paths: + - npm-security-checker-report.json + allow_failure: true + +phpcs: + stage: CodingStandards + before_script: + - composer install + cache: + paths: + - vendor/ + script: + - vendor/bin/phpcs --report=junit --report-file=phpcs-report.xml + artifacts: + when: on_failure + expose_as: 'phpcs' + paths: + - phpcs-report.xml + reports: + junit: phpcs-report.xml + allow_failure: false \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..9dc6b4d --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,48 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "Listen for Xdebug", + "type": "php", + "request": "launch", + "port": 9003 + }, + { + "name": "Launch currently open script", + "type": "php", + "request": "launch", + "program": "${file}", + "cwd": "${fileDirname}", + "port": 0, + "runtimeArgs": [ + "-dxdebug.start_with_request=yes" + ], + "env": { + "XDEBUG_MODE": "debug,develop", + "XDEBUG_CONFIG": "client_port=${port}" + } + }, + { + "name": "Launch Built-in web server", + "type": "php", + "request": "launch", + "runtimeArgs": [ + "-dxdebug.mode=debug", + "-dxdebug.start_with_request=yes", + "-S", + "localhost:0" + ], + "program": "", + "cwd": "${workspaceRoot}", + "port": 9003, + "serverReadyAction": { + "pattern": "Development Server \\(http://localhost:([0-9]+)\\) started", + "uriFormat": "http://localhost:%s", + "action": "openExternally" + } + } + ] +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..b4c6b3b --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,21 @@ +{ + "workbench.colorCustomizations": { + "activityBar.activeBackground": "#fccf1d", + "activityBar.activeBorder": "#222f5c", + "activityBar.background": "#fccf1d", + "activityBar.foreground": "#222f5c", + "activityBar.inactiveForeground": "#222f5c99", + "activityBarBadge.background": "#ff0400", + "activityBarBadge.foreground": "#ffffff", + "sash.hoverBorder": "#fccf1d", + "statusBar.background": "#c19f1a", + "statusBar.foreground": "#222f5c", + "statusBarItem.hoverBackground": "#ff0400", + "statusBarItem.remoteBackground": "#c19f1a", + "statusBarItem.remoteForeground": "#222f5c", + "titleBar.activeBackground": "#c19f1a", + "titleBar.activeForeground": "#222f5c", + "titleBar.inactiveBackground": "#fccf1d99", + "titleBar.inactiveForeground": "#222f5c99" + } +} diff --git a/README.md b/README.md index 528136f..13fdd87 100644 --- a/README.md +++ b/README.md @@ -17,4 +17,10 @@ Pour le front : ``` npm install npm run prod +``` + +## Crons +Put every min in PROD : +``` +php artisan schedule:run ``` \ No newline at end of file diff --git a/app/Http/Controllers/Bo/PictoBrandsController.php b/app/Http/Controllers/Bo/PictoBrandsController.php index 66d7795..f5aedf2 100644 --- a/app/Http/Controllers/Bo/PictoBrandsController.php +++ b/app/Http/Controllers/Bo/PictoBrandsController.php @@ -69,10 +69,10 @@ class PictoBrandsController extends Controller * Update the specified resource in storage. * * @param PictoBrand $pictobrand - * @param \Illuminate\Http\StorePictoBrandRequest $request + * @param \Illuminate\Http\UpdatePictoBrandRequest $request * @return \Illuminate\Http\Response */ - public function update(PictoBrand $pictobrand, StorePictoBrandRequest $request) + public function update(PictoBrand $pictobrand, UpdatePictoBrandRequest $request) { $pictobrand->fill($request->validated()); if (is_a($request->picture,"SplFileInfo")) { diff --git a/app/Http/Controllers/Bo/PictosController.php b/app/Http/Controllers/Bo/PictosController.php index adec3f6..8330bcb 100644 --- a/app/Http/Controllers/Bo/PictosController.php +++ b/app/Http/Controllers/Bo/PictosController.php @@ -5,6 +5,7 @@ namespace App\Http\Controllers\Bo; use App\Enums\Page; use App\Http\Controllers\Controller; use App\Http\Requests\StorePictoRequest; +use App\Http\Requests\UpdatePictoRequest; use App\Lib\Utils; use App\Models\Picto; @@ -72,10 +73,10 @@ class PictosController extends Controller * Update the specified resource in storage. * * @param Picto $picto - * @param \Illuminate\Http\StorePictoRequest $request + * @param \Illuminate\Http\UpdatePictoRequest $request * @return \Illuminate\Http\Response */ - public function update(Picto $picto, StorePictoRequest $request) + public function update(Picto $picto, UpdatePictoRequest $request) { $picto->fill($request->validated()); if (is_a($request->picture, "SplFileInfo")) { diff --git a/app/Http/Controllers/Bo/SeoDataController.php b/app/Http/Controllers/Bo/SeoDataController.php index b0b9b38..a35a637 100644 --- a/app/Http/Controllers/Bo/SeoDataController.php +++ b/app/Http/Controllers/Bo/SeoDataController.php @@ -3,54 +3,11 @@ namespace App\Http\Controllers\Bo; use App\Http\Controllers\Controller; -use App\Http\Requests\StoreSeoDataRequest; +use App\Http\Requests\UpdateSeoDataRequest; use App\Models\SeoDatum; -use Illuminate\Http\Request; class SeoDataController extends Controller { - /** - * Display a listing of the resource. - * - * @return \Illuminate\Http\Response - */ - public function index() - { - // - } - - /** - * Show the form for creating a new resource. - * - * @return \Illuminate\Http\Response - */ - public function create() - { - // - } - - /** - * Store a newly created resource in storage. - * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\Response - */ - public function store(Request $request) - { - // - } - - /** - * Display the specified resource. - * - * @param \App\Models\SeoDatum $SeoDatum - * @return \Illuminate\Http\Response - */ - public function show(SeoDatum $SeoDatum) - { - // - } - /** * Show the form for editing the specified resource. * @@ -65,11 +22,11 @@ class SeoDataController extends Controller /** * Update the specified resource in storage. * - * @param \Illuminate\Http\Request $request + * @param UpdateSeoDataRequest $request * @param \App\Models\SeoDatum $SeoDatum * @return \Illuminate\Http\Response */ - public function update(StoreSeoDataRequest $request, SeoDatum $SeoDatum) + public function update(UpdateSeoDataRequest $request, SeoDatum $SeoDatum) { $SeoDatum->fill($request->validated()); $SeoDatum->save(); @@ -77,15 +34,4 @@ class SeoDataController extends Controller return redirect()->route('bo.seo_data.edit', $SeoDatum->page) ->with('success', trans('Modifications enregistrées !')); } - - /** - * Remove the specified resource from storage. - * - * @param \App\Models\SeoDatum $SeoDatum - * @return \Illuminate\Http\Response - */ - public function destroy(SeoDatum $SeoDatum) - { - // - } } diff --git a/app/Http/Controllers/Bo/SlidersController.php b/app/Http/Controllers/Bo/SlidersController.php index da6a5ca..8d397a7 100644 --- a/app/Http/Controllers/Bo/SlidersController.php +++ b/app/Http/Controllers/Bo/SlidersController.php @@ -48,17 +48,6 @@ class SlidersController extends Controller return redirect()->route('bo.sliders.edit', $slider->id)->with('success', 'Slider créé !'); } - /** - * Display the specified resource. - * - * @param int $id - * @return \Illuminate\Http\Response - */ - public function show($id) - { - // - } - /** * Show the form for editing the specified resource. * diff --git a/app/Http/Controllers/Bo/SlidesController.php b/app/Http/Controllers/Bo/SlidesController.php index d168b98..08354a4 100644 --- a/app/Http/Controllers/Bo/SlidesController.php +++ b/app/Http/Controllers/Bo/SlidesController.php @@ -55,17 +55,6 @@ class SlidesController extends Controller return redirect()->route('bo.slides.edit', $slide->id)->with('success', 'Slide créé !'); } - /** - * Display the specified resource. - * - * @param int $id - * @return \Illuminate\Http\Response - */ - public function show($id) - { - // - } - /** * Show the form for editing the specified resource. * @@ -141,9 +130,6 @@ class SlidesController extends Controller private function getLastOrder() { $order = Slide::select('order')->orderBy('order', 'DESC')->first(); - if ($order === null) { - return 1; - } - return $order->order + 1; + return $order === null ? 1 : $order->order + 1; } } diff --git a/app/Http/Controllers/FoodServiceController.php b/app/Http/Controllers/FoodServiceController.php index 27b73ab..3e69860 100644 --- a/app/Http/Controllers/FoodServiceController.php +++ b/app/Http/Controllers/FoodServiceController.php @@ -8,7 +8,6 @@ use App\Models\Picto; use App\Models\Product; use App\Models\SeoDatum; use App\Models\Title; -use Illuminate\Http\Request; class FoodServiceController extends Controller { diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php index 671d030..e0e7dc8 100644 --- a/app/Http/Controllers/HomeController.php +++ b/app/Http/Controllers/HomeController.php @@ -9,7 +9,6 @@ use App\Models\Product; use App\Models\SeoDatum; use App\Models\Slide; use App\Models\Slider; -use Exception; use Illuminate\Support\Carbon; class HomeController extends Controller diff --git a/app/Http/Controllers/LegalsController.php b/app/Http/Controllers/LegalsController.php index 2449959..346340b 100644 --- a/app/Http/Controllers/LegalsController.php +++ b/app/Http/Controllers/LegalsController.php @@ -5,7 +5,6 @@ namespace App\Http\Controllers; use App\Enums\Page; use App\Models\SeoDatum; use App\Models\Text; -use Illuminate\Http\Request; class LegalsController extends Controller { diff --git a/app/Http/Controllers/MarqueController.php b/app/Http/Controllers/MarqueController.php index 3cc030b..7e41062 100644 --- a/app/Http/Controllers/MarqueController.php +++ b/app/Http/Controllers/MarqueController.php @@ -9,7 +9,6 @@ use App\Models\Picto; use App\Models\PictoBrand; use App\Models\SeoDatum; use App\Models\Title; -use Illuminate\Http\Request; class MarqueController extends Controller { diff --git a/app/Http/Controllers/NewsController.php b/app/Http/Controllers/NewsController.php index 855574d..53a534e 100644 --- a/app/Http/Controllers/NewsController.php +++ b/app/Http/Controllers/NewsController.php @@ -9,7 +9,6 @@ use App\Models\Product; use App\Models\SeoDatum; use App\Models\Text; use App\Models\Title; -use Illuminate\Http\Request; use Illuminate\Support\Carbon; class NewsController extends Controller diff --git a/app/Http/Controllers/PolicyController.php b/app/Http/Controllers/PolicyController.php index 41a908d..37acd9f 100644 --- a/app/Http/Controllers/PolicyController.php +++ b/app/Http/Controllers/PolicyController.php @@ -5,7 +5,6 @@ namespace App\Http\Controllers; use App\Enums\Page; use App\Models\SeoDatum; use App\Models\Text; -use Illuminate\Http\Request; class PolicyController extends Controller { diff --git a/app/Http/Controllers/ProductsController.php b/app/Http/Controllers/ProductsController.php index 6f04d09..2fc023a 100644 --- a/app/Http/Controllers/ProductsController.php +++ b/app/Http/Controllers/ProductsController.php @@ -12,10 +12,6 @@ class ProductsController extends Controller // phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.FoundInExtendedClassBeforeLastUsed public function show(Gamme $gamme, Product $product) { - //$product = Product::whereSlug($product->slug)->first(); - //dd($product); - - //make ghost seoDatum from the gamme $seoDatum = new SeoDatum(); $seoDatum->title = $product->name; $seoDatum->description = $product->description; @@ -30,11 +26,9 @@ class ProductsController extends Controller $products = Product::where('is_published', 1) ->where('name', 'like', '%' . $filter . '%') ->get(); - //->paginate(12); } else { $products = Product::where('is_published', 1) ->get(); - //->paginate(12); } $search_title = 'Recherche : ' . $filter; diff --git a/app/Http/Controllers/TranslationController.php b/app/Http/Controllers/TranslationController.php index b6da72a..ab86e78 100644 --- a/app/Http/Controllers/TranslationController.php +++ b/app/Http/Controllers/TranslationController.php @@ -3,7 +3,6 @@ namespace App\Http\Controllers; use App\Enums\Lang; -use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Cookie; class TranslationController extends Controller @@ -14,11 +13,6 @@ class TranslationController extends Controller abort(400); } - // Save in DB - // $user = Auth::user(); - // $user->lang = $locale; - // $user->save(); - Cookie::queue(Cookie::forever('language', $locale)); if (url()->full() !== url()->previous()) { diff --git a/app/Http/Requests/ContactFormRequest.php b/app/Http/Requests/ContactFormRequest.php index 452bdba..70f88f6 100644 --- a/app/Http/Requests/ContactFormRequest.php +++ b/app/Http/Requests/ContactFormRequest.php @@ -25,12 +25,12 @@ class ContactFormRequest extends FormRequest { return [ 'civilite' => 'required|in:monsieur,madame', - 'name' => 'required|min:2', - 'lastname' => 'required|min:2', - 'address' => 'required|max:255', - 'postcode' => 'required', + 'name' => 'required|string|min:2', + 'lastname' => 'required|string|min:2', + 'address' => 'required|string|max:255', + 'postcode' => 'required|min:1|max:99000', 'city' => 'required|string|max:255', - 'phone' => 'required|max:255', + 'phone' => 'required|numeric|min:1|max:9999999999', 'email' => 'required|email:rfc,dns,spoof|max:255', 'country' => 'required|string|max:255', 'departement' => 'required_if:country,France|max:255', @@ -54,7 +54,7 @@ class ContactFormRequest extends FormRequest public function messages() { return [ - 'topic.required' => __('Veuille préciser la nature de votre demande.'), + 'topic.required' => __('Veuillez préciser la nature de votre demande.'), 'file.max' => __('La taille du fichier ne peut pas dépasser :max kilo-octets.'), 'file.mimes' => __('Le fichier doit être de type : :values.'), ]; diff --git a/app/Http/Requests/UpdatePictoBrandRequest.php b/app/Http/Requests/UpdatePictoBrandRequest.php new file mode 100644 index 0000000..4647f6d --- /dev/null +++ b/app/Http/Requests/UpdatePictoBrandRequest.php @@ -0,0 +1,33 @@ +check(); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + return [ + 'title' => 'required|max:50', + 'picture' => 'sometimes|image|mimes:jpeg,png,jpg|max:512|dimensions:max_width=150,max_height=150', + 'alt_text_picture' => 'required|max:255', + 'text' => 'required|max:127', + ]; + } +} diff --git a/app/Http/Requests/UpdatePictoRequest.php b/app/Http/Requests/UpdatePictoRequest.php new file mode 100644 index 0000000..f1a7f2c --- /dev/null +++ b/app/Http/Requests/UpdatePictoRequest.php @@ -0,0 +1,32 @@ +check(); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + return [ + 'picture' => 'sometimes|image|mimes:png|max:512|dimensions:max_width=150,max_height=150', + 'alt_text_picture' => 'required|max:255', + 'text' => 'required|max:50', + ]; + } +} diff --git a/app/Http/Requests/StoreSeoDataRequest.php b/app/Http/Requests/UpdateSeoDataRequest.php similarity index 92% rename from app/Http/Requests/StoreSeoDataRequest.php rename to app/Http/Requests/UpdateSeoDataRequest.php index 5f3601b..0c6bbda 100644 --- a/app/Http/Requests/StoreSeoDataRequest.php +++ b/app/Http/Requests/UpdateSeoDataRequest.php @@ -4,7 +4,7 @@ namespace App\Http\Requests; use Illuminate\Foundation\Http\FormRequest; -class StoreSeoDataRequest extends FormRequest +class UpdateSeoDataRequest extends FormRequest { /** * Determine if the user is authorized to make this request. diff --git a/app/Providers/RouteServiceProvider.php b/app/Providers/RouteServiceProvider.php index d1e7073..d1397b9 100644 --- a/app/Providers/RouteServiceProvider.php +++ b/app/Providers/RouteServiceProvider.php @@ -19,7 +19,7 @@ class RouteServiceProvider extends ServiceProvider * * @var string */ - public const HOME = '/home'; + public const HOME = '/bo'; /** * The controller namespace for the application. diff --git a/composer.json b/composer.json index afe1f6a..95f6ac8 100644 --- a/composer.json +++ b/composer.json @@ -8,16 +8,18 @@ ], "license": "MIT", "require": { - "php": "^7.3|^8.0", + "php": "^7.3", "fruitcake/laravel-cors": "^2.0", "guzzlehttp/guzzle": "^7.0.1", "joedixon/laravel-translation": "^1.1", "kwaadpepper/enum": "^2.1", - "kwaadpepper/exception-handler": "^0.0.8", + "kwaadpepper/exception-handler": "^0.0.9", "laravel/framework": "^8.65", "laravel/sanctum": "^2.11", "laravel/tinker": "^2.5", "laravel/ui": "^3.3", + "ldc/web-admin-secure-laravel": "1.0.1", + "ldc/web-status-checker-laravel": "1.0.3", "mews/purifier": "^3.3", "spatie/laravel-translatable": "^4.6" }, @@ -71,5 +73,11 @@ } }, "minimum-stability": "dev", - "prefer-stable": true + "prefer-stable": true, + "repositories": { + "gitlab.com/16669037": { + "type": "composer", + "url": "https://gitlab.com/api/v4/group/16669037/-/packages/composer/packages.json" + } + } } diff --git a/composer.lock b/composer.lock index 375ed32..dc57716 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": "6d3d19ee0637b85edde0f49067b24cae", + "content-hash": "fcf9b3346e30223089c406870c83a34d", "packages": [ { "name": "asm89/stack-cors", @@ -1048,16 +1048,16 @@ }, { "name": "kwaadpepper/exception-handler", - "version": "0.0.8", + "version": "0.0.9", "source": { "type": "git", "url": "https://github.com/Kwaadpepper/exception-handler.git", - "reference": "e8ba0e31ca2bf5971e459c623f0f5322a4c7a630" + "reference": "8a0024bcc449b5ef8b8383cc8220218c5fb7f99b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Kwaadpepper/exception-handler/zipball/e8ba0e31ca2bf5971e459c623f0f5322a4c7a630", - "reference": "e8ba0e31ca2bf5971e459c623f0f5322a4c7a630", + "url": "https://api.github.com/repos/Kwaadpepper/exception-handler/zipball/8a0024bcc449b5ef8b8383cc8220218c5fb7f99b", + "reference": "8a0024bcc449b5ef8b8383cc8220218c5fb7f99b", "shasum": "" }, "require": { @@ -1103,9 +1103,9 @@ ], "support": { "issues": "https://github.com/Kwaadpepper/exception-handler/issues", - "source": "https://github.com/Kwaadpepper/exception-handler/tree/0.0.8" + "source": "https://github.com/Kwaadpepper/exception-handler/tree/0.0.9" }, - "time": "2022-02-03T15:23:22+00:00" + "time": "2022-06-14T14:08:19+00:00" }, { "name": "laravel/framework", @@ -1532,6 +1532,180 @@ }, "time": "2022-02-21T14:59:16+00:00" }, + { + "name": "ldc/web-admin-secure-laravel", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://gitlab.com/service-web-lab/ldc-web-admin-secure-laravel.git", + "reference": "c538f5d349b119ac64cb62b33e6368bef6be90bc" + }, + "dist": { + "type": "zip", + "url": "https://gitlab.com/api/v4/projects/37314651/packages/composer/archives/ldc/web-admin-secure-laravel.zip?sha=c538f5d349b119ac64cb62b33e6368bef6be90bc", + "reference": "c538f5d349b119ac64cb62b33e6368bef6be90bc", + "shasum": "" + }, + "require": { + "illuminate/support": "~8|~9", + "laravel/framework": "~8|~9", + "php": "~7.3|7.4|~8" + }, + "require-dev": { + "orchestra/testbench": "^6.24", + "phpunit/php-code-coverage": "^9.2", + "phpunit/phpunit": "~9.0", + "slevomat/coding-standard": "^7.0", + "squizlabs/php_codesniffer": "^3.5" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "LDC\\WebAdminSecureLaravel\\AdminSecureServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "LDC\\WebAdminSecureLaravel\\": "src/" + } + }, + "autoload-dev": { + "psr-4": { + "LDC\\WebAdminSecureLaravel\\Tests\\": "tests" + } + }, + "scripts": { + "test": [ + "vendor/bin/phpunit" + ], + "post-autoload-dump": [ + "@php ./vendor/bin/testbench package:discover --ansi" + ] + }, + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Vincent BRIDIER", + "email": "vincent.bridier@ldc.fr", + "homepage": "https://www.ldc.fr" + } + ], + "description": "Restrict access to LDC Network" + }, + { + "name": "ldc/web-status-checker", + "version": "1.0.2", + "source": { + "type": "git", + "url": "https://gitlab.com/service-web-lab/ldc-web-status-checker.git", + "reference": "70a4f96a272f42f9caaf8f614190a3e061273bc8" + }, + "dist": { + "type": "zip", + "url": "https://gitlab.com/api/v4/projects/37071268/packages/composer/archives/ldc/web-status-checker.zip?sha=70a4f96a272f42f9caaf8f614190a3e061273bc8", + "reference": "70a4f96a272f42f9caaf8f614190a3e061273bc8", + "shasum": "" + }, + "require": { + "ext-curl": "*", + "php": "~7.3|7.4|~8" + }, + "require-dev": { + "slevomat/coding-standard": "^7.0", + "squizlabs/php_codesniffer": "^3.5" + }, + "type": "library", + "autoload": { + "psr-4": { + "LDC\\WebStatusChecker\\": "src/" + } + }, + "autoload-dev": { + "psr-4": { + "LDC\\WebStatusChecker\\Tests\\": "tests" + } + }, + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jérémy Munsch", + "email": "jeremy.munsch@ldc.fr", + "homepage": "https://jeremydev.ovh" + } + ], + "description": "Status checker: report status to ldc-web" + }, + { + "name": "ldc/web-status-checker-laravel", + "version": "1.0.3", + "source": { + "type": "git", + "url": "https://gitlab.com/service-web-lab/ldc-web-status-checker-laravel.git", + "reference": "32965e7425060c4167b40e5c0868c438ea94c14f" + }, + "dist": { + "type": "zip", + "url": "https://gitlab.com/api/v4/projects/37071488/packages/composer/archives/ldc/web-status-checker-laravel.zip?sha=32965e7425060c4167b40e5c0868c438ea94c14f", + "reference": "32965e7425060c4167b40e5c0868c438ea94c14f", + "shasum": "" + }, + "require": { + "illuminate/support": "~8|~9", + "laravel/framework": "~8|~9", + "ldc/web-status-checker": "^1.0", + "php": "~7.3|7.4|~8" + }, + "require-dev": { + "orchestra/testbench": "^6.24", + "phpunit/php-code-coverage": "^9.2", + "phpunit/phpunit": "~9.0", + "slevomat/coding-standard": "^7.0", + "squizlabs/php_codesniffer": "^3.5" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "LDC\\WebStatusCheckerLaravel\\StatusCheckerServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "LDC\\WebStatusCheckerLaravel\\": "src/" + } + }, + "autoload-dev": { + "psr-4": { + "LDC\\WebStatusCheckerLaravel\\Tests\\": "tests" + } + }, + "scripts": { + "test": [ + "vendor/bin/phpunit" + ], + "post-autoload-dump": [ + "@php ./vendor/bin/testbench package:discover --ansi" + ] + }, + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jérémy Munsch", + "email": "jeremy.munsch@ldc.fr", + "homepage": "https://jeremydev.ovh" + } + ], + "description": "Status checker: report status to ldc-web" + }, { "name": "league/commonmark", "version": "1.6.7", @@ -8280,7 +8454,7 @@ "prefer-stable": true, "prefer-lowest": false, "platform": { - "php": "^7.3|^8.0" + "php": "^7.3" }, "platform-dev": [], "plugin-api-version": "2.3.0" diff --git a/package-lock.json b/package-lock.json index fa0032a..1ae41ec 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,7 +4,6 @@ "requires": true, "packages": { "": { - "name": "srcs", "dependencies": { "animate.css": "^4.1.1", "mini-css-extract-plugin": "^1.6.2", diff --git a/phpcs.xml b/phpcs.xml index 960dda0..15c4e11 100644 --- a/phpcs.xml +++ b/phpcs.xml @@ -7,7 +7,6 @@ database/factories database/seeders routes/ - tests/ diff --git a/resources/assets/back.js b/resources/assets/back.js deleted file mode 100644 index a2cf959..0000000 --- a/resources/assets/back.js +++ /dev/null @@ -1,2 +0,0 @@ -require('./bootstrap'); -require('./vuejs'); diff --git a/resources/assets/bootstrap.js b/resources/assets/bootstrap.js deleted file mode 100644 index f61bbe7..0000000 --- a/resources/assets/bootstrap.js +++ /dev/null @@ -1,28 +0,0 @@ -/** - * We'll load the axios HTTP library which allows us to easily issue requests - * to our Laravel back-end. This library automatically handles sending the - * CSRF token as a header based on the value of the "XSRF" token cookie. - */ - -window.axios = require('axios'); - -window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; - -/** - * Echo exposes an expressive API for subscribing to channels and listening - * for events that are broadcast by Laravel. Echo and event broadcasting - * allows your team to easily build robust real-time web applications. - */ - -// import Echo from 'laravel-echo'; - -// window.Pusher = require('pusher-js'); - -// window.Echo = new Echo({ -// broadcaster: 'pusher', -// key: process.env.MIX_PUSHER_APP_KEY, -// cluster: process.env.MIX_PUSHER_APP_CLUSTER, -// forceTLS: true -// }); - -window._ = require('lodash'); diff --git a/resources/assets/images/.DS_Store b/resources/assets/images/.DS_Store deleted file mode 100644 index 382177f6b17416ee663ed45c4d0168e6b44a3983..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10244 zcmeI1zityj5XN^COZb1RApVpt(-;wG5Hwa43ThfUh#kk6I6lX*qln545|6+mz?2C-Mn48R#05itsZQS+I)#&9gg4IG)LRb+ofwA zZmh$N%{|+Eg<{1!xVD%Z+jVU^CIylLMFqHaubTtY!ODH+t>33+_-35-d*iGJ8xE^i z*mwTOhEL>rW@Lt74?!->g{=FF+>bS`3~mf!7`C^M*6g=nzd&?DGr+N9j=)aflW!Rc z-t3n(y6Vwk=GPiiH+^U_H}Apr&2cPJQRJIaWE<8QavOv0;nPg6GLY!qTaiM%hU(~R zG~^l+WH|yo!M6c2o#NA4e~3;+GDE!d3wt4B8fo&L_&kmHp*q^S2I~c)JHtMS`Jgto zth6cT)I8j8)WNf_p@#<&*8P!P#h&eZ>$)r znX)h(Tj2_$LfXCw`&k}U2NgbsN|E?P9nDr08;nl0_^Gt0=L9oau%~ut_8}Z3ni80T@4E5M}r}WT%o<|sr zB9Cbzwh8_+bB?^OYcZmW$5x;L=P_1tR0)r0z>@QN=G_xQzMzLkZb5O*Sp(?L8J;s3 zt3T*hl(|&OR1_U1sEa0QLU4?^evej4fubgE?z>^s1Sw|6S`J3Y@#0a;DHH8U1T>@y zn=h0KRam*1|2V1~bnuwEFaz@$s&f?Fa8LHQ2f}5T@pvbguZ|JU*V{|Cr)Dk+c@xGM_S(*E21J!F%=TQB6rckONLAFy+y-O{y!;2^K# z(aP(1eBtZ(9qhDy%9a~Gck_1XTAac5@BbO#t;N&&U*7L>_2R9`)B2x^T&m|*u2t{I G`u{H%CrVZT diff --git a/resources/assets/vuejs.js b/resources/assets/vuejs.js deleted file mode 100644 index f07e539..0000000 --- a/resources/assets/vuejs.js +++ /dev/null @@ -1,31 +0,0 @@ -window.__IDHALALVue = require('vue').default; -import vSelect from 'vue-select' -__IDHALALVue.component('v-select', vSelect); - -// register modules -const modules = require.context("./modules", true, /\.js$/i); -modules.keys().map(key => __IDHALALVue.mixin(modules(key).default)); - -// Register components -const vues = require.context("./components/backend", true, /\.vue$/i); -vues.keys().map(key => - __IDHALALVue.component( - key - .split("/") - .pop() - .split(".")[0] - .replace(/\.?([A-Z])/g, function (x, y) { - return "-" + y.toLowerCase(); - }) - .replace(/^-/, "") - .replace("-component", ""), - vues(key).default - ) -); -const vuejsModules = []; - -document.getElementsByClassName('idhalal-vuejs').forEach(element => { - vuejsModules.push(new __IDHALALVue({ - el: element - })); -}); diff --git a/resources/js/back.js b/resources/js/back.js index da2b6bd..1827131 100644 --- a/resources/js/back.js +++ b/resources/js/back.js @@ -1,5 +1,5 @@ -// require('./bootstrap'); -// require('./vuejs'); +require('./bootstrap'); +require('./vuejs'); const selectElement = document.getElementById('gamme_id'); diff --git a/resources/assets/components/backend/ProductsPictos.vue b/resources/js/components/backend/ProductsPictos.vue similarity index 100% rename from resources/assets/components/backend/ProductsPictos.vue rename to resources/js/components/backend/ProductsPictos.vue diff --git a/resources/assets/components/backend/RangesSubRanges.vue b/resources/js/components/backend/RangesSubRanges.vue similarity index 100% rename from resources/assets/components/backend/RangesSubRanges.vue rename to resources/js/components/backend/RangesSubRanges.vue diff --git a/resources/js/vuejs.js b/resources/js/vuejs.js index f07e539..96c4368 100644 --- a/resources/js/vuejs.js +++ b/resources/js/vuejs.js @@ -1,31 +1,13 @@ -window.__IDHALALVue = require('vue').default; -import vSelect from 'vue-select' -__IDHALALVue.component('v-select', vSelect); +window.Vue = require('vue').default; -// register modules -const modules = require.context("./modules", true, /\.js$/i); -modules.keys().map(key => __IDHALALVue.mixin(modules(key).default)); +Vue.component('products-pictos', require('./components/backend/ProductsPictos.vue').default); +Vue.component('ranges-sub-ranges', require('./components/backend/RangesSubRanges.vue').default); -// Register components -const vues = require.context("./components/backend", true, /\.vue$/i); -vues.keys().map(key => - __IDHALALVue.component( - key - .split("/") - .pop() - .split(".")[0] - .replace(/\.?([A-Z])/g, function (x, y) { - return "-" + y.toLowerCase(); - }) - .replace(/^-/, "") - .replace("-component", ""), - vues(key).default - ) -); -const vuejsModules = []; - -document.getElementsByClassName('idhalal-vuejs').forEach(element => { - vuejsModules.push(new __IDHALALVue({ - el: element - })); -}); +/** + * Next, we will create a fresh Vue application instance and attach it to + * the page. Then, you may begin adding components to this application + * or customize the JavaScript scaffolding to fit your unique needs. + */ +for (let el of document.getElementsByClassName('vueComponent')) { + new Vue({ el: el }); +} diff --git a/resources/sass/frontend/_globals.scss b/resources/sass/frontend/_globals.scss index 7b2f0af..0d6fee0 100644 --- a/resources/sass/frontend/_globals.scss +++ b/resources/sass/frontend/_globals.scss @@ -19,6 +19,9 @@ img { max-width: max-content; } +.field__error{ + color: red; +} #frise-autoscroll { position: absolute; width: 100%; diff --git a/resources/sass/frontend/_list.scss b/resources/sass/frontend/_list.scss index c3882e4..056b85b 100644 --- a/resources/sass/frontend/_list.scss +++ b/resources/sass/frontend/_list.scss @@ -98,17 +98,11 @@ flex-direction: initial; } .section-header { - // margin-bottom: 30px; color: $color-light; .title { margin-bottom: 5px; } - // .content { - // top: 30px; - // padding-left: 30px; - // padding-right: 30px; - // } & > img { object-fit: cover; max-height: 243px; @@ -119,129 +113,9 @@ .overlay { span { color: $color-brown; - // text-shadow: 0px 0px 2px #000; } } -// .is-brown { -// header .content { -// background-color: rgba($color-brown, 0.8); -// } -// .overlay { -// background-color: rgba($color-brown, 0.8); -// } -// .product-card { -// .overlay { -// span { -// color: $color-brown; -// } -// } -// } -// } - -// .is-orange { -// header .content { -// background-color: rgba($color-orange, 0.8); -// } -// .overlay { -// background-color: rgba($color-orange, 0.8); -// } -// .product-card { -// .overlay { -// span { -// color: $color-orange; -// } -// } -// } -// } - -// .is-grey { -// header .content { -// background-color: rgba($color-newgrey, 0.8); -// } -// .overlay { -// background-color: rgba($color-newgrey, 0.8); -// } -// .product-card { -// .overlay { -// span { -// color: $color-newgrey; -// } -// } -// } -// } - -// .is-yellow { -// header .content { -// background-color: rgba($color-main, 0.8); -// } -// .overlay { -// background-color: rgba($color-main, 0.8); -// } -// .product-card { -// .overlay { -// span { -// color: $color-main; -// } -// } -// } -// .gamme-card { -// .overlay { -// span { -// color: $color-light; -// } -// } -// } -// } - -// .is-blue { -// header .content { -// background-color: rgba($color-newblue, 0.8); -// } -// .overlay { -// background-color: rgba($color-newblue, 0.8); -// } -// .product-card { -// .overlay { -// span { -// color: $color-newblue; -// } -// } -// } -// } - -// .is-green { -// header .content { -// background-color: rgba($color-green, 0.8); -// } -// .overlay { -// background-color: rgba($color-green, 0.8); -// } -// .product-card { -// .overlay { -// span { -// color: $color-green; -// } -// } -// } -// } - -// .is-pink { -// header .content { -// background-color: rgba($color-pink, 0.8); -// } -// .overlay { -// background-color: rgba($color-pink, 0.8); -// } -// .product-card { -// .overlay { -// span { -// color: $color-pink; -// } -// } -// } -// } - #posts { position: relative; @@ -252,9 +126,10 @@ } .posts-list { - width: 1120px; + max-width: 1120px; + width: 100%; margin: 0 auto; - justify-content: center; + justify-content: space-evenly; align-items: center; flex-wrap: wrap; column-gap: 20px; @@ -272,30 +147,12 @@ width: 32%; max-width: 32%; } - .posts-list { - align-items: initial; - } .gamme-card { &:nth-child(n) { width: 32%; max-width: 32%; } } - // .gamme-card { - // &:nth-child(4), - // &:nth-child(5), - // &:nth-child(9), - // &:nth-child(10) { - // width: 49%; - // max-width: 49%; - // } - // } - // .gammes-6 .gamme-card { - // &:nth-child(n) { - // width: 32%; - // max-width: 32%; - // } - // } .gammes-3 .gamme-card, .gammes-6 .gamme-card, .gammes-9 .gamme-card { @@ -341,15 +198,6 @@ } } - // .post-card { - // flex: 1; - // margin-right: 30px; - - // &:last-child { - // margin-right: 0; - // } - // } - #list { .section-header { margin-bottom: 80px; @@ -367,7 +215,6 @@ position: absolute; top: 0; left: 0; - // height: 50%; z-index: -1; object-fit: cover; } @@ -376,36 +223,16 @@ @media (max-width: 1024px) { #list { - // .section-header { - // margin-bottom: 80px; - // } .is-flex { justify-content: center; } } -} - -@media (max-width: 1200px) { - .posts-list { - width: 100%; + .posts-list.is-flex{ + flex-direction: initial; } - // .post-card { - // width: 360px; - // margin-bottom: 50px; - // } } @media (max-width: 768px) { - // #list { - // .wrapper > div:not(:last-child) { - // margin-bottom: 2rem; - // } - // .section-header { - // .content { - // position: relative; - // } - // } - // } #posts { > img { position: absolute; @@ -416,6 +243,9 @@ object-fit: cover; } } + .posts-list.is-flex { + flex-direction: column; + } .post-card { width: 100%; max-width: 360px; diff --git a/resources/views/back/advice/edit.blade.php b/resources/views/back/advice/edit.blade.php index 4304c78..86fee6a 100644 --- a/resources/views/back/advice/edit.blade.php +++ b/resources/views/back/advice/edit.blade.php @@ -11,10 +11,6 @@