Compare commits

...
Sign in to create a new pull request.

15 commits

Author SHA1 Message Date
Jérémy Munsch
e1b8e1587d
fix breeder issue display 2022-08-05 15:47:49 +02:00
Jérémy Munsch
03370aae78
multiple fixes 2022-08-05 15:34:44 +02:00
Jérémy Munsch
51c77da9c2
correction genré du texte 2022-08-05 13:04:29 +02:00
Jérémy Munsch
8ea567e0c1
Fix farm chicken qdd displqy current breeder 2022-08-05 12:45:00 +02:00
Jérémy Munsch
2e01d91331
Multiple fix retours 2022-08-05 12:40:24 +02:00
Jérémy Munsch
e7f1243204
fix label rouge text typo 2022-08-05 12:00:41 +02:00
Jérémy Munsch
76b3017ad4
changed planet score logo 2022-08-05 11:57:08 +02:00
Jérémy Munsch
02bbb957cf
Decoupage des putins de vignettes + responsive work poultry show + fix cereal local link 2022-08-05 11:50:14 +02:00
Jérémy Munsch
084fd1b81a
add missing titles 2022-08-05 11:06:59 +02:00
Jérémy Munsch
77b29ab6ad
Responsive on display labels poultry show 2022-08-05 11:06:38 +02:00
Jérémy Munsch
e651c06123
Fix alert JS : display only on egg 2022-08-05 10:43:46 +02:00
Jérémy Munsch
7015460b4c
phpcs fix 2022-08-05 10:07:03 +02:00
Jérémy Munsch
f6cc4a33a3
remove unsued store and update breeders requests 2022-08-05 10:05:00 +02:00
Jérémy Munsch
e954fc9774
tracea fix typo on no product found 2022-08-05 10:02:14 +02:00
Jérémy Munsch
96fa1afb53
npm audit fix 2022-08-05 10:00:41 +02:00
41 changed files with 254 additions and 385 deletions

View file

@ -13,6 +13,11 @@ use Carbon\Carbon;
class EggController extends Controller class EggController extends Controller
{ {
/**
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Contracts\View\View|\Illuminate\Contracts\View\Factory|\Illuminate\Http\RedirectResponse
*/
public function findMyBox(Request $request) public function findMyBox(Request $request)
{ {
$code = $request->code; $code = $request->code;
@ -31,6 +36,11 @@ class EggController extends Controller
return redirect()->route('egg.FrontPage', ['id' => $moba->box_code]); return redirect()->route('egg.FrontPage', ['id' => $moba->box_code]);
} }
/**
*
* @param mixed $id
* @return \Illuminate\Routing\Redirector|\Illuminate\Http\RedirectResponse|\Illuminate\Contracts\View\View|\Illuminate\Contracts\View\Factory
*/
public function indexId($id) public function indexId($id)
{ {
$multiple = false; $multiple = false;
@ -61,11 +71,11 @@ class EggController extends Controller
$dcrGood = $date_today < $date_dcr; $dcrGood = $date_today < $date_dcr;
$eleveurs = CafelEggBreeder::whereIn('ede_code', $edes)->get(); $eleveurs = CafelEggBreeder::whereIn('ede_code', $edes)->get();
if (!$eleveurs->count()) { if (!$eleveurs->count()) {
return view('front.egg.notFound'); return view('front.egg.notFound');
} }
$uniqueEleveurs = $eleveurs->unique('code_ede'); $uniqueEleveurs = $eleveurs->unique('code_ede');
if (count($uniqueEleveurs) > 1) { if (count($uniqueEleveurs) > 1) {
$multiple = true; $multiple = true;
@ -99,7 +109,13 @@ class EggController extends Controller
]); ]);
} }
public function EleveurPortrait($id, $eleveurId) /**
*
* @param mixed $id
* @param mixed $eleveurId
* @return \Illuminate\Contracts\View\View|\Illuminate\Contracts\View\Factory
*/
public function eleveurPortrait($id, $eleveurId)
{ {
$dateToday = Carbon::now()->toArray(); $dateToday = Carbon::now()->toArray();
$currentYear = $dateToday['year']; $currentYear = $dateToday['year'];

View file

@ -23,21 +23,21 @@ class TraceaPoultryController extends Controller
/** @var \App\Models\TraceaPoultry|null */ /** @var \App\Models\TraceaPoultry|null */
$traceaPoultry = TraceaPoultry::whereExternalCodeLot($request->codelot) $traceaPoultry = TraceaPoultry::whereExternalCodeLot($request->codelot)
->where(function ($q) use ($request) { ->where(function ($q) use ($request) {
if ($request->eancode[0] === "0") { if ($request->eancode[0] === "0") {
$code = Str::substr($request->eancode, 1); $code = Str::substr($request->eancode, 1);
$q->where('barcode_price', 'LIKE', Str::limit($code, 6, '') . '%') $q->where('barcode_price', 'LIKE', Str::limit($code, 6, '') . '%')
->orWhere('barcode_weight', 'LIKE', Str::limit($code, 6, '') . '%'); ->orWhere('barcode_weight', 'LIKE', Str::limit($code, 6, '') . '%');
} else { } else {
$q->where('barcode_price', 'LIKE', Str::limit($request->eancode, 7, '') . '%') $q->where('barcode_price', 'LIKE', Str::limit($request->eancode, 7, '') . '%')
->orWhere('barcode_weight', 'LIKE', Str::limit($request->eancode, 7, '') . '%'); ->orWhere('barcode_weight', 'LIKE', Str::limit($request->eancode, 7, '') . '%');
} }
})->first(); })->first();
if (!$traceaPoultry) { if (!$traceaPoultry) {
return back()->with( return back()->with(
'warning', 'warning',
// phpcs:ignore Generic.Files.LineLength.TooLong // phpcs:ignore Generic.Files.LineLength.TooLong
trans('Aucun produit n\'a pu être trouvé avec ces informations. Vérifiez bien les numéros saisis avec les indication comme sur l\'image ci-dessous.') trans('Aucun produit n\'a pu être trouvé avec ces informations. Vérifiez bien les numéros saisis avec les indications comme sur l\'image ci-dessous.')
); );
} }

View file

@ -33,7 +33,7 @@ class Kernel extends HttpKernel
\App\Http\Middleware\EncryptCookies::class, \App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class, \Illuminate\Session\Middleware\StartSession::class,
// \Illuminate\Session\Middleware\AuthenticateSession::class, \Illuminate\Session\Middleware\AuthenticateSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class, \Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\VerifyCsrfToken::class, \App\Http\Middleware\VerifyCsrfToken::class,
\Illuminate\Routing\Middleware\SubstituteBindings::class, \Illuminate\Routing\Middleware\SubstituteBindings::class,

View file

@ -1,103 +0,0 @@
<?php
namespace App\Http\Requests;
use App\Enums\BreederCivilty;
use App\Models\CafelEggBreeder;
use Illuminate\Foundation\Http\FormRequest;
use Kwaadpepper\Enum\Rules\EnumIsValidRule;
class StoreEleveurRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return boolean
*/
public function authorize()
{
$this->merge([
'code_inuav' => explode(',', $this->code_inuav)
]);
return auth()->check();
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
// TODO: add validation rules using CAFEL API standards.
return [
'code_cafel' => 'nullable|string|min:1|max:100|unique:eleveurs,code_cafel',
'code_ede' => 'required|string|min:1|max:100|unique:eleveurs,code_ede',
'civilite' => ['required', new EnumIsValidRule(BreederCivilty::class)],
'nom' => 'required|string|min:1|max:255',
'prenom' => 'required|string|min:1|max:255',
'naissance' => 'required|date_format:Y-m-d',
'cp' => 'required|numeric|digits:5',
'ville' => 'required|string|min:1|max:255',
'elv_date_debut' => 'nullable|date_format:Y-m-d',
'code_inuav' => [
'array', function ($attribute, $value, $fail) {
if (\strlen(\json_encode($value)) > 255) {
$fail("$attribute : il n'\est pas possible de renseigner autant de code INUAV");
}
}
],
'code_inuav.*' => [
// @phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.FoundInExtendedClassBeforeLastUsed
function ($attribute, $value, $fail) {
if (strpos(trim($value), ' ') !== false) {
$fail(trans('Les espaces ne sont pas autorisés dans les codes INUAV'));
}
if (count($this->code_inuav) > count(array_unique($this->code_inuav))) {
$fail(trans('Les codes INUAVS doinvent être uniques'));
}
$q = CafelEggBreeder::query();
$q->where(function ($q) {
foreach ($this->code_inuav as $inuav) {
$q->orWhere('code_inuav', 'LIKE', "%$inuav%");
}
});
// * Update condition
if ($this->eleveur) {
$q->where('id', '!=', $this->eleveur->id);
}
if ($q->count()) {
$fail(trans('Les codes INUAVS doinvent être uniques'));
}
}
],
'exploitation' => 'nullable|string',
'aboutyou' => 'nullable|string',
'vocation' => 'nullable|string',
'likeinjob' => 'nullable|string',
'loue_means' => 'nullable|string',
'photo1' => 'sometimes|mimetypes:image/jpeg|max:1000',
'photo2' => 'sometimes|mimetypes:image/jpeg|max:1000',
'marquage_oeuf' => 'required|string|max:12',
'marquage_b1' => 'required|string|max:14',
'marquage_b2' => 'required|string|max:14',
];
}
/**
* Get the error messages for the defined validation rules.
*
* @return array
*/
public function messages()
{
return [
'photo1.max' => 'La Photo 1 ne doit pas dépasser 500 Ko',
'photo1.uploaded' => 'La Photo 1 ne doit pas dépasser 500 Ko',
'photo1.mimetypes' => 'La Photo 1 doit être un jpg',
'photo2.max' => 'La Photo 2 ne doit pas dépasser 500 Ko',
'photo2.mimetypes' => 'La Photo 2 doit être un jpg',
'photo2.uploaded' => 'La Photo 2 ne doit pas dépasser 500 Ko',
];
}
}

View file

@ -1,19 +0,0 @@
<?php
namespace App\Http\Requests;
class UpdateEleveurRequest extends StoreEleveurRequest
{
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return \array_merge(parent::rules(), [
'code_cafel' => 'nullable|string|min:1|max:100|unique:eleveurs,code_cafel,' . $this->eleveur->id,
'code_ede' => 'required|string|min:1|max:100|unique:eleveurs,code_ede,' . $this->eleveur->id
]);
}
}

View file

@ -27,7 +27,7 @@ class AppServiceProvider extends ServiceProvider
public function boot() public function boot()
{ {
URL::forceScheme('https'); URL::forceScheme('https');
// * HA PROXY FIX // * HA PROXY FIX
App::singleton('clientIp', function () { App::singleton('clientIp', function () {
if (config('app.env') === 'local') { if (config('app.env') === 'local') {

View file

@ -11,9 +11,7 @@ class AuthServiceProvider extends ServiceProvider
* *
* @var array * @var array
*/ */
protected $policies = [ protected $policies = [];
// 'App\Model' => 'App\Policies\ModelPolicy',
];
/** /**
* Register any authentication / authorization services. * Register any authentication / authorization services.

View file

@ -18,14 +18,4 @@ class EventServiceProvider extends ServiceProvider
SendEmailVerificationNotification::class, SendEmailVerificationNotification::class,
], ],
]; ];
/**
* Register any events for your application.
*
* @return void
*/
public function boot()
{
parent::boot();
}
} }

View file

@ -13,6 +13,5 @@ class DatabaseSeeder extends Seeder
*/ */
public function run() public function run()
{ {
// $this->call(UsersTableSeeder::class);
} }
} }

180
package-lock.json generated
View file

@ -1,9 +1,10 @@
{ {
"name": "srcs", "name": "bogt",
"lockfileVersion": 2, "lockfileVersion": 2,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "bogt",
"dependencies": { "dependencies": {
"sweetalert2": "^11.4.20" "sweetalert2": "^11.4.20"
}, },
@ -1760,6 +1761,30 @@
"node": ">=6.0.0" "node": ">=6.0.0"
} }
}, },
"node_modules/@jridgewell/source-map": {
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz",
"integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==",
"dev": true,
"dependencies": {
"@jridgewell/gen-mapping": "^0.3.0",
"@jridgewell/trace-mapping": "^0.3.9"
}
},
"node_modules/@jridgewell/source-map/node_modules/@jridgewell/gen-mapping": {
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
"integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
"dev": true,
"dependencies": {
"@jridgewell/set-array": "^1.0.1",
"@jridgewell/sourcemap-codec": "^1.4.10",
"@jridgewell/trace-mapping": "^0.3.9"
},
"engines": {
"node": ">=6.0.0"
}
},
"node_modules/@jridgewell/sourcemap-codec": { "node_modules/@jridgewell/sourcemap-codec": {
"version": "1.4.13", "version": "1.4.13",
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz",
@ -5066,9 +5091,9 @@
} }
}, },
"node_modules/html-minifier-terser/node_modules/terser": { "node_modules/html-minifier-terser/node_modules/terser": {
"version": "4.8.0", "version": "4.8.1",
"resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz",
"integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"commander": "^2.20.0", "commander": "^2.20.0",
@ -5847,12 +5872,6 @@
"integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=",
"dev": true "dev": true
}, },
"node_modules/lodash.sortby": {
"version": "4.7.0",
"resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz",
"integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=",
"dev": true
},
"node_modules/lodash.uniq": { "node_modules/lodash.uniq": {
"version": "4.5.0", "version": "4.5.0",
"resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
@ -8453,14 +8472,14 @@
} }
}, },
"node_modules/terser": { "node_modules/terser": {
"version": "5.13.1", "version": "5.14.2",
"resolved": "https://registry.npmjs.org/terser/-/terser-5.13.1.tgz", "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.2.tgz",
"integrity": "sha512-hn4WKOfwnwbYfe48NgrQjqNOH9jzLqRcIfbYytOXCOv46LBfWr9bDS17MQqOi+BWGD0sJK3Sj5NC/gJjiojaoA==", "integrity": "sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@jridgewell/source-map": "^0.3.2",
"acorn": "^8.5.0", "acorn": "^8.5.0",
"commander": "^2.20.0", "commander": "^2.20.0",
"source-map": "~0.8.0-beta.0",
"source-map-support": "~0.5.20" "source-map-support": "~0.5.20"
}, },
"bin": { "bin": {
@ -8528,18 +8547,6 @@
"integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
"dev": true "dev": true
}, },
"node_modules/terser/node_modules/source-map": {
"version": "0.8.0-beta.0",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz",
"integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==",
"dev": true,
"dependencies": {
"whatwg-url": "^7.0.0"
},
"engines": {
"node": ">= 8"
}
},
"node_modules/thunky": { "node_modules/thunky": {
"version": "1.1.0", "version": "1.1.0",
"resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz",
@ -8594,24 +8601,6 @@
"node": ">=0.6" "node": ">=0.6"
} }
}, },
"node_modules/tr46": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz",
"integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=",
"dev": true,
"dependencies": {
"punycode": "^2.1.0"
}
},
"node_modules/tr46/node_modules/punycode": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
"integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
"dev": true,
"engines": {
"node": ">=6"
}
},
"node_modules/tslib": { "node_modules/tslib": {
"version": "2.4.0", "version": "2.4.0",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
@ -8857,12 +8846,6 @@
"minimalistic-assert": "^1.0.0" "minimalistic-assert": "^1.0.0"
} }
}, },
"node_modules/webidl-conversions": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz",
"integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==",
"dev": true
},
"node_modules/webpack": { "node_modules/webpack": {
"version": "5.72.0", "version": "5.72.0",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.72.0.tgz", "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.72.0.tgz",
@ -9241,17 +9224,6 @@
"node": ">=0.8.0" "node": ">=0.8.0"
} }
}, },
"node_modules/whatwg-url": {
"version": "7.1.0",
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz",
"integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==",
"dev": true,
"dependencies": {
"lodash.sortby": "^4.7.0",
"tr46": "^1.0.1",
"webidl-conversions": "^4.0.2"
}
},
"node_modules/which": { "node_modules/which": {
"version": "2.0.2", "version": "2.0.2",
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
@ -10601,6 +10573,29 @@
"integrity": "sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ==", "integrity": "sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ==",
"dev": true "dev": true
}, },
"@jridgewell/source-map": {
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz",
"integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==",
"dev": true,
"requires": {
"@jridgewell/gen-mapping": "^0.3.0",
"@jridgewell/trace-mapping": "^0.3.9"
},
"dependencies": {
"@jridgewell/gen-mapping": {
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
"integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
"dev": true,
"requires": {
"@jridgewell/set-array": "^1.0.1",
"@jridgewell/sourcemap-codec": "^1.4.10",
"@jridgewell/trace-mapping": "^0.3.9"
}
}
}
},
"@jridgewell/sourcemap-codec": { "@jridgewell/sourcemap-codec": {
"version": "1.4.13", "version": "1.4.13",
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz",
@ -13240,9 +13235,9 @@
"dev": true "dev": true
}, },
"terser": { "terser": {
"version": "4.8.0", "version": "4.8.1",
"resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz",
"integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==",
"dev": true, "dev": true,
"requires": { "requires": {
"commander": "^2.20.0", "commander": "^2.20.0",
@ -13818,12 +13813,6 @@
"integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=",
"dev": true "dev": true
}, },
"lodash.sortby": {
"version": "4.7.0",
"resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz",
"integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=",
"dev": true
},
"lodash.uniq": { "lodash.uniq": {
"version": "4.5.0", "version": "4.5.0",
"resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
@ -15731,14 +15720,14 @@
"dev": true "dev": true
}, },
"terser": { "terser": {
"version": "5.13.1", "version": "5.14.2",
"resolved": "https://registry.npmjs.org/terser/-/terser-5.13.1.tgz", "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.2.tgz",
"integrity": "sha512-hn4WKOfwnwbYfe48NgrQjqNOH9jzLqRcIfbYytOXCOv46LBfWr9bDS17MQqOi+BWGD0sJK3Sj5NC/gJjiojaoA==", "integrity": "sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA==",
"dev": true, "dev": true,
"requires": { "requires": {
"@jridgewell/source-map": "^0.3.2",
"acorn": "^8.5.0", "acorn": "^8.5.0",
"commander": "^2.20.0", "commander": "^2.20.0",
"source-map": "~0.8.0-beta.0",
"source-map-support": "~0.5.20" "source-map-support": "~0.5.20"
}, },
"dependencies": { "dependencies": {
@ -15747,15 +15736,6 @@
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
"integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
"dev": true "dev": true
},
"source-map": {
"version": "0.8.0-beta.0",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz",
"integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==",
"dev": true,
"requires": {
"whatwg-url": "^7.0.0"
}
} }
} }
}, },
@ -15827,23 +15807,6 @@
"integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
"dev": true "dev": true
}, },
"tr46": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz",
"integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=",
"dev": true,
"requires": {
"punycode": "^2.1.0"
},
"dependencies": {
"punycode": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
"integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
"dev": true
}
}
},
"tslib": { "tslib": {
"version": "2.4.0", "version": "2.4.0",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
@ -16055,12 +16018,6 @@
"minimalistic-assert": "^1.0.0" "minimalistic-assert": "^1.0.0"
} }
}, },
"webidl-conversions": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz",
"integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==",
"dev": true
},
"webpack": { "webpack": {
"version": "5.72.0", "version": "5.72.0",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.72.0.tgz", "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.72.0.tgz",
@ -16322,17 +16279,6 @@
"integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==",
"dev": true "dev": true
}, },
"whatwg-url": {
"version": "7.1.0",
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz",
"integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==",
"dev": true,
"requires": {
"lodash.sortby": "^4.7.0",
"tr46": "^1.0.1",
"webidl-conversions": "^4.0.2"
}
},
"which": { "which": {
"version": "2.0.2", "version": "2.0.2",
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 608 KiB

After

Width:  |  Height:  |  Size: 580 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 608 KiB

After

Width:  |  Height:  |  Size: 596 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 139 KiB

After

Width:  |  Height:  |  Size: 114 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 134 KiB

26
resources/js/alert.js vendored
View file

@ -1,14 +1,18 @@
// ES6 Modules or TypeScript // ES6 Modules or TypeScript
import Swal from 'sweetalert2' import Swal from 'sweetalert2'
Swal.fire({ document.addEventListener('DOMContentLoaded', () => {
width: 235, if (document.getElementsByClassName('oldEgg').length) {
imageUrl: '/assets/images/logo_bogt.png', Swal.fire({
imageWidth: 200, width: 235,
imageHeight: 200, imageUrl: '/assets/images/logo_bogt.png',
imageAlt: 'Logo Loué terre d\'action', imageWidth: 200,
background: '#4b8764', imageHeight: 200,
confirmButtonText: '<a href="https://www.loue.fr/article/Des-arbres-et-des-haies-pour-les-volailles-fermières-de-Loué/a3.aspx" target="_blank">Je valide mon achat</a>', imageAlt: 'Logo Loué terre d\'action',
confirmButtonColor: '#005621', background: '#4b8764',
showCloseButton: true, confirmButtonText: '<a href="https://www.loue.fr/article/Des-arbres-et-des-haies-pour-les-volailles-fermières-de-Loué/a3.aspx" target="_blank">Je valide mon achat</a>',
}) confirmButtonColor: '#005621',
showCloseButton: true,
})
}
})

View file

@ -16,12 +16,12 @@ document.addEventListener('DOMContentLoaded', () => {
next: labelSlider.parentElement.querySelector('.glider-next') next: labelSlider.parentElement.querySelector('.glider-next')
}, },
responsive: [ responsive: [
{ breakpoint: 325, settings: { slidesToShow: 1.5 } }, { breakpoint: 325, settings: { slidesToShow: 2.5 } },
{ breakpoint: 400, settings: { slidesToShow: 1.8 } }, { breakpoint: 400, settings: { slidesToShow: 2.8 } },
{ breakpoint: 500, settings: { slidesToShow: 2 } }, { breakpoint: 500, settings: { slidesToShow: 3 } },
{ breakpoint: 600, settings: { slidesToShow: 2.4 } }, { breakpoint: 600, settings: { slidesToShow: 3.4 } },
{ breakpoint: 1200, settings: { slidesToShow: 3 } }, { breakpoint: 1200, settings: { slidesToShow: 4 } },
{ breakpoint: 1400, settings: { slidesToShow: 3.5 } } { breakpoint: 1400, settings: { slidesToShow: 4.5 } }
] ]
}) })
} }
@ -34,8 +34,10 @@ document.addEventListener('DOMContentLoaded', () => {
next: linksSlider.parentElement.querySelector('.glider-next') next: linksSlider.parentElement.querySelector('.glider-next')
}, },
responsive: [ responsive: [
{ breakpoint: 400, settings: { slidesToShow: 2 } }, { breakpoint: 440, settings: { slidesToShow: 2 } },
{ breakpoint: 500, settings: { slidesToShow: 2.5 } }, { breakpoint: 535, settings: { slidesToShow: 2.5 } },
{ breakpoint: 575, settings: { slidesToShow: 2 } },
{ breakpoint: 625, settings: { slidesToShow: 2.5 } },
{ breakpoint: 1200, settings: { slidesToShow: 3 } }, { breakpoint: 1200, settings: { slidesToShow: 3 } },
{ breakpoint: 1400, settings: { slidesToShow: 3.5 } } { breakpoint: 1400, settings: { slidesToShow: 3.5 } }
] ]
@ -55,9 +57,7 @@ document.addEventListener('DOMContentLoaded', () => {
behavior: "smooth" behavior: "smooth"
}) })
} }
if (orderNum.imask.value.slice(0, -5) !== orderNum.dataset.orderNumber) {
if (orderNum.imask.value !== orderNum.dataset.orderNumber) {
orderInvalid.classList.add('d-block') orderInvalid.classList.add('d-block')
orderExp.classList.add('d-none') orderExp.classList.add('d-none')
orderNum.imask.masked.reset() orderNum.imask.masked.reset()

View file

@ -1,10 +1,16 @@
$boMenuHeigth: 3rem; $boMenuHeigth: 3rem;
$boDarkBg: rgb(55, 55, 55); $boDarkBg: rgb(55, 55, 55);
$greyBG: darken($color:gray, $amount: 10); $greyBG: darken(
$breedingGreen: darken($color:#78ba56, $amount: 17.7); $color: #a9afac,
$amount: 10,
);
$breedingGreen: darken(
$color: #78ba56,
$amount: 17.7,
);
$purpleInfo: #282649; $purpleInfo: #282649;
$bgSalmon :#ffe8cd; $bgSalmon: #ffe8cd;
$beaGreen: #008c35; $beaGreen: #008c35;
$foodYellow: #f7bc3d; $foodYellow: #f7bc3d;
$contactRed: #e62a30; $contactRed: #e62a30;

View file

@ -1,7 +1,7 @@
body { body {
background: url('~@/images/layout/body_bg.jpg'); background: url("~@/images/layout/body_bg.jpg");
--bs-body-font-family: 'Myriad Pro'; --bs-body-font-family: "Myriad Pro";
& > header { & > header {
& > img { & > img {
@ -14,12 +14,13 @@ body {
background-color: $white; background-color: $white;
min-height: 10rem; min-height: 10rem;
border-radius: 0 0 1rem 1rem; border-radius: 0 0 1rem 1rem;
box-shadow: -0.5rem 0px 0.4rem -0.4rem transparentize($color: $black, $amount: 0.6) inset, 0.5rem 0px 0.4rem -0.4rem transparentize($color: $black, $amount: 0.6) inset; box-shadow: -0.5rem 0px 0.4rem -0.4rem transparentize($color: $black, $amount: 0.6) inset,
0.5rem 0px 0.4rem -0.4rem transparentize($color: $black, $amount: 0.6) inset;
font-size: 1.2rem; font-size: 1.2rem;
&.oldEgg { &.oldEgg {
background-color:inherit; background-color: inherit;
box-shadow:inherit; box-shadow: inherit;
padding-left: 0; padding-left: 0;
padding-right: 0; padding-right: 0;
@ -30,7 +31,7 @@ body {
} }
& > .header { & > .header {
background-image: url('~@/images/layout/header_matter_effet.png'); background-image: url("~@/images/layout/header_matter_effet.png");
background-repeat: no-repeat; background-repeat: no-repeat;
background-size: 100% 100%; background-size: 100% 100%;
min-height: 7.5rem; min-height: 7.5rem;
@ -101,7 +102,10 @@ body {
background-color: $footer_bg !important; background-color: $footer_bg !important;
} }
.badge-loue-yellow,.badge-loue-food,.badge-loue-green,.badge-loue-gray { .badge-loue-yellow,
.badge-loue-food,
.badge-loue-green,
.badge-loue-gray {
border: none; border: none;
text-align: center; text-align: center;
outline: none; outline: none;
@ -138,7 +142,7 @@ body {
background-color: $white; background-color: $white;
overflow: hidden; overflow: hidden;
&:after { &:after {
content: ''; content: "";
position: absolute; position: absolute;
top: -15%; top: -15%;
left: -45%; left: -45%;
@ -148,7 +152,7 @@ body {
transform: rotate(-45deg); transform: rotate(-45deg);
} }
&:before { &:before {
content: ' '; content: " ";
position: absolute; position: absolute;
top: -60%; top: -60%;
left: -45%; left: -45%;
@ -192,7 +196,7 @@ body {
.text-arrow { .text-arrow {
position: relative; position: relative;
display: inline-block; display: inline-block;
background-image: url('~@/images/layout/arrow_bg.png'); background-image: url("~@/images/layout/arrow_bg.png");
background-repeat: no-repeat; background-repeat: no-repeat;
background-size: 100% auto; background-size: 100% auto;
background-color: $greyBG; background-color: $greyBG;
@ -204,7 +208,7 @@ body {
overflow: hidden; overflow: hidden;
&:after { &:after {
content: ''; content: "";
position: absolute; position: absolute;
top: -50%; top: -50%;
right: -1rem; right: -1rem;
@ -214,7 +218,7 @@ body {
transform: rotate(-25deg); transform: rotate(-25deg);
} }
&:before { &:before {
content: ''; content: "";
position: absolute; position: absolute;
top: 0%; top: 0%;
right: -1rem; right: -1rem;
@ -257,7 +261,7 @@ body {
position: relative; position: relative;
padding: 1rem; padding: 1rem;
&::after { &::after {
content: ' '; content: " ";
color: $white; color: $white;
position: absolute; position: absolute;
top: 50%; top: 50%;
@ -269,10 +273,10 @@ body {
border-radius: 1.5rem; border-radius: 1.5rem;
} }
&.A::after { &.A::after {
content: 'A'; content: "A";
} }
&.B::after { &.B::after {
content: 'B'; content: "B";
} }
} }
@ -365,16 +369,17 @@ span.textDistriResult {
padding-left: 1.5rem; padding-left: 1.5rem;
padding-right: 1.5rem; padding-right: 1.5rem;
&:focus-visible { &:focus-visible {
border: 2px solid rgb(13, 110, 253) border: 2px solid rgb(13, 110, 253);
} }
& > .glider { & > .glider {
&:focus-visible { &:focus-visible {
border: 2px solid rgb(13, 110, 253) border: 2px solid rgb(13, 110, 253);
} }
} }
& > .glider-prev, & > .glider-next { & > .glider-prev,
& > .glider-next {
top: 50%; top: 50%;
transform: translateY(-50%); transform: translateY(-50%);
font-size: 5rem; font-size: 5rem;
@ -388,13 +393,13 @@ span.textDistriResult {
& > .glider-prev { & > .glider-prev {
left: -1rem; left: -1rem;
&:focus-visible { &:focus-visible {
border: 2px solid rgb(13, 110, 253) border: 2px solid rgb(13, 110, 253);
} }
} }
& > .glider-next { & > .glider-next {
right: -1rem; right: -1rem;
&:focus-visible { &:focus-visible {
border: 2px solid rgb(13, 110, 253) border: 2px solid rgb(13, 110, 253);
} }
} }
&.labels .glider-slide { &.labels .glider-slide {
@ -410,14 +415,19 @@ span.textDistriResult {
transform: translateX(-50%) translateY(-50%); transform: translateX(-50%) translateY(-50%);
max-width: inherit; max-width: inherit;
object-fit: contain; object-fit: contain;
height: 7rem; height: 5rem;
max-width: 7.54rem;
@include media-breakpoint-up(md) {
height: 7rem;
max-width: 8.54rem;
}
} }
} }
&.links .glider-slide { &.links .glider-slide {
& > .blue-card { & > .blue-card {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
justify-content: center; justify-content: end;
text-align: center; text-align: center;
background-color: $blue; background-color: $blue;
border-radius: 1rem; border-radius: 1rem;
@ -428,6 +438,13 @@ span.textDistriResult {
min-height: 7rem; min-height: 7rem;
object-fit: contain; object-fit: contain;
width: auto; width: auto;
flex-grow: 1;
}
& > span {
word-wrap: normal !important;
word-break: normal !important;
hyphens: unset;
line-height: 1.4rem;
} }
} }
} }

View file

@ -25,13 +25,13 @@
& > span { & > span {
position: absolute; position: absolute;
top: -0.4rem; top: -0.4rem;
right: 31%; right: 32.5%;
transform: translateX(100%) translateY(0%); transform: translateX(100%) translateY(0%);
font-size: 21vw; font-size: 5rem;
font-weight: bold; font-weight: bold;
font-family: Arial, Helvetica, sans-serif; font-family: Arial, Helvetica, sans-serif;
@include media-breakpoint-up(sm) { @media (max-width: 360px) {
font-size: 8rem; font-size: 21vw !important;
} }
} }
} }

View file

@ -52,7 +52,7 @@ $previousUrl = session()->get('poultrySearch.model') ? route('poultry.show') : r
'lastname' => Str::upper($breeder->lastname) 'lastname' => Str::upper($breeder->lastname)
]) }}" class="img-fluid"> ]) }}" class="img-fluid">
</div> </div>
<span>{{ __('L\'éleveur(se) n\'a pas souhaité être pris en photo') }}</span> <span>{{ __('L\'éleveur(se) n\'a pas souhaité être pris(e) en photo') }}</span>
<div class="dots"></div> <div class="dots"></div>
</div> </div>
</div> </div>
@ -72,42 +72,49 @@ $previousUrl = session()->get('poultrySearch.model') ? route('poultry.show') : r
</div> </div>
</div> </div>
@if($breeder->issue_1 or $breeder->issue_2) @if($breeder->issue_1 or $breeder->issue_2)
<div class="row justify-content-center mt-5"> <div class="row subpart justify-content-center mt-3">
<div class="mt-5"> <div class="glider-issues-nav">
<div class="glider-issues-nav"> <button aria-label="{{ __('Lien précédent') }}" class="glider-prev">&lsaquo;</button>
<button aria-label="{{ __('Lien précédent') }}" class="glider-prev">&lsaquo;</button> <span class="pagination">
<span class="pagination"> <span class="question">{{ __('Question') }}</span>
<span class="question">{{ __('Question') }}</span> <span class="pages">
<span class="pages"> <span class="page">1</span>&nbsp;/&nbsp;2
<span class="page">1</span>&nbsp;/&nbsp;2
</span>
</span> </span>
<button aria-label="{{ __('Lien suivant') }}" class="glider-next">&rsaquo;</button> </span>
</div> <button aria-label="{{ __('Lien suivant') }}" class="glider-next">&rsaquo;</button>
<div class="glider-container p-0 issues"> </div>
<div class="glider"> <div class="glider-container p-0 issues">
@if($breeder->issue_1) <div class="glider">
<div class="issue"> @if($breeder->issue_1)
<span class="d-block p-2 text-light bg-loue-gray text-center fw-bold"> <div class="issue container p-0">
{{ __('Question 1') }} @php
</span> $issue1 = array_reverse(explode(':', $breeder->issue_1, 2));
<span class="d-block text-loue-breeding issue_answer"> @endphp
{{ $breeder->issue_1 }} @if(isset($issue1[1]))
</span> <span class="d-block p-2 text-light bg-loue-gray text-center fw-bold">
</div> {{ trim($issue1[1]) }}
@endif </span>
@if($breeder->issue_2) @endif
<div class="issue"> <span class="d-block text-center text-loue-breeding issue_answer">
<span class="d-block p-2 text-light bg-loue-gray text-center fw-bold"> {{ trim($issue1[0]) }}
{{ __('Qu’est-ce qui vous plaît votre métier d’éleveur de volailles de Loué ?') }} </span>
</span>
<span class="d-block text-loue-breeding issue_answer">
{{ $breeder->issue_2 }}
</span>
</div>
@endif
</div>
</div> </div>
@endif
@if($breeder->issue_2)
<div class="issue container p-0">
@php
$issue2 = array_reverse(explode(':', $breeder->issue_2, 2));
@endphp
@if(isset($issue2[1]))
<span class="d-block p-2 text-light bg-loue-gray text-center fw-bold">
{{ trim($issue2[1]) }}
</span>
@endif
<span class="d-block text-center text-loue-breeding issue_answer">
{{ trim($issue2[0]) }}
</span>
</div>
@endif
</div> </div>
</div> </div>
</div> </div>

View file

@ -21,7 +21,6 @@
@else @else
<img src="{{ asset('assets/images/parts/generique_portrait.jpg') }}" alt="Éleveur"> <img src="{{ asset('assets/images/parts/generique_portrait.jpg') }}" alt="Éleveur">
@endif @endif
<div class="content"> <div class="content">
<p> <p>
<span class="name green">{{$eleveur->firstname}} {{$eleveur->lastname}}</span><br> <span class="name green">{{$eleveur->firstname}} {{$eleveur->lastname}}</span><br>
@ -30,22 +29,23 @@
@endif @endif
{{$eleveur->city}} ({{$eleveur->postcode}}) {{$eleveur->city}} ({{$eleveur->postcode}})
</p> </p>
@if ($ageElevage) @if ($ageElevage)
@switch($eleveur->civilite) @switch($eleveur->civilite)
@case('0') @case(App\Enums\BreederCivilty::elle())
<p>Éleveuse de poules de Loué depuis {{$ageElevage}} ans</p> <p>Éleveuse de poules de Loué depuis {{$ageElevage}} ans</p>
@break @break
@case('1') @case(App\Enums\BreederCivilty::il())
<p>Éleveur de poules de Loué depuis {{$ageElevage}} ans</p> <p>Éleveur de poules de Loué depuis {{$ageElevage}} ans</p>
@break @break
@case('2') @case(App\Enums\BreederCivilty::elles())
<p>Éleveuses de poules de Loué depuis {{$ageElevage}} ans</p> <p>Éleveuses de poules de Loué depuis {{$ageElevage}} ans</p>
@break @break
@case('3') @case(App\Enums\BreederCivilty::ils())
<p>Éleveurs de poules de Loué depuis {{$ageElevage}} ans</p> <p>Éleveurs de poules de Loué depuis {{$ageElevage}} ans</p>
@break @break
@default @default
<p>Éleveur de poules de Loué depuis {{$ageElevage}} ans</p> <p>Éleveur(se) de poules de Loué depuis {{$ageElevage}} ans</p>
@endswitch @endswitch
@endif @endif
</div> </div>

View file

@ -46,7 +46,7 @@ $previousUrl = session()->get('poultrySearch.model') ? route('poultry.show') : r
<div class="container pb-4"> <div class="container pb-4">
<div class="row"> <div class="row">
<div class="col text-arial text-center"> <div class="col text-arial text-center">
<p>{{ __('De l\'éleveur lui-même. Il cultive les céréales qui seront ensuite envoyées à l\'usine d\'aliments de la coopérative des Fermiers de Loué, ALIFEL, pour les transformer en alimentation pour poulets, qui sera ensuite retournée à l\éleveur.') }}</p> <p>{{ __('De l\'éleveur lui-même. Il cultive les céréales qui seront ensuite envoyées à l\'usine d\'aliments de la coopérative des Fermiers de Loué, ALIFEL, pour les transformer en alimentation pour poulets, qui sera ensuite retournée à l\'éleveur.') }}</p>
</div> </div>
</div> </div>
<div class="row mt-4"> <div class="row mt-4">

View file

@ -46,14 +46,17 @@
<p>{{ __('Une volaille fermière se doit d’être correctement tracée : de la ferme jusqu’à l’assiette. C’est aussi pour cela que sur tous nos produits nous y retrouvons : le nom de l’éleveur et sa commune.') }}</p> <p>{{ __('Une volaille fermière se doit d’être correctement tracée : de la ferme jusqu’à l’assiette. C’est aussi pour cela que sur tous nos produits nous y retrouvons : le nom de l’éleveur et sa commune.') }}</p>
</div> </div>
</div> </div>
@if(session()->has('poultrySearch.model')) @php
$breeder = optional(session()->get('poultrySearch.model'))->breeder
@endphp
@if($breeder)
<div class="row mt-3"> <div class="row mt-3">
<div class="col text-center"> <div class="col text-center">
<span class="breederIs"> <span class="breederIs">
<span>{{ __('Élevé(e) par: ') }}</span><br> <span>{{ __('Élevé(e) par: ') }}</span><br>
<span> <span>
<span class="fullname text-break">{{ 'P.' }}&nbsp;{{ 'NOM' }}</span><br> <span class="fullname text-uppercase text-break">{{ Str::limit($breeder->firstname, 1, '.') }}&nbsp;{{ $breeder->lastname }}</span><br>
<span class="city text-break">{{ 'VILLE' }}</span> <span class="city text-uppercase text-break">{{ $breeder->city }}</span>
</span> </span>
</span> </span>
</div> </div>

View file

@ -27,7 +27,7 @@ $previousUrl = session()->get('poultrySearch.model') ? route('poultry.show') : r
</div> </div>
<div class="row justify-content-center mt-5"> <div class="row justify-content-center mt-5">
<div class="col-12 text-center"> <div class="col-12 text-center">
<img class="img-fluid smallBea" src="{{ asset('assets/images/bea/Visuel-BEA-II---A-SUPERIEUR.png') }}" alt="{{ __('BEA II A') }}"> <img class="img-fluid smallBea" src="{{ asset('assets/images/bea/Visuel-BEA-II---A-SUPERIEUR.png') }}" alt="{{ __('BEA II A Superieur') }}">
<img class="img-fluid smallBea" src="{{ asset('assets/images/bea/Visuel') }}" alt="{{ __('Image Manquante') }}"> <img class="img-fluid smallBea" src="{{ asset('assets/images/bea/Visuel') }}" alt="{{ __('Image Manquante') }}">
<img class="img-fluid smallBea" src="{{ asset('assets/images/bea/Visuel') }}" alt="{{ __('Image Manquante') }}"> <img class="img-fluid smallBea" src="{{ asset('assets/images/bea/Visuel') }}" alt="{{ __('Image Manquante') }}">
<img class="img-fluid smallBea" src="{{ asset('assets/images/bea/Visuel') }}" alt="{{ __('Image Manquante') }}"> <img class="img-fluid smallBea" src="{{ asset('assets/images/bea/Visuel') }}" alt="{{ __('Image Manquante') }}">

View file

@ -35,7 +35,7 @@ $previousUrl = session()->get('poultrySearch.model') ? route('poultry.show') : r
<div class="container pb-4"> <div class="container pb-4">
<div class="row"> <div class="row">
<div class="col text-arial text-center"> <div class="col text-arial text-center">
<p>{{ __('Souhaitant protéger un mode d\'élevage historique et un savoir-faire traditionnel, les Fermiers de Loué ont déposé un cahier des charges homologué Label Rouge garantissant un niveau de qualité supérieur. ce mode de production assure le respect du bien-être des animaux et de l\'envirronement, ainsi qu\'une qualité supérieure de la viande.') }}</p> <p>{{ __('Souhaitant protéger un mode d\'élevage historique et un savoir-faire traditionnel, les Fermiers de Loué ont déposé un cahier des charges homologué Label Rouge garantissant un niveau de qualité supérieur. Ce mode de production assure le respect du bien-être des animaux et de l\'environnement, ainsi qu\'une qualité supérieure de la viande.') }}</p>
</div> </div>
</div> </div>
</div> </div>

View file

@ -22,7 +22,7 @@ $previousUrl = session()->get('poultrySearch.model') ? route('poultry.show') : r
@include('front.modules.flashMessage') @include('front.modules.flashMessage')
<div class="row justify-content-center mt-4"> <div class="row justify-content-center mt-4">
<div class="col-12 text-center"> <div class="col-12 text-center">
<h1 class="fw-bold">{{ __('Le nutriscore, qu\'est-ce que c\'est ?') }}</h1> <h1 class="fw-bold">{{ __('Le Nutri-score, qu\'est-ce que c\'est ?') }}</h1>
</div> </div>
</div> </div>
<div class="row subpart justify-content-center mt-4"> <div class="row subpart justify-content-center mt-4">

View file

@ -1,5 +1,5 @@
@extends('layouts.front') @extends('layouts.front')
@section('title', __('Les Fermiers de Loué disent oui au Planet-score !')) @section('title', __('Les Fermiers de Loué affichent le Planet-score sur leurs produits'))
@section('description', __('En savoir plus sur le label Planet-score')) @section('description', __('En savoir plus sur le label Planet-score'))
@section('breadcrumb', request()->route()->getName()) @section('breadcrumb', request()->route()->getName())
@ -27,7 +27,7 @@ $previousUrl = session()->get('poultrySearch.model') ? route('poultry.show') : r
</div> </div>
<div class="row justify-content-center mt-4"> <div class="row justify-content-center mt-4">
<div class="col-12 text-center"> <div class="col-12 text-center">
<h1 class="fw-bold">{{ __('Les Fermiers de Loué disent oui au Planet-score !') }}</h1> <h1 class="fw-bold">{{ __('Les Fermiers de Loué affichent le Planet-score sur leurs produits') }}</h1>
</div> </div>
</div> </div>
<div class="row subpart justify-content-center mt-4"> <div class="row subpart justify-content-center mt-4">
@ -41,10 +41,5 @@ $previousUrl = session()->get('poultrySearch.model') ? route('poultry.show') : r
</div> </div>
</div> </div>
</div> </div>
<div class="row justify-content-center mt-2">
<div class="col-12 text-center">
<img class="img-fluid" src="{{ asset('assets/images/parts/planetscore_plaquette.jpg') }}" alt="{{ __('Planet-score plaquette') }}">
</div>
</div>
</div> </div>
@endsection @endsection

View file

@ -19,7 +19,7 @@
<div class="row mt-4 pb-2"> <div class="row mt-4 pb-2">
<div class="col"> <div class="col">
<p class="d-block h5 fw-bold text-dark mb-3">{{ <p class="d-block h5 fw-bold text-dark mb-3">{{
__('ALIFEL est l\'usine dédié aux volailles de Loué Label Rouge pour des almiments sûrs et sains.') __('ALIFEL est l\'usine dédiée aux volailles de Loué Label Rouge pour des aliments sûrs et sains.')
}}</p> }}</p>
</div> </div>
</div> </div>

View file

@ -20,7 +20,7 @@
</div> </div>
<div class="row mt-5"> <div class="row mt-5">
<div class="col d-flex flex-row"> <div class="col d-flex flex-row">
<span class="h3 fw-bold">{{ __('Ce poulet fermier Label Rouge de Loué à été éleveé en liberté') }}</span> <span class="h3 fw-bold">{{ __('Ce poulet fermier Label Rouge de Loué à été élevé en liberté') }}</span>
<span class="d-flex flex-column justify-content-end"> <span class="d-flex flex-column justify-content-end">
<a class="shade" href="{{ route('poultry.infos') }}" title="{{__('Mieux comprendre notre mode d\'élevage') }}" aria-label="{{__('Voir la page : Mieux comprendre notre mode d\'élevage') }}"> <a class="shade" href="{{ route('poultry.infos') }}" title="{{__('Mieux comprendre notre mode d\'élevage') }}" aria-label="{{__('Voir la page : Mieux comprendre notre mode d\'élevage') }}">
<img class="img-info" src="{{ asset('assets/images/parts/picto-info.png') }}" alt="{{ __('Picto infos') }}"> <img class="img-info" src="{{ asset('assets/images/parts/picto-info.png') }}" alt="{{ __('Picto infos') }}">

View file

@ -20,7 +20,7 @@
</div> </div>
<div class="row mt-5"> <div class="row mt-5">
<div class="col"> <div class="col">
<span class="h3 fw-bold">{{ __('Ce poulet fermier Label Rouge de Loué à été éleveé en liberté') }}</span> <span class="h3 fw-bold">{{ __('Ce poulet fermier Label Rouge de Loué à été élevé en liberté') }}</span>
</div> </div>
</div> </div>
<div class="row mt-2"> <div class="row mt-2">

View file

@ -21,7 +21,7 @@
<div class="col text-center"> <div class="col text-center">
<div class="d-flex flex-column"> <div class="d-flex flex-column">
<div class="text-center"> <div class="text-center">
<input id="order_num" name="order_num" type="text" class="commandInput inputMask" pattern="^[0-9]{6}$" data-mask="000000" length="6" placeholder="{{ __('123456') }}" title="{{ __('Saisissez le numéro de commande tel qu\'indiqué sur l\'image ci-dessous (6 premiers chiffres)') }}" data-order-number="{{ $traceaPoultry->order_num }}"> <input id="order_num" name="order_num" type="text" class="commandInput inputMask" pattern="^[0-9]{6}\/[0-9]{3}[A-Z]$" data-mask="000000/000a" length="10" placeholder="{{ __('123456/123A') }}" title="{{ __('Saisissez le numéro de commande tel qu\'indiqué sur l\'image ci-dessous') }}" data-order-number="{{ str_pad($traceaPoultry->order_num, 6, '0', STR_PAD_LEFT) }}">
@include('back.modules.input-error', ['inputName' => 'order_num']) @include('back.modules.input-error', ['inputName' => 'order_num'])
<div id="order_num_invalid" class="invalid-feedback">{{ __('Numéro de commande invalide') }}</div> <div id="order_num_invalid" class="invalid-feedback">{{ __('Numéro de commande invalide') }}</div>
</div> </div>

View file

@ -25,6 +25,11 @@
<span class="d-inline-block badge-loue-yellow">{{ $traceaPoultry->prep_date->formatLocalized('%A') }} {{ $traceaPoultry->prep_date->format('d/m/Y') }}</span> <span class="d-inline-block badge-loue-yellow">{{ $traceaPoultry->prep_date->formatLocalized('%A') }} {{ $traceaPoultry->prep_date->format('d/m/Y') }}</span>
</div> </div>
</div> </div>
<div class="row justify-content-center pb-1">
<div class="col">
<span class="h1 d-block text-center fw-bold text-loue-blue"> {{ __('Nos signes gages de qualité') }}</span>
</div>
</div>
<div class="row justify-content-center pb-5"> <div class="row justify-content-center pb-5">
<div class="col"> <div class="col">
<div class="glider-container labels" aria-label="{{ __('Liens vers la description des labels') }}"> <div class="glider-container labels" aria-label="{{ __('Liens vers la description des labels') }}">
@ -57,6 +62,11 @@
</div> </div>
</div> </div>
</div> </div>
<div class="row justify-content-center pb-1">
<div class="col">
<span class="h1 d-block text-center fw-bold text-loue-blue"> {{ __('Nos engagments') }}</span>
</div>
</div>
<div class="row justify-content-center pb-5"> <div class="row justify-content-center pb-5">
<div class="col"> <div class="col">
<div class="glider-container links" aria-label="{{ __('Liens vers le site loue.fr') }}"> <div class="glider-container links" aria-label="{{ __('Liens vers le site loue.fr') }}">
@ -65,37 +75,37 @@
<a class="text-decoration-none" href="https://www.loue.fr/article/Des-arbres-et-des-haies-pour-les-volailles-fermières-de-Loué/a3.aspx" target="_blank"> <a class="text-decoration-none" href="https://www.loue.fr/article/Des-arbres-et-des-haies-pour-les-volailles-fermières-de-Loué/a3.aspx" target="_blank">
<span class="blue-card shade"> <span class="blue-card shade">
<img src="{{ asset('assets/images/articles/Plan de travail 4.png') }}" alt="{{ __('Nature') }}"> <img src="{{ asset('assets/images/articles/Plan de travail 4.png') }}" alt="{{ __('Nature') }}">
<span class="fw-bold text-break text-light">{{ __('Arbres, haies et agroforesterie') }}</span> <span class="fw-bold text-light">{{ __('Arbres, haies et agroforesterie') }}</span>
</span> </span>
</a> </a>
<a class="text-decoration-none" href="https://www.loue.fr/article/Des-ruches-d-abeilles-dans-les-parcours-à-volailles-de-Loué/a197.aspx" target="_blank"> <a class="text-decoration-none" href="https://www.loue.fr/article/Des-ruches-d-abeilles-dans-les-parcours-à-volailles-de-Loué/a197.aspx" target="_blank">
<span class="blue-card shade"> <span class="blue-card shade">
<img src="{{ asset('assets/images/articles/Plan de travail 7.png') }}" alt="{{ __('Ruches') }}"> <img src="{{ asset('assets/images/articles/Plan de travail 7.png') }}" alt="{{ __('Ruches') }}">
<span class="fw-bold text-break text-light">{{ __('Abeilles') }}</span> <span class="fw-bold text-light">{{ __('Abeilles') }}</span>
</span> </span>
</a> </a>
<a class="text-decoration-none" href="https://www.loue.fr/article/Les-Fermiers-de-Loué-engagés-dans-les-énergies-renouvelables/a120.aspx" target="_blank"> <a class="text-decoration-none" href="https://www.loue.fr/article/Les-Fermiers-de-Loué-engagés-dans-les-énergies-renouvelables/a120.aspx" target="_blank">
<span class="blue-card shade"> <span class="blue-card shade">
<img src="{{ asset('assets/images/articles/Plan de travail 2.png') }}" alt="{{ __('Agriculture') }}"> <img src="{{ asset('assets/images/articles/Plan de travail 2.png') }}" alt="{{ __('Agriculture') }}">
<span class="fw-bold text-break text-light">{{ __('Des énergies renouvelables') }}</span> <span class="fw-bold text-light">{{ __('Des énergies renouvelables') }}</span>
</span> </span>
</a> </a>
<a class="text-decoration-none" href="https://www.loue.fr/article/A-Loué-on-dit-OUI-aux-céréales-françaises-et-surtout-locales/a119.aspx" target="_blank"> <a class="text-decoration-none" href="https://www.loue.fr/article/Un-mode-d-élevage-durable-et-local/a121.aspx" target="_blank">
<span class="blue-card shade"> <span class="blue-card shade">
<img src="{{ asset('assets/images/articles/Plan de travail 5.png') }}" alt="{{ __('Céréales françaises') }}"> <img src="{{ asset('assets/images/articles/Plan de travail 5.png') }}" alt="{{ __('Céréales françaises') }}">
<span class="fw-bold text-break text-light">{{ __('Céréales locales') }}</span> <span class="fw-bold text-light">{{ __('Céréales locales') }}</span>
</span> </span>
</a> </a>
<a class="text-decoration-none" href="https://www.loue.fr/article/Les-poulets-de-Loué-affichent-le-niveau-de-bien-être-animal/a160.aspx" target="_blank"> <a class="text-decoration-none" href="https://www.loue.fr/article/Les-poulets-de-Loué-affichent-le-niveau-de-bien-être-animal/a160.aspx" target="_blank">
<span class="blue-card shade"> <span class="blue-card shade">
<img src="{{ asset('assets/images/articles/Plan de travail 6.png') }}" alt="{{ __('Poule') }}"> <img src="{{ asset('assets/images/articles/Plan de travail 6.png') }}" alt="{{ __('Poule') }}">
<span class="fw-bold text-break text-light">{{ __('Bien être animal') }}</span> <span class="fw-bold text-light">{{ __('Bien être animal') }}</span>
</span> </span>
</a> </a>
<a class="text-decoration-none" href="https://www.loue.fr/article/Un-mode-d-élevage-durable-et-local/a121.aspx" target="_blank"> <a class="text-decoration-none" href="https://www.loue.fr/article/Un-mode-d-élevage-durable-et-local/a121.aspx" target="_blank">
<span class="blue-card shade"> <span class="blue-card shade">
<img src="{{ asset('assets/images/articles/Plan de travail 3.png') }}" alt="{{ __('Label IGP') }}"> <img src="{{ asset('assets/images/articles/Plan de travail 3.png') }}" alt="{{ __('Label IGP') }}">
<span class="fw-bold text-break text-light">{{ __('Un élevage durable') }}</span> <span class="fw-bold text-light">{{ __('Un élevage durable') }}</span>
</span> </span>
</a> </a>
</div> </div>

View file

@ -78,7 +78,7 @@ Route::prefix('/oeuf')->name('egg.')->group(function () {
// * ELEVEURS // * ELEVEURS
Route::get('/{id}/portrait-eleveur/{eleveurId}', [EggController::class, 'EleveurPortrait']) Route::get('/{id}/portrait-eleveur/{eleveurId}', [EggController::class, 'eleveurPortrait'])
->name('portraitEleveur'); ->name('portraitEleveur');
Route::get('/{id}', [EggController::class, 'indexId'])->name('FrontPage'); Route::get('/{id}', [EggController::class, 'indexId'])->name('FrontPage');