Picto settings and others
This commit is contained in:
parent
80715ab95c
commit
62527924c7
47 changed files with 1237 additions and 271 deletions
|
|
@ -6,7 +6,10 @@ use Kwaadpepper\Enum\BaseEnumRoutable;
|
|||
|
||||
/**
|
||||
* @method static self home()
|
||||
* @method static self marque()
|
||||
* @method static self marque1()
|
||||
* @method static self marque2()
|
||||
* @method static self marque3()
|
||||
* @method static self marque4()
|
||||
* @method static self food()
|
||||
*/
|
||||
class Page extends BaseEnumRoutable
|
||||
|
|
@ -15,8 +18,11 @@ class Page extends BaseEnumRoutable
|
|||
{
|
||||
return [
|
||||
'home' => 0,
|
||||
'marque' => 1,
|
||||
'food' => 2,
|
||||
'marque1' => 1,
|
||||
'marque2' => 2,
|
||||
'marque3' => 3,
|
||||
'marque4' => 4,
|
||||
'food' => 5,
|
||||
];
|
||||
}
|
||||
}
|
||||
|
|
|
|||
64
app/Http/Controllers/Bo/EncartArgsController.php
Normal file
64
app/Http/Controllers/Bo/EncartArgsController.php
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Bo;
|
||||
|
||||
use App\Enums\Page;
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Requests\UpdateEncartArgRequest;
|
||||
use App\Models\EncartArg;
|
||||
|
||||
class EncartArgsController extends Controller
|
||||
{
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function show($id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
*
|
||||
* @param EncartArg $encartarg
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function edit(EncartArg $encartarg)
|
||||
{
|
||||
return view('back.encartargs.edit', compact('encartarg'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @param EncartArg $encartarg
|
||||
* @param \Illuminate\Http\UpdateEncartArgRequest $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function update(EncartArg $encartarg, UpdateEncartArgRequest $request)
|
||||
{
|
||||
$encartarg->fill($request->validated());
|
||||
|
||||
if (!$encartarg->saveOrFail()) {
|
||||
return redirect()->route('bo.encartargs.edit', $encartarg->id)
|
||||
->with('error', trans('La modification a échoué'));
|
||||
}
|
||||
|
||||
return redirect()->route('bo.encartargs.edit', $encartarg->id)
|
||||
->with('success', trans('Modifications enregistrées !'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function destroy($id)
|
||||
{
|
||||
//
|
||||
}
|
||||
}
|
||||
|
|
@ -2,57 +2,28 @@
|
|||
|
||||
namespace App\Http\Controllers\Bo;
|
||||
|
||||
use App\Enums\Page;
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Requests\StoreEncartRequest;
|
||||
use App\Http\Requests\UpdateEncartRequest;
|
||||
use App\Models\Encart;
|
||||
|
||||
class EncartsController extends Controller
|
||||
{
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function store(StoreEncartRequest $request)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function show($id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @param Encart $encart
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function edit(Encart $encart)
|
||||
{
|
||||
$encart_home = Encart::where('page', Page::home()->value)->first();
|
||||
$encart_marque = Encart::where('page', Page::marque()->value)->first();
|
||||
$encart_food = Encart::where('page', Page::food()->value)->first();
|
||||
|
||||
return view('back.encarts.edit', compact('encart', 'encart_home', 'encart_marque', 'encart_food'));
|
||||
return view('back.encarts.edit', compact('encart'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param int $id
|
||||
* @param Encart $encart
|
||||
* @param \Illuminate\Http\UpdateEncartRequest $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function update(Encart $encart, UpdateEncartRequest $request)
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ namespace App\Http\Controllers\Bo;
|
|||
use App\Enums\Page;
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\Encart;
|
||||
use App\Models\EncartArg;
|
||||
|
||||
class HomeController extends Controller
|
||||
{
|
||||
|
|
@ -12,10 +13,6 @@ class HomeController extends Controller
|
|||
|
||||
public function home()
|
||||
{
|
||||
$encart_home = Encart::where('page', Page::home()->value)->first();
|
||||
$encart_marque = Encart::where('page', Page::marque()->value)->first();
|
||||
$encart_food = Encart::where('page', Page::food()->value)->first();
|
||||
|
||||
return view('back.home', compact('encart_home', 'encart_marque', 'encart_food'));
|
||||
return view('back.home');
|
||||
}
|
||||
}
|
||||
|
|
|
|||
42
app/Http/Controllers/Bo/PictoBrandsController.php
Normal file
42
app/Http/Controllers/Bo/PictoBrandsController.php
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Bo;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Requests\UpdatePictoBrandRequest;
|
||||
use App\Models\PictoBrand;
|
||||
|
||||
class PictoBrandsController extends Controller
|
||||
{
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
*
|
||||
* @param PictoBrand $pictobrand
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
// phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.FoundInExtendedClass
|
||||
public function edit(PictoBrand $pictobrand)
|
||||
{
|
||||
return view('back.pictobrands.edit', compact('pictobrand'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @param PictoBrand $pictobrand
|
||||
* @param \Illuminate\Http\UpdatePictoBrandRequest $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function update(PictoBrand $pictobrand, UpdatePictoBrandRequest $request)
|
||||
{
|
||||
$pictobrand->fill($request->validated());
|
||||
|
||||
if (!$pictobrand->saveOrFail()) {
|
||||
return redirect()->route('bo.pictobrands.edit', $pictobrand->id)
|
||||
->with('error', trans('La modification a échoué'));
|
||||
}
|
||||
|
||||
return redirect()->route('bo.pictobrands.edit', $pictobrand->id)
|
||||
->with('success', trans('Modifications enregistrées !'));
|
||||
}
|
||||
}
|
||||
42
app/Http/Controllers/Bo/PictosController.php
Normal file
42
app/Http/Controllers/Bo/PictosController.php
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Bo;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Requests\UpdatePictoRequest;
|
||||
use App\Models\Picto;
|
||||
|
||||
class PictosController extends Controller
|
||||
{
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
*
|
||||
* @param Picto $picto
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
// phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.FoundInExtendedClass
|
||||
public function edit(Picto $picto)
|
||||
{
|
||||
return view('back.pictos.edit', compact('picto'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @param Picto $picto
|
||||
* @param \Illuminate\Http\UpdatePictoRequest $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function update(Picto $picto, UpdatePictoRequest $request)
|
||||
{
|
||||
$picto->fill($request->validated());
|
||||
|
||||
if (!$picto->saveOrFail()) {
|
||||
return redirect()->route('bo.pictos.edit', $picto->id)
|
||||
->with('error', trans('La modification a échoué'));
|
||||
}
|
||||
|
||||
return redirect()->route('bo.pictos.edit', $picto->id)
|
||||
->with('success', trans('Modifications enregistrées !'));
|
||||
}
|
||||
}
|
||||
|
|
@ -2,11 +2,9 @@
|
|||
|
||||
namespace App\Http\Controllers\Bo;
|
||||
|
||||
use App\Enums\Page;
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Requests\StoreSliderRequest;
|
||||
use App\Http\Requests\UpdateSliderRequest;
|
||||
use App\Models\Encart;
|
||||
use App\Models\Slider;
|
||||
|
||||
class SlidersController extends Controller
|
||||
|
|
@ -19,16 +17,14 @@ class SlidersController extends Controller
|
|||
public function index()
|
||||
{
|
||||
$sliders = Slider::all();
|
||||
$encart_home = Encart::where('page', Page::home()->value)->first();
|
||||
$encart_marque = Encart::where('page', Page::marque()->value)->first();
|
||||
$encart_food = Encart::where('page', Page::food()->value)->first();
|
||||
|
||||
return view('back.sliders.index', compact('sliders', 'encart_home', 'encart_marque', 'encart_food'));
|
||||
return view('back.sliders.index', compact('sliders'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for creating a new resource.
|
||||
*
|
||||
* @param Slider $slider
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function create(Slider $slider)
|
||||
|
|
@ -39,13 +35,12 @@ class SlidersController extends Controller
|
|||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param \Illuminate\Http\StoreSliderRequest $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function store(StoreSliderRequest $request)
|
||||
{
|
||||
$slider = new Slider($request->validated());
|
||||
// $slider->page = Page::home();
|
||||
|
||||
if (!$slider->saveOrFail()) {
|
||||
return redirect()->route('bo.sliders.edit', $slider->id)->with('error', 'Le slider n\'a pas été crée');
|
||||
|
|
@ -67,23 +62,19 @@ class SlidersController extends Controller
|
|||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @param Slider $slider
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function edit(Slider $slider)
|
||||
{
|
||||
$encart_home = Encart::where('page', Page::home()->value)->first();
|
||||
$encart_marque = Encart::where('page', Page::marque()->value)->first();
|
||||
$encart_food = Encart::where('page', Page::food()->value)->first();
|
||||
|
||||
return view('back.sliders.edit', compact('slider', 'encart_home', 'encart_marque', 'encart_food'));
|
||||
return view('back.sliders.edit', compact('slider'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param int $id
|
||||
* @param \Illuminate\Http\UpdateSliderRequest $request
|
||||
* @param Slider $slider
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function update(UpdateSliderRequest $request, Slider $slider)
|
||||
|
|
@ -100,7 +91,7 @@ class SlidersController extends Controller
|
|||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*
|
||||
* @param int $id
|
||||
* @param Slider $slider
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function destroy(Slider $slider)
|
||||
|
|
|
|||
|
|
@ -2,14 +2,10 @@
|
|||
|
||||
namespace App\Http\Controllers\Bo;
|
||||
|
||||
use App\Enums\Page;
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Requests\StoreSlideRequest;
|
||||
use App\Lib\Utils;
|
||||
use App\Models\Encart;
|
||||
use App\Models\Slide;
|
||||
use App\Models\Slider;
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
class SlidesController extends Controller
|
||||
{
|
||||
|
|
@ -21,16 +17,14 @@ class SlidesController extends Controller
|
|||
public function index()
|
||||
{
|
||||
$slides = Slide::orderBy('order', 'ASC')->get();
|
||||
$encart_home = Encart::where('page', Page::home()->value)->first();
|
||||
$encart_marque = Encart::where('page', Page::marque()->value)->first();
|
||||
$encart_food = Encart::where('page', Page::food()->value)->first();
|
||||
|
||||
return view('back.slides.index', compact('slides', 'encart_home', 'encart_marque', 'encart_food'));
|
||||
return view('back.slides.index', compact('slides'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for creating a new resource.
|
||||
*
|
||||
* @param Slide $slide
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function create(Slide $slide)
|
||||
|
|
@ -42,7 +36,7 @@ class SlidesController extends Controller
|
|||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param \Illuminate\Http\StoreSlideRequest $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function store(StoreSlideRequest $request)
|
||||
|
|
@ -70,24 +64,21 @@ class SlidesController extends Controller
|
|||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @param Slide $slide
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function edit(Slide $slide)
|
||||
{
|
||||
$sliders = Slider::all();
|
||||
$encart_home = Encart::where('page', Page::home()->value)->first();
|
||||
$encart_marque = Encart::where('page', Page::marque()->value)->first();
|
||||
$encart_food = Encart::where('page', Page::food()->value)->first();
|
||||
|
||||
return view('back.slides.edit', compact('slide', 'sliders', 'encart_home', 'encart_marque', 'encart_food'));
|
||||
return view('back.slides.edit', compact('slide', 'sliders'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param int $id
|
||||
* @param \Illuminate\Http\StoreSlideRequest $request
|
||||
* @param Slide $slide
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function update(StoreSlideRequest $request, Slide $slide)
|
||||
|
|
|
|||
42
app/Http/Controllers/Bo/TitlesController.php
Normal file
42
app/Http/Controllers/Bo/TitlesController.php
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Bo;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Requests\UpdateTitleRequest;
|
||||
use App\Models\Title;
|
||||
|
||||
class TitlesController extends Controller
|
||||
{
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
*
|
||||
* @param Title $title
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
// phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.FoundInExtendedClass
|
||||
public function edit(Title $title)
|
||||
{
|
||||
return view('back.titles.edit', compact('title'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @param Title $title
|
||||
* @param \Illuminate\Http\UpdateTitleRequest $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function update(Title $title, UpdateTitleRequest $request)
|
||||
{
|
||||
$title->fill($request->validated());
|
||||
|
||||
if (!$title->saveOrFail()) {
|
||||
return redirect()->route('bo.titles.edit', $title->id)
|
||||
->with('error', trans('La modification a échoué'));
|
||||
}
|
||||
|
||||
return redirect()->route('bo.titles.edit', $title->id)
|
||||
->with('success', trans('Modifications enregistrées !'));
|
||||
}
|
||||
}
|
||||
|
|
@ -1,64 +0,0 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* Controller pour le contact
|
||||
*
|
||||
* @category Description
|
||||
* @package Category
|
||||
* @author Name <email@email.com>
|
||||
* @license http://url.com MIT
|
||||
* @link http://url.com
|
||||
* phpcs:ignore PEAR.Commenting.FileComment.MissingVersion
|
||||
*/
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Requests\ContactFormRequest;
|
||||
use App\Mail\SendContactMail;
|
||||
use Illuminate\Support\Facades\Mail;
|
||||
|
||||
/**
|
||||
* Undocumented class
|
||||
*
|
||||
* @category Description
|
||||
* @package Category
|
||||
* @author Name <email@email.com>
|
||||
* @license http://url.com MIT
|
||||
* @link http://url.com
|
||||
*/
|
||||
class ContactController extends Controller
|
||||
{
|
||||
/**
|
||||
* Undocumented function
|
||||
*
|
||||
* @param Request $request La requete
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function contact(Request $request)
|
||||
{
|
||||
$status = $request->session()->get('status');
|
||||
|
||||
return view('front.contact', compact('status'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Undocumented function
|
||||
*
|
||||
* @param ContactFormRequest $request La requete
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function contactSubmit(ContactFormRequest $request)
|
||||
{
|
||||
$data = $request->all();
|
||||
|
||||
$toMail = env('MAIL_LIST_CONTACTFORM', config('mail.from.address'));
|
||||
//envoi du mail d'alerte
|
||||
Mail::to($toMail)
|
||||
->send(new SendContactMail($request));
|
||||
|
||||
return back()->with('status', true);
|
||||
}
|
||||
}
|
||||
|
|
@ -4,6 +4,7 @@ namespace App\Http\Controllers;
|
|||
|
||||
use App\Enums\Page;
|
||||
use App\Models\Encart;
|
||||
use App\Models\EncartArg;
|
||||
use App\Models\Slider;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
|
|
@ -12,10 +13,7 @@ class HomeController extends Controller
|
|||
public function index()
|
||||
{
|
||||
$slider = Slider::where('published', 1)->first();
|
||||
$encart_home = Encart::where('page', Page::home()->value)->first();
|
||||
$encart_marque = Encart::where('page', Page::marque()->value)->first();
|
||||
$encart_food = Encart::where('page', Page::food()->value)->first();
|
||||
|
||||
return view('front.home', compact('slider', 'encart_home', 'encart_marque', 'encart_food'));
|
||||
return view('front.home', compact('slider'));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,60 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Requests;
|
||||
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
|
||||
class ContactFormRequest extends FormRequest
|
||||
{
|
||||
/**
|
||||
* Determine if the user is authorized to make this request.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function authorize()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the validation rules that apply to the request.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function rules()
|
||||
{
|
||||
return [
|
||||
'civilite' => 'required|in:monsieur,madame',
|
||||
'name' => 'required|min:2',
|
||||
'lastname' => 'required|min:2',
|
||||
'address' => 'required|max:255',
|
||||
'postcode' => 'required',
|
||||
'city' => 'required|string|max:255',
|
||||
'phone' => 'required|max:255',
|
||||
'email' => 'required|email:rfc,dns,spoof|max:255',
|
||||
'topic' => 'required',
|
||||
'product_name' => 'required_if:topic,Réclamation|max:255',
|
||||
'barcode' => 'required_if:topic,Réclamation|max:128',
|
||||
'shop' => 'required_if:topic,Réclamation|max:255',
|
||||
'lot' => 'required_if:topic,Réclamation|max:255',
|
||||
'limit_date' => 'required_if:topic,Réclamation|date|nullable',
|
||||
'consumption_date' => 'required_if:topic,Réclamation|date|nullable',
|
||||
'message' => 'required|min:25',
|
||||
'file' => 'nullable|mimes:jpg,jpeg,png,pdf|max:5120',
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the error messages for the defined validation rules.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function messages()
|
||||
{
|
||||
return [
|
||||
'topic.required' => __('Veuille 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.'),
|
||||
];
|
||||
}
|
||||
}
|
||||
|
|
@ -25,9 +25,13 @@ class UpdateEncartRequest extends FormRequest
|
|||
{
|
||||
return [
|
||||
'title' => 'required|max:255',
|
||||
'subtitle' => 'required|max:255',
|
||||
'subtitle' => 'sometimes|max:255',
|
||||
// TODO 'subtitle' => [
|
||||
// Rule::requiredIf(), 'max:255'
|
||||
// 'required|max:255'
|
||||
// ],
|
||||
'text' => 'required|max:2047',
|
||||
'picture' => 'sometimes|image|mimes:jpeg,png,jpg|max:2048|dimensions:width=642,height=556',
|
||||
'picture' => 'sometimes|image|mimes:jpeg,png,jpg|max:2048',
|
||||
];
|
||||
}
|
||||
}
|
||||
|
|
|
|||
32
app/Http/Requests/UpdatePictoBrandRequest.php
Normal file
32
app/Http/Requests/UpdatePictoBrandRequest.php
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Requests;
|
||||
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
|
||||
class UpdatePictoBrandRequest extends FormRequest
|
||||
{
|
||||
/**
|
||||
* Determine if the user is authorized to make this request.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function authorize()
|
||||
{
|
||||
return auth()->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:1024',
|
||||
'text' => 'required|max:127',
|
||||
];
|
||||
}
|
||||
}
|
||||
31
app/Http/Requests/UpdatePictoRequest.php
Normal file
31
app/Http/Requests/UpdatePictoRequest.php
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Requests;
|
||||
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
|
||||
class UpdatePictoRequest extends FormRequest
|
||||
{
|
||||
/**
|
||||
* Determine if the user is authorized to make this request.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function authorize()
|
||||
{
|
||||
return auth()->check();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the validation rules that apply to the request.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function rules()
|
||||
{
|
||||
return [
|
||||
'picture' => 'sometimes|image|mimes:png|max:1024',
|
||||
'text' => 'required|max:50',
|
||||
];
|
||||
}
|
||||
}
|
||||
31
app/Http/Requests/UpdateTitleRequest.php
Normal file
31
app/Http/Requests/UpdateTitleRequest.php
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Requests;
|
||||
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
|
||||
class UpdateTitleRequest extends FormRequest
|
||||
{
|
||||
/**
|
||||
* Determine if the user is authorized to make this request.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function authorize()
|
||||
{
|
||||
return auth()->check();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the validation rules that apply to the request.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function rules()
|
||||
{
|
||||
return [
|
||||
'title' => 'required|max:50',
|
||||
'text' => 'sometimes:|max:2047',
|
||||
];
|
||||
}
|
||||
}
|
||||
|
|
@ -6,12 +6,14 @@ use App\Enums\Page;
|
|||
use App\Lib\Utils;
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Kwaadpepper\Enum\Traits\CastsEnums;
|
||||
|
||||
class Encart extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
use CastsEnums;
|
||||
|
||||
public $castEnums = [
|
||||
public $enumCasts = [
|
||||
'page' => Page::class
|
||||
];
|
||||
|
||||
|
|
|
|||
40
app/Models/Picto.php
Normal file
40
app/Models/Picto.php
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use App\Enums\Page;
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Support\Traits\EnumeratesValues;
|
||||
use Kwaadpepper\Enum\Traits\CastsEnums;
|
||||
|
||||
class Picto extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
use CastsEnums;
|
||||
|
||||
public $enumCasts = [
|
||||
'page' => Page::class
|
||||
];
|
||||
|
||||
protected $fillable = [
|
||||
'picture',
|
||||
'text',
|
||||
];
|
||||
|
||||
// protected static function boot()
|
||||
// {
|
||||
// static::creating(function (EncartArg $encartArg) {
|
||||
// if ($encartArg->picture) {
|
||||
// $encartArg->picture = Utils::storeImage($encartArg->picture, $encartArg->getTable());
|
||||
// }
|
||||
// });
|
||||
|
||||
// static::updating(function (EncartArg $encartArg) {
|
||||
// if ($encartArg->picture) {
|
||||
// $encartArg->picture = Utils::storeImage($encartArg->picture, $encartArg->getTable());
|
||||
// }
|
||||
// });
|
||||
// parent::boot();
|
||||
// }
|
||||
}
|
||||
33
app/Models/PictoBrand.php
Normal file
33
app/Models/PictoBrand.php
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class PictoBrand extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
|
||||
protected $fillable = [
|
||||
'title',
|
||||
'picture',
|
||||
'text',
|
||||
];
|
||||
|
||||
// protected static function boot()
|
||||
// {
|
||||
// static::creating(function (EncartArg $encartArg) {
|
||||
// if ($encartArg->picture) {
|
||||
// $encartArg->picture = Utils::storeImage($encartArg->picture, $encartArg->getTable());
|
||||
// }
|
||||
// });
|
||||
|
||||
// static::updating(function (EncartArg $encartArg) {
|
||||
// if ($encartArg->picture) {
|
||||
// $encartArg->picture = Utils::storeImage($encartArg->picture, $encartArg->getTable());
|
||||
// }
|
||||
// });
|
||||
// parent::boot();
|
||||
// }
|
||||
}
|
||||
23
app/Models/Title.php
Normal file
23
app/Models/Title.php
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use App\Enums\Page;
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Kwaadpepper\Enum\Traits\CastsEnums;
|
||||
|
||||
class Title extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
use CastsEnums;
|
||||
|
||||
public $enumCasts = [
|
||||
'page' => Page::class
|
||||
];
|
||||
|
||||
protected $fillable = [
|
||||
'title',
|
||||
'text',
|
||||
];
|
||||
}
|
||||
|
|
@ -8,14 +8,16 @@ use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|||
use Illuminate\Foundation\Auth\User as Authenticatable;
|
||||
use Illuminate\Notifications\Notifiable;
|
||||
use Illuminate\Support\Facades\Hash;
|
||||
use Kwaadpepper\Enum\Traits\CastsEnums;
|
||||
use Laravel\Sanctum\HasApiTokens;
|
||||
|
||||
class User extends Authenticatable
|
||||
{
|
||||
use HasFactory;
|
||||
use Notifiable;
|
||||
use CastsEnums;
|
||||
|
||||
public $castEnums = [
|
||||
public $enumCasts = [
|
||||
'role' => Role::class
|
||||
];
|
||||
|
||||
|
|
|
|||
|
|
@ -2,6 +2,11 @@
|
|||
|
||||
namespace App\Providers;
|
||||
|
||||
use App\Enums\Page;
|
||||
use App\Models\Encart;
|
||||
use App\Models\Picto;
|
||||
use App\Models\Title;
|
||||
use Illuminate\Support\Facades\View;
|
||||
use Illuminate\Support\ServiceProvider;
|
||||
|
||||
class AppServiceProvider extends ServiceProvider
|
||||
|
|
@ -23,6 +28,28 @@ class AppServiceProvider extends ServiceProvider
|
|||
*/
|
||||
public function boot()
|
||||
{
|
||||
//
|
||||
$encart_home = Encart::where('page', Page::home()->value)->first();
|
||||
$encart_marque1 = Encart::where('page', Page::marque1()->value)->first();
|
||||
$encart_marque2 = Encart::where('page', Page::marque2()->value)->first();
|
||||
$encart_marque3 = Encart::where('page', Page::marque3()->value)->first();
|
||||
$encart_marque4 = Encart::where('page', Page::marque4()->value)->first();
|
||||
$encart_food = Encart::where('page', Page::food()->value)->first();
|
||||
|
||||
$picto_marque = Picto::where('page', Page::marque1()->value)->get();
|
||||
|
||||
$title_marque1 = Title::where('page', Page::marque1()->value)->first();
|
||||
$title_marque2 = Title::where('page', Page::marque2()->value)->first();
|
||||
|
||||
View::share('encart_home', $encart_home);
|
||||
View::share('encart_marque1', $encart_marque1);
|
||||
View::share('encart_marque2', $encart_marque2);
|
||||
View::share('encart_marque3', $encart_marque3);
|
||||
View::share('encart_marque4', $encart_marque4);
|
||||
View::share('encart_food', $encart_food);
|
||||
|
||||
View::share('picto_marque', $picto_marque);
|
||||
|
||||
View::share('title_marque1', $title_marque1);
|
||||
View::share('title_marque2', $title_marque2);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,7 +21,8 @@
|
|||
"laravel/sail": "^1.0.1",
|
||||
"mockery/mockery": "^1.4.4",
|
||||
"nunomaduro/collision": "^5.10",
|
||||
"phpunit/phpunit": "^9.5.10"
|
||||
"phpunit/phpunit": "^9.5.10",
|
||||
"slevomat/coding-standard": "^7.0"
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
|
|
|
|||
238
composer.lock
generated
238
composer.lock
generated
|
|
@ -4,7 +4,7 @@
|
|||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "13cf508d573ec94972a8af8466df849d",
|
||||
"content-hash": "b7501b51fa530228d43cb776c66a5f6d",
|
||||
"packages": [
|
||||
{
|
||||
"name": "asm89/stack-cors",
|
||||
|
|
@ -5384,6 +5384,76 @@
|
|||
}
|
||||
],
|
||||
"packages-dev": [
|
||||
{
|
||||
"name": "dealerdirect/phpcodesniffer-composer-installer",
|
||||
"version": "v0.7.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/Dealerdirect/phpcodesniffer-composer-installer.git",
|
||||
"reference": "fe390591e0241955f22eb9ba327d137e501c771c"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/Dealerdirect/phpcodesniffer-composer-installer/zipball/fe390591e0241955f22eb9ba327d137e501c771c",
|
||||
"reference": "fe390591e0241955f22eb9ba327d137e501c771c",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"composer-plugin-api": "^1.0 || ^2.0",
|
||||
"php": ">=5.3",
|
||||
"squizlabs/php_codesniffer": "^2.0 || ^3.0 || ^4.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"composer/composer": "*",
|
||||
"phpcompatibility/php-compatibility": "^9.0",
|
||||
"sensiolabs/security-checker": "^4.1.0"
|
||||
},
|
||||
"type": "composer-plugin",
|
||||
"extra": {
|
||||
"class": "Dealerdirect\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\Plugin"
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Dealerdirect\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Franck Nijhof",
|
||||
"email": "franck.nijhof@dealerdirect.com",
|
||||
"homepage": "http://www.frenck.nl",
|
||||
"role": "Developer / IT Manager"
|
||||
}
|
||||
],
|
||||
"description": "PHP_CodeSniffer Standards Composer Installer Plugin",
|
||||
"homepage": "http://www.dealerdirect.com",
|
||||
"keywords": [
|
||||
"PHPCodeSniffer",
|
||||
"PHP_CodeSniffer",
|
||||
"code quality",
|
||||
"codesniffer",
|
||||
"composer",
|
||||
"installer",
|
||||
"phpcs",
|
||||
"plugin",
|
||||
"qa",
|
||||
"quality",
|
||||
"standard",
|
||||
"standards",
|
||||
"style guide",
|
||||
"stylecheck",
|
||||
"tests"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/dealerdirect/phpcodesniffer-composer-installer/issues",
|
||||
"source": "https://github.com/dealerdirect/phpcodesniffer-composer-installer"
|
||||
},
|
||||
"time": "2020-12-07T18:04:37+00:00"
|
||||
},
|
||||
{
|
||||
"name": "doctrine/instantiator",
|
||||
"version": "1.4.0",
|
||||
|
|
@ -6450,6 +6520,55 @@
|
|||
},
|
||||
"time": "2021-09-10T09:02:12+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpstan/phpdoc-parser",
|
||||
"version": "1.2.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/phpstan/phpdoc-parser.git",
|
||||
"reference": "dbc093d7af60eff5cd575d2ed761b15ed40bd08e"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/dbc093d7af60eff5cd575d2ed761b15ed40bd08e",
|
||||
"reference": "dbc093d7af60eff5cd575d2ed761b15ed40bd08e",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "^7.1 || ^8.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"php-parallel-lint/php-parallel-lint": "^1.2",
|
||||
"phpstan/extension-installer": "^1.0",
|
||||
"phpstan/phpstan": "^1.0",
|
||||
"phpstan/phpstan-strict-rules": "^1.0",
|
||||
"phpunit/phpunit": "^9.5",
|
||||
"symfony/process": "^5.2"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.0-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"PHPStan\\PhpDocParser\\": [
|
||||
"src/"
|
||||
]
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"description": "PHPDoc parser with support for nullable, intersection and generic types",
|
||||
"support": {
|
||||
"issues": "https://github.com/phpstan/phpdoc-parser/issues",
|
||||
"source": "https://github.com/phpstan/phpdoc-parser/tree/1.2.0"
|
||||
},
|
||||
"time": "2021-09-16T20:46:02+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpunit/php-code-coverage",
|
||||
"version": "9.2.8",
|
||||
|
|
@ -7835,6 +7954,123 @@
|
|||
],
|
||||
"time": "2020-09-28T06:39:44+00:00"
|
||||
},
|
||||
{
|
||||
"name": "slevomat/coding-standard",
|
||||
"version": "7.0.18",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/slevomat/coding-standard.git",
|
||||
"reference": "b81ac84f41a4797dc25c8ede1b0718e2a74be0fc"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/slevomat/coding-standard/zipball/b81ac84f41a4797dc25c8ede1b0718e2a74be0fc",
|
||||
"reference": "b81ac84f41a4797dc25c8ede1b0718e2a74be0fc",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"dealerdirect/phpcodesniffer-composer-installer": "^0.6.2 || ^0.7",
|
||||
"php": "^7.1 || ^8.0",
|
||||
"phpstan/phpdoc-parser": "^1.0.0",
|
||||
"squizlabs/php_codesniffer": "^3.6.1"
|
||||
},
|
||||
"require-dev": {
|
||||
"phing/phing": "2.17.0",
|
||||
"php-parallel-lint/php-parallel-lint": "1.3.1",
|
||||
"phpstan/phpstan": "1.2.0",
|
||||
"phpstan/phpstan-deprecation-rules": "1.0.0",
|
||||
"phpstan/phpstan-phpunit": "1.0.0",
|
||||
"phpstan/phpstan-strict-rules": "1.1.0",
|
||||
"phpunit/phpunit": "7.5.20|8.5.21|9.5.10"
|
||||
},
|
||||
"type": "phpcodesniffer-standard",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "7.x-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"SlevomatCodingStandard\\": "SlevomatCodingStandard"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"description": "Slevomat Coding Standard for PHP_CodeSniffer complements Consistence Coding Standard by providing sniffs with additional checks.",
|
||||
"support": {
|
||||
"issues": "https://github.com/slevomat/coding-standard/issues",
|
||||
"source": "https://github.com/slevomat/coding-standard/tree/7.0.18"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://github.com/kukulich",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://tidelift.com/funding/github/packagist/slevomat/coding-standard",
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2021-12-07T17:19:06+00:00"
|
||||
},
|
||||
{
|
||||
"name": "squizlabs/php_codesniffer",
|
||||
"version": "3.6.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/squizlabs/PHP_CodeSniffer.git",
|
||||
"reference": "f268ca40d54617c6e06757f83f699775c9b3ff2e"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/f268ca40d54617c6e06757f83f699775c9b3ff2e",
|
||||
"reference": "f268ca40d54617c6e06757f83f699775c9b3ff2e",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-simplexml": "*",
|
||||
"ext-tokenizer": "*",
|
||||
"ext-xmlwriter": "*",
|
||||
"php": ">=5.4.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0"
|
||||
},
|
||||
"bin": [
|
||||
"bin/phpcs",
|
||||
"bin/phpcbf"
|
||||
],
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "3.x-dev"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"BSD-3-Clause"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Greg Sherwood",
|
||||
"role": "lead"
|
||||
}
|
||||
],
|
||||
"description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.",
|
||||
"homepage": "https://github.com/squizlabs/PHP_CodeSniffer",
|
||||
"keywords": [
|
||||
"phpcs",
|
||||
"standards"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/squizlabs/PHP_CodeSniffer/issues",
|
||||
"source": "https://github.com/squizlabs/PHP_CodeSniffer",
|
||||
"wiki": "https://github.com/squizlabs/PHP_CodeSniffer/wiki"
|
||||
},
|
||||
"time": "2021-10-11T04:00:11+00:00"
|
||||
},
|
||||
{
|
||||
"name": "theseer/tokenizer",
|
||||
"version": "1.2.1",
|
||||
|
|
|
|||
|
|
@ -229,6 +229,9 @@ return [
|
|||
'Validator' => Illuminate\Support\Facades\Validator::class,
|
||||
'View' => Illuminate\Support\Facades\View::class,
|
||||
|
||||
// Enums
|
||||
'Page' => \App\Enums\Page::class,
|
||||
|
||||
],
|
||||
|
||||
];
|
||||
|
|
|
|||
32
database/factories/PictoBrandFactory.php
Normal file
32
database/factories/PictoBrandFactory.php
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
<?php
|
||||
|
||||
namespace Database\Factories;
|
||||
|
||||
use App\Models\PictoBrand;
|
||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||
use SplFileInfo;
|
||||
|
||||
class PictoBrandFactory extends Factory
|
||||
{
|
||||
|
||||
/**
|
||||
* The name of the factory's corresponding model.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $model = PictoBrand::class;
|
||||
|
||||
/**
|
||||
* Define the model's default state.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function definition()
|
||||
{
|
||||
return [
|
||||
'title' => $this->faker->randomNumber(3, false),
|
||||
'picture' => new SplFileInfo(resource_path('assets/images/site-production.jpg')),
|
||||
'text' => $this->faker->text(20),
|
||||
];
|
||||
}
|
||||
}
|
||||
30
database/factories/PictoFactory.php
Normal file
30
database/factories/PictoFactory.php
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
<?php
|
||||
|
||||
namespace Database\Factories;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||
use SplFileInfo;
|
||||
|
||||
class PictoFactory extends Factory
|
||||
{
|
||||
|
||||
/**
|
||||
* The name of the factory's corresponding model.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $model = Picto::class;
|
||||
|
||||
/**
|
||||
* Define the model's default state.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function definition()
|
||||
{
|
||||
return [
|
||||
'picture' => new SplFileInfo(resource_path('assets/images/qualite.png')),
|
||||
'text' => $this->faker->text(10),
|
||||
];
|
||||
}
|
||||
}
|
||||
|
|
@ -28,8 +28,8 @@ class SliderFactory extends Factory
|
|||
return [
|
||||
'label' => $label,
|
||||
'slug' => Str::slug($label),
|
||||
'commentaire' => $this->faker->realText(128),
|
||||
'published' => rand(0, 1)
|
||||
'commentaire' => $this->faker->realText(50),
|
||||
'published' => 1
|
||||
];
|
||||
}
|
||||
}
|
||||
|
|
|
|||
30
database/factories/TitleFactory.php
Normal file
30
database/factories/TitleFactory.php
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
<?php
|
||||
|
||||
namespace Database\Factories;
|
||||
|
||||
use App\Models\Title;
|
||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||
|
||||
class TitleFactory extends Factory
|
||||
{
|
||||
|
||||
/**
|
||||
* The name of the factory's corresponding model.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $model = Title::class;
|
||||
|
||||
/**
|
||||
* Define the model's default state.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function definition()
|
||||
{
|
||||
return [
|
||||
'title' => $this->faker->text(5),
|
||||
'text' => $this->faker->sentence(20),
|
||||
];
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
class CreatePictosTable extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('pictos', function (Blueprint $table) {
|
||||
$table->id();
|
||||
$table->smallInteger('page');
|
||||
$table->string('picture')->nullable();
|
||||
$table->string('text');
|
||||
$table->timestamps();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::dropIfExists('pictos');
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
class CreatePictoBrandsTable extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('picto_brands', function (Blueprint $table) {
|
||||
$table->id();
|
||||
$table->string('title');
|
||||
$table->string('picture')->nullable();
|
||||
$table->string('text');
|
||||
$table->timestamps();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::dropIfExists('picto_brands');
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
class CreateTitlesTable extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('titles', function (Blueprint $table) {
|
||||
$table->id();
|
||||
$table->smallInteger('page')->unique();
|
||||
$table->string('title');
|
||||
$table->string('text')->nullable();
|
||||
$table->timestamps();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::dropIfExists('titles');
|
||||
}
|
||||
}
|
||||
|
|
@ -18,6 +18,9 @@ class DatabaseSeeder extends Seeder
|
|||
UserSeeder::class,
|
||||
SlidersSeeder::class,
|
||||
EncartsSeeder::class,
|
||||
PictosSeeder::class,
|
||||
PictoBrandsSeeder::class,
|
||||
TitlesSeeder::class,
|
||||
|
||||
]);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ class EncartsSeeder extends Seeder
|
|||
public function run()
|
||||
{
|
||||
$i = 0;
|
||||
Encart::factory(3)->make()
|
||||
Encart::factory(6)->make()
|
||||
->each(function (Encart $encart) use (&$i) {
|
||||
$encart->page = $i++;
|
||||
$encart->save();
|
||||
|
|
|
|||
19
database/seeders/PictoBrandsSeeder.php
Normal file
19
database/seeders/PictoBrandsSeeder.php
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
<?php
|
||||
|
||||
namespace Database\Seeders;
|
||||
|
||||
use App\Models\PictoBrand;
|
||||
use Illuminate\Database\Seeder;
|
||||
|
||||
class PictoBrandsSeeder extends Seeder
|
||||
{
|
||||
/**
|
||||
* Run the database seeds.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function run()
|
||||
{
|
||||
PictoBrand::factory(6)->create();
|
||||
}
|
||||
}
|
||||
37
database/seeders/PictosSeeder.php
Normal file
37
database/seeders/PictosSeeder.php
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
<?php
|
||||
|
||||
namespace Database\Seeders;
|
||||
|
||||
use App\Models\Picto;
|
||||
use Illuminate\Database\Seeder;
|
||||
use SplFileInfo;
|
||||
|
||||
class PictosSeeder extends Seeder
|
||||
{
|
||||
/**
|
||||
* Run the database seeds.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function run()
|
||||
{
|
||||
for ($j = 2; $j < 4; $j++) {
|
||||
for ($i = 0; $i < 5; $i++) {
|
||||
$picto = new Picto();
|
||||
$picto->page = $j;
|
||||
$picto->picture = new SplFileInfo(resource_path('assets/images/qualite.png'));
|
||||
$picto->text = 'lorem ipsum set doloris';
|
||||
$picto->save();
|
||||
}
|
||||
}
|
||||
// $i = 2;
|
||||
// Picto::factory(10)->make()
|
||||
// ->each(function (Picto $picto) use (&$i) {
|
||||
// $picto->page = $i++;
|
||||
// $picto->save();
|
||||
// if ($i === 4) {
|
||||
// $i = 2;
|
||||
// }
|
||||
// });
|
||||
}
|
||||
}
|
||||
31
database/seeders/TitlesSeeder.php
Normal file
31
database/seeders/TitlesSeeder.php
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
<?php
|
||||
|
||||
namespace Database\Seeders;
|
||||
|
||||
use App\Enums\Page;
|
||||
use App\Models\Title;
|
||||
use Illuminate\Database\Seeder;
|
||||
|
||||
class TitlesSeeder extends Seeder
|
||||
{
|
||||
/**
|
||||
* Run the database seeds.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function run()
|
||||
{
|
||||
$title = new Title();
|
||||
$title->page = Page::marque1();
|
||||
$title->title = 'Nos valeurs';
|
||||
$title->text = 'Lorem ip sum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostr';
|
||||
|
||||
$title->save();
|
||||
|
||||
$title = new Title();
|
||||
$title->page = Page::marque2();
|
||||
$title->title = 'Nos engagements';
|
||||
|
||||
$title->save();
|
||||
}
|
||||
}
|
||||
|
|
@ -81,6 +81,7 @@
|
|||
</rule>
|
||||
<rule ref="Squiz.WhiteSpace.ScopeKeywordSpacing" />
|
||||
<rule ref="Squiz.WhiteSpace.SemicolonSpacing" />
|
||||
<rule ref="SlevomatCodingStandard.Namespaces.UnusedUses" />
|
||||
|
||||
|
||||
<!-- For Laravel migrations -->
|
||||
|
|
|
|||
|
|
@ -11,22 +11,28 @@
|
|||
<button type="submit" class="btn btn-sm btn-primary">{{ __('Enregistrer') }}</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
// dd($encart->page->equals(\App\Enums\Page::marque1()), \App\Enums\Page::toArray()); exit;
|
||||
// dd($encart->page->equals(\App\Enums\Page::marque1()), \App\Enums\Page::toValues()); exit;
|
||||
?>
|
||||
<div class="form-group">
|
||||
<label for="title">{{ __('Titre') }} *</label>
|
||||
<input type="text" id="title" name="title" class="form-control" placeholder="{{ __('Titre') }} *" value="{{ old('title', $encart->title ?? '') }}" required>
|
||||
@include('back.modules.input-error', ['inputName'=>'title'])
|
||||
</div>
|
||||
<?php if(!$encart->page->equals(Page::marque2()) && !$encart->page->equals(Page::marque3()) && !$encart->page->equals(Page::marque4())) { ?>
|
||||
<div class="form-group">
|
||||
<label for="subtitle">{{ __('Sous-titre') }} *</label>
|
||||
<input type="text" id="subtitle" name="subtitle" class="form-control" placeholder="{{ __('Sous-titre') }} *" value="{{ old('subtitle', $encart->subtitle ?? '') }}" required>
|
||||
@include('back.modules.input-error', ['inputName'=>'subtitle'])
|
||||
</div>
|
||||
<?php } ?>
|
||||
<div class="form-group">
|
||||
<label for="text">{{ __('Texte') }}</label>
|
||||
<textarea class="form-control" id="text" name="text" placeholder="{{ __('Texte') }}" style="height: 300px; width: 50%;">{{ old('text', $encart->text) }}</textarea>
|
||||
@include('back.modules.input-error', ['inputName'=>'text'])
|
||||
</div>
|
||||
<?php if(!$encart->page->equals(Page::marque1())) { ?>
|
||||
<div class="form-group">
|
||||
<label for="picture">{{ __('Image') }} <small class="text-muted">- JPEG/PNG, 2Mo max. Dimensions {{ Config::get('bo.encart_image_maxwidth') }} px par {{ Config::get('bo.encart_image_maxheight') }} px</small></label></br>
|
||||
<input type="file" id="picture" name="picture" accept="image/png, image/jpeg">
|
||||
|
|
@ -37,5 +43,6 @@
|
|||
@endif
|
||||
@include('back.modules.input-error', ['inputName'=>'picture'])
|
||||
</div>
|
||||
<?php } ?>
|
||||
</form>
|
||||
@endsection
|
||||
|
|
|
|||
|
|
@ -1,33 +1,25 @@
|
|||
@if ($message = Session::get('success'))
|
||||
<div class="alert alert-success alert-dismissible fade show" role="alert">
|
||||
<strong>{!! nl2br(e($message)) !!}</strong>
|
||||
<button type="button" class="close" data-dismiss="alert" aria-label="{{ __('Fermer') }}">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
<button type="button" class="btn-close" data-dismiss="alert" aria-label="{{ __('Fermer') }}"></button>
|
||||
</div>
|
||||
@endif
|
||||
@if ($message = Session::get('error'))
|
||||
<div class="alert alert-danger alert-dismissible fade show" role="alert">
|
||||
<strong>{!! nl2br(e($message)) !!}</strong>
|
||||
<button type="button" class="close" data-dismiss="alert" aria-label="{{ __('Fermer') }}">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
<button type="button" class="btn-close" data-dismiss="alert" aria-label="{{ __('Fermer') }}"></button>
|
||||
</div>
|
||||
@endif
|
||||
@if ($message = Session::get('warning'))
|
||||
<div class="alert alert-warning alert-dismissible fade show" role="alert">
|
||||
<strong>{!! nl2br(e($message)) !!}</strong>
|
||||
<button type="button" class="close" data-dismiss="alert" aria-label="{{ __('Fermer') }}">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
<button type="button" class="btn-close" data-dismiss="alert" aria-label="{{ __('Fermer') }}"></button>
|
||||
</div>
|
||||
@endif
|
||||
@if ($message = Session::get('info'))
|
||||
<div class="alert alert-info alert-dismissible fade show" role="alert">
|
||||
<strong>{!! nl2br(e($message)) !!}</strong>
|
||||
<button type="button" class="close" data-dismiss="alert" aria-label="{{ __('Fermer') }}">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
<button type="button" class="btn-close" data-dismiss="alert" aria-label="{{ __('Fermer') }}"></button>
|
||||
</div>
|
||||
@endif
|
||||
@if ($errors->any())
|
||||
|
|
@ -39,8 +31,6 @@
|
|||
@endforeach
|
||||
</ul>
|
||||
@endif
|
||||
<button type="button" class="close" data-dismiss="alert" aria-label="{{ __('Fermer') }}">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
<button type="button" class="btn-close" data-dismiss="alert" aria-label="{{ __('Fermer') }}"></button>
|
||||
</div>
|
||||
@endif
|
||||
96
resources/views/back/pictos/edit.blade.php
Normal file
96
resources/views/back/pictos/edit.blade.php
Normal file
|
|
@ -0,0 +1,96 @@
|
|||
@extends('layouts.backend')
|
||||
|
||||
@section('content')
|
||||
<form action="{{route('bo.titles.update', $title->id)}}" method="POST" enctype="multipart/form-data">
|
||||
@method('PUT')
|
||||
@csrf
|
||||
<div class="d-flex">
|
||||
<div class="forms-group">
|
||||
<div class="form-group">
|
||||
<label for="picture">{{ __('Image') }} <small class="text-muted">- JPEG/PNG, 2Mo max. Dimensions {{ Config::get('bo.encart_image_maxwidth') }} px par {{ Config::get('bo.encart_image_maxheight') }} px</small></label></br>
|
||||
<input type="file" id="picture" name="picture" accept="image/png, image/jpeg">
|
||||
@if ($picto->picture !== null)
|
||||
<br />
|
||||
<br />
|
||||
<img src="{{$picto->picture}}" alt="{{$picto->text}}" style="max-height: 100px;">
|
||||
@endif
|
||||
@include('back.modules.input-error', ['inputName'=>'picture'])
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="text">{{ __('Sous-titre') }} *</label>
|
||||
<input type="text" id="text" name="text" class="form-control" placeholder="{{ __('Sous-titre') }} *" value="{{ old('text', $picto->text ?? '') }}" required>
|
||||
@include('back.modules.input-error', ['inputName'=>'text'])
|
||||
</div>
|
||||
</div>
|
||||
<div class="forms-group">
|
||||
<div class="form-group">
|
||||
<label for="picture">{{ __('Image') }} <small class="text-muted">- JPEG/PNG, 2Mo max. Dimensions {{ Config::get('bo.encart_image_maxwidth') }} px par {{ Config::get('bo.encart_image_maxheight') }} px</small></label></br>
|
||||
<input type="file" id="picture" name="picture" accept="image/png, image/jpeg">
|
||||
@if ($picto->picture !== null)
|
||||
<br />
|
||||
<br />
|
||||
<img src="{{$picto->picture}}" alt="{{$picto->text}}" style="max-height: 100px;">
|
||||
@endif
|
||||
@include('back.modules.input-error', ['inputName'=>'picture'])
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="text">{{ __('Sous-titre') }} *</label>
|
||||
<input type="text" id="text" name="text" class="form-control" placeholder="{{ __('Sous-titre') }} *" value="{{ old('text', $picto->text ?? '') }}" required>
|
||||
@include('back.modules.input-error', ['inputName'=>'text'])
|
||||
</div>
|
||||
</div>
|
||||
<div class="forms-group">
|
||||
<div class="form-group">
|
||||
<label for="picture">{{ __('Image') }} <small class="text-muted">- JPEG/PNG, 2Mo max. Dimensions {{ Config::get('bo.encart_image_maxwidth') }} px par {{ Config::get('bo.encart_image_maxheight') }} px</small></label></br>
|
||||
<input type="file" id="picture" name="picture" accept="image/png, image/jpeg">
|
||||
@if ($picto->picture !== null)
|
||||
<br />
|
||||
<br />
|
||||
<img src="{{$picto->picture}}" alt="{{$picto->text}}" style="max-height: 100px;">
|
||||
@endif
|
||||
@include('back.modules.input-error', ['inputName'=>'picture'])
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="text">{{ __('Sous-titre') }} *</label>
|
||||
<input type="text" id="text" name="text" class="form-control" placeholder="{{ __('Sous-titre') }} *" value="{{ old('text', $picto->text ?? '') }}" required>
|
||||
@include('back.modules.input-error', ['inputName'=>'text'])
|
||||
</div>
|
||||
</div>
|
||||
<div class="forms-group">
|
||||
<div class="form-group">
|
||||
<label for="picture">{{ __('Image') }} <small class="text-muted">- JPEG/PNG, 2Mo max. Dimensions {{ Config::get('bo.encart_image_maxwidth') }} px par {{ Config::get('bo.encart_image_maxheight') }} px</small></label></br>
|
||||
<input type="file" id="picture" name="picture" accept="image/png, image/jpeg">
|
||||
@if ($picto->picture !== null)
|
||||
<br />
|
||||
<br />
|
||||
<img src="{{$picto->picture}}" alt="{{$picto->text}}" style="max-height: 100px;">
|
||||
@endif
|
||||
@include('back.modules.input-error', ['inputName'=>'picture'])
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="text">{{ __('Sous-titre') }} *</label>
|
||||
<input type="text" id="text" name="text" class="form-control" placeholder="{{ __('Sous-titre') }} *" value="{{ old('text', $picto->text ?? '') }}" required>
|
||||
@include('back.modules.input-error', ['inputName'=>'text'])
|
||||
</div>
|
||||
</div>
|
||||
<div class="forms-group">
|
||||
<div class="form-group">
|
||||
<label for="picture">{{ __('Image') }} <small class="text-muted">- JPEG/PNG, 2Mo max. Dimensions {{ Config::get('bo.encart_image_maxwidth') }} px par {{ Config::get('bo.encart_image_maxheight') }} px</small></label></br>
|
||||
<input type="file" id="picture" name="picture" accept="image/png, image/jpeg">
|
||||
@if ($picto->picture !== null)
|
||||
<br />
|
||||
<br />
|
||||
<img src="{{$picto->picture}}" alt="{{$picto->text}}" style="max-height: 100px;">
|
||||
@endif
|
||||
@include('back.modules.input-error', ['inputName'=>'picture'])
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="text">{{ __('Sous-titre') }} *</label>
|
||||
<input type="text" id="text" name="text" class="form-control" placeholder="{{ __('Sous-titre') }} *" value="{{ old('text', $picto->text ?? '') }}" required>
|
||||
@include('back.modules.input-error', ['inputName'=>'text'])
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
@endsection
|
||||
29
resources/views/back/titles/edit.blade.php
Normal file
29
resources/views/back/titles/edit.blade.php
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
@extends('layouts.backend')
|
||||
|
||||
@section('content')
|
||||
<form action="{{route('bo.titles.update', $title->id)}}" method="POST" enctype="multipart/form-data">
|
||||
@method('PUT')
|
||||
@csrf
|
||||
<div class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pt-3 pb-2 mb-3 border-bottom">
|
||||
<h1 class="h2"><a href="{{route('bo.home')}}" class="h2 text-decoration-none">
|
||||
< </a> {{ __('Entête') }} <small class="text-muted">{{ __('Edition') }}</small></h1>
|
||||
<div class="btn-toolbar mb-2 mb-md-0">
|
||||
<button type="submit" class="btn btn-sm btn-primary">{{ __('Enregistrer') }}</a>
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
?>
|
||||
<div class="form-group">
|
||||
<label for="title">{{ __('Titre') }} *</label>
|
||||
<input type="text" id="title" name="title" class="form-control" placeholder="{{ __('Titre') }} *" value="{{ old('title', $title->title ?? '') }}" required>
|
||||
@include('back.modules.input-error', ['inputName'=>'title'])
|
||||
</div>
|
||||
<?php if(!$title->page->equals(Page::marque2())) { ?>
|
||||
<div class="form-group">
|
||||
<label for="subtitle">{{ __('Texte') }}</label>
|
||||
<input type="text" id="text" name="text" class="form-control" placeholder="{{ __('Texte') }}" value="{{ old('text', $title->text ?? '') }}">
|
||||
@include('back.modules.input-error', ['inputName'=>'text'])
|
||||
</div>
|
||||
<?php } ?>
|
||||
</form>
|
||||
@endsection
|
||||
|
|
@ -29,10 +29,10 @@
|
|||
<section class="container">
|
||||
<div class="wrapper">
|
||||
<div class="header-title align-center animate__animated fadeInUp animate__slow">
|
||||
<h1 class="align-center"><i class="mascotte"></i>Le groupe , l'entreprise</h1>
|
||||
<h1 class="align-center"><i class="mascotte"></i>{{ $encart_marque1->title}}</h1>
|
||||
</div>
|
||||
<h2 class="align-center">Sous-titre</h2>
|
||||
<p class="align-center">Lorem ip sum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt.</p>
|
||||
<h2 class="align-center">{{ $encart_marque1->subtitle}}</h2>
|
||||
<p class="align-center">{{ $encart_marque1->text}}</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
|
@ -87,8 +87,8 @@
|
|||
|
||||
<section id="values" class="container">
|
||||
<div class="values-content wrapper align-center">
|
||||
<h2 class="sectiontitle animate__animated fadeInUp animate__slow">Nos valeurs</h2>
|
||||
<p>Lorem ip sum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostr</p>
|
||||
<h2 class="sectiontitle animate__animated fadeInUp animate__slow">{{ $title_marque1->title}}</h2>
|
||||
<p>{{ $title_marque1->text}}</p>
|
||||
<ul class="values-list">
|
||||
<li class="item animate__animated fadeInUp animate__slow">
|
||||
<img src="{{ asset('assets/images/plaisir.png') }}" alt="Plaisir">
|
||||
|
|
@ -165,19 +165,17 @@
|
|||
|
||||
<section class="container">
|
||||
<div class="wrapper">
|
||||
<h2 class="sectiontitle align-center has-label-bis desk-mb-80 animate__animated fadeInUp animate__slow">Nos engagements</h2>
|
||||
<h2 class="sectiontitle align-center has-label-bis desk-mb-80 animate__animated fadeInUp animate__slow">{{ $title_marque2->title}}</h2>
|
||||
<div class="is-flex">
|
||||
<div class="w50 smrt-mb-100">
|
||||
<img src="{{ asset('assets/images/blog.jpg') }}" alt="photo" class="animate__animated fadeInLeft animate__slow">
|
||||
<h3 class="color-yellow">Lorem ip sum dolor sit amet</h3>
|
||||
<p class="align-justify">Lorem ip sum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit
|
||||
in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt</p>
|
||||
<img src="{{ asset($encart_marque2->picture) }}" alt="photo" class="animate__animated fadeInLeft animate__slow">
|
||||
<h3 class="color-yellow">{{ $encart_marque2->title}}</h3>
|
||||
<p class="align-justify">{{ $encart_marque2->text}}</p>
|
||||
</div>
|
||||
<div class="w50 smrt-mb-100">
|
||||
<img src="{{ asset('assets/images/blog.jpg') }}" alt="photo" class="animate__animated fadeInLeft animate__slow">
|
||||
<h3 class="color-yellow">Lorem ip sum dolor sit amet</h3>
|
||||
<p class="align-justify">Lorem ip sum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit
|
||||
in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt</p>
|
||||
<img src="{{ asset($encart_marque3->picture) }}" alt="photo" class="animate__animated fadeInLeft animate__slow">
|
||||
<h3 class="color-yellow">{{ $encart_marque3->title}}</h3>
|
||||
<p class="align-justify">{{ $encart_marque3->text}}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mt50 video-wrapper">
|
||||
|
|
@ -188,17 +186,14 @@
|
|||
|
||||
<section class="container">
|
||||
<div class="wrapper">
|
||||
<h2 class="sectiontitle align-center animate__animated fadeInUp animate__slow">Le label</h2>
|
||||
<h2 class="sectiontitle align-center animate__animated fadeInUp animate__slow">{{ $encart_marque4->title}}</h2>
|
||||
<div class="is-flex">
|
||||
<div class="w50 animate__animated fadeInLeft animate__slow">
|
||||
<h3 class="color-yellow">Lorem ip sum dolor sit amet</h3>
|
||||
<p class="align-justify">Lorem ip sum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostr
|
||||
ud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Lorem ip sum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. </p>
|
||||
<p class="align-justify">Lorem ip sum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostr
|
||||
ud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Lorem ip sum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. </p>
|
||||
<h3 class="color-yellow">{{ $encart_marque4->subtitle}}</h3>
|
||||
<p class="align-justify">{{ $encart_marque4->text}}</p>
|
||||
</div>
|
||||
<div class="w50 animate__animated fadeInRight animate__slow">
|
||||
<img src="{{ asset('assets/images/label.jpg') }}" alt="photo">
|
||||
<img src="{{ asset($encart_marque4->picture) }}" alt="photo">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -30,16 +30,17 @@
|
|||
<section class="container">
|
||||
<div class="wrapper">
|
||||
<div class="header-title align-center p-rel">
|
||||
<h1 class="align-center animate__animated fadeInUp animate__slow blue-line"><i class="mascotte"></i>Doux Food Service</h1>
|
||||
<h1 class="align-center animate__animated fadeInUp animate__slow blue-line"><i class="mascotte"></i>{{ $encart_food->title}}</h1>
|
||||
</div>
|
||||
<h2 class="align-center">La marque française des professionnels</h2>
|
||||
<h2 class="align-center">{{ $encart_food->subtitle}}</h2>
|
||||
<div class="is-flex">
|
||||
<div class="w50 animate__animated fadeInLeft animate__slow">
|
||||
<img src="{{ asset('assets/images/prez-img.jpg') }}" alt="photo">
|
||||
<img src="{{ asset($encart_food->picture) }}" alt="photo">
|
||||
</div>
|
||||
<div class="w50">
|
||||
<p class="align-justify animate__animated fadeInRight animate__slow">Entièrement dédiée aux professionnels ; boucheries, restaurations traditionnelles et points chauds, ID HALAL est un acteur majeur sur le marché du halal. La marque bénéficie d’une expertise et d’un savoir-faire uniques qui sont aujourd’hui reconnus sur le marché. Depuis plus de 20 ans, elle a su construire une relation de confiance et de transparence avec ses clients. </p>
|
||||
<p class="align-justify animate__animated fadeInRight animate__slow">Id Halal met à profit quotidiennement ses compétences et son historique dans le domaine du halal, afin de proposer une offre complète de produits savoureux et incontournables adaptés aux professionnels des métiers de bouche pour varier les plaisirs et répondre aux attentes des consommateurs </p>
|
||||
<p class="align-justify animate__animated fadeInRight animate__slow">
|
||||
{{ $encart_food->text}}
|
||||
</p>
|
||||
<a href="{{ route('wasup') }}/#notre-histoire" class="cta">En savoir plus</a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -9,6 +9,10 @@
|
|||
|
||||
<body>
|
||||
<div id="app">
|
||||
<?php
|
||||
// dd($picto_marque[1]->id);
|
||||
// exit;
|
||||
?>
|
||||
@include('layouts.backend.navbar')
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
<div class="sidebar-sticky pt-3 d-flex flex-column justify-content-between align-items-center">
|
||||
<div class="col-12 mt-4">
|
||||
<div class="accordion" id="accordionHome">
|
||||
{{-- PAGE D'ACCUEIL --}}
|
||||
<div class="accordion-item mb-1">
|
||||
<h2 class="accordion-header" id="headingOne">
|
||||
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseOne" aria-expanded="false" aria-controls="collapseOne">
|
||||
|
|
@ -22,13 +23,75 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="accordion-item">
|
||||
{{-- PAGE MARQUE --}}
|
||||
<div class="accordion-item mb-1">
|
||||
<h2 class="accordion-header" id="headingBrand">
|
||||
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseBrand" aria-expanded="false" aria-controls="collapseBrand">
|
||||
{{ __('Page Marque') }}
|
||||
</button>
|
||||
</h2>
|
||||
<div id="collapseBrand" class="accordion-collapse collapse" aria-labelledby="headingBrand">
|
||||
<div class="accordion-body">
|
||||
<div class="mb-3">
|
||||
<h6 class="pb-1 mb-1 text-dark border-bottom">{{ __('ENCART DE PRESENTATION') }}</h6>
|
||||
<a class="nav-link py-0 ms-4" href="{{route('bo.encarts.edit', $encart_marque1->id)}}">{{ __('Contenu') }}</a>
|
||||
{{-- <a class="nav-link py-0 ms-4" href="{{route('bo.pictos.edit', $pictobrand_marque)}}">{{ __('Pictogrammes') }}</a> --}}
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<h6 class="pb-1 mb-1 text-dark border-bottom">{{ __('BLOC 2') }}</h6>
|
||||
<a class="nav-link py-0 ms-4" href="{{route('bo.titles.edit', $title_marque1->id)}}">{{ __('Entête') }}</a>
|
||||
<a class="nav-link py-0 ms-4" href="{{route('bo.pictos.edit', $picto_marque)}}">{{ __('Pictogrammes') }}</a>
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<h6 class="pb-1 mb-1 text-dark border-bottom">{{ __('BLOC 3') }}</h6>
|
||||
{{-- <a class="nav-link py-0 ms-4" href="{{route('bo.titles.edit', $title_marque2->id)}}">{{ __('Entête') }}</a> --}}
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<h6 class="pb-1 mb-1 text-dark border-bottom">{{ __('BLOC 4') }}</h6>
|
||||
<a class="nav-link py-0 ms-4" href="{{route('bo.titles.edit', $title_marque2->id)}}">{{ __('Entête') }}</a>
|
||||
<a class="nav-link py-0 ms-4" href="{{route('bo.encarts.edit', $encart_marque2->id)}}">{{ __('Partie gauche') }}</a>
|
||||
<a class="nav-link py-0 ms-4" href="{{route('bo.encarts.edit', $encart_marque3->id)}}">{{ __('Partie droite') }}</a>
|
||||
</div>
|
||||
<div class="mb-1">
|
||||
<h6 class="pb-1 mb-1 text-dark border-bottom">{{ __('ENCART DE BAS DE PAGE') }}</h6>
|
||||
<a class="nav-link py-0 ms-4" href="{{route('bo.encarts.edit', $encart_marque4->id)}}">{{ __('Contenu') }}</a>
|
||||
{{-- <a class="nav-link py-0 ms-4" href="{{route('bo.pictos.edit', $picto_marque)}}">{{ __('Pictogrammes') }}</a> --}}
|
||||
</div>
|
||||
{{-- <div class="mb-1">
|
||||
<h6 class="pb-1 mb-1 text-dark border-bottom">{{ __('LES AVANTAGES') }}</h6>
|
||||
<a class="nav-link py-0 ms-4" href="{{route('bo.encartargs.edit', $encartarg_food->id)}}">{{ __('Contenu') }}</a>
|
||||
</div> --}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{-- PAGE FOOD SERVICE --}}
|
||||
<div class="accordion-item mb-1">
|
||||
<h2 class="accordion-header" id="headingTwo">
|
||||
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">
|
||||
Accordion Item #2
|
||||
{{ __('Food Service') }}
|
||||
</button>
|
||||
</h2>
|
||||
<div id="collapseTwo" class="accordion-collapse collapse" aria-labelledby="headingTwo">
|
||||
<div class="accordion-body">
|
||||
<div class="mb-3">
|
||||
<h6 class="pb-1 mb-1 text-dark border-bottom">{{ __('ENCART DE PRESENTATION') }}</h6>
|
||||
<a class="nav-link py-0 ms-4" href="{{route('bo.encarts.edit', $encart_food->id)}}">{{ __('Contenu') }}</a>
|
||||
</div>
|
||||
{{-- <div class="mb-1">
|
||||
<h6 class="pb-1 mb-1 text-dark border-bottom">{{ __('LES AVANTAGES') }}</h6>
|
||||
<a class="nav-link py-0 ms-4" href="{{route('bo.encartargs.edit', $encartarg_food->id)}}">{{ __('Contenu') }}</a>
|
||||
</div> --}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="accordion-item">
|
||||
<h2 class="accordion-header" id="headingThree">
|
||||
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseThree" aria-expanded="false" aria-controls="collapseThree">
|
||||
Accordion Item #2
|
||||
</button>
|
||||
</h2>
|
||||
<div id="collapseThree" class="accordion-collapse collapse" aria-labelledby="headingThree">
|
||||
<div class="accordion-body">
|
||||
<strong>This is the second item's accordion body.</strong> It is hidden by default, until the collapse plugin adds the appropriate classes that we use to style each element. These classes control the overall appearance, as well as the showing and hiding via CSS transitions. You can modify any of this with custom CSS or overriding our default variables. It's also worth noting that just about any HTML can go within the <code>.accordion-body</code>, though the transition does limit overflow.
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -13,10 +13,12 @@
|
|||
|
||||
use App\Http\Controllers\Bo\EncartsController;
|
||||
use App\Http\Controllers\Bo\HomeController;
|
||||
use App\Http\Controllers\Bo\PictoBrandsController;
|
||||
use App\Http\Controllers\Bo\PictosController;
|
||||
use App\Http\Controllers\Bo\SlidersController;
|
||||
use App\Http\Controllers\Bo\SlidesController;
|
||||
use App\Http\Controllers\Bo\TitlesController;
|
||||
use App\Http\Controllers\HomeController as ControllersHomeController;
|
||||
use App\Http\Controllers\ContactController as ControllersContactController;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
|
||||
|
|
@ -73,6 +75,15 @@ Route::prefix('bo')
|
|||
Route::resource('encarts', EncartsController::class)
|
||||
->except(['index', 'create', 'store', 'destroy']);
|
||||
|
||||
Route::resource('pictos', PictosController::class)
|
||||
->except(['index', 'create', 'store', 'destroy']);
|
||||
|
||||
Route::resource('pictobrands', PictoBrandsController::class)
|
||||
->except(['index', 'create', 'store', 'destroy']);
|
||||
|
||||
Route::resource('titles', TitlesController::class)
|
||||
->except(['index', 'create', 'store', 'destroy']);
|
||||
|
||||
Route::get(
|
||||
'/slide/change-order/{slide}/{action}',
|
||||
[
|
||||
|
|
@ -92,20 +103,20 @@ Route::view('/les-produits', 'front.products-list')->name('products');
|
|||
Route::view('/les-gammes', 'front.gammes')->name('gammes');
|
||||
Route::view('/les-categories', 'front.categorie')->name('categories');
|
||||
Route::view('/les-actualites', 'front.news')->name('news');
|
||||
Route::get(
|
||||
'/contact',
|
||||
[
|
||||
ControllersContactController::class,
|
||||
'contact'
|
||||
]
|
||||
)->name('contact');
|
||||
Route::post(
|
||||
'/contact',
|
||||
[
|
||||
ControllersContactController::class,
|
||||
'contactSubmit'
|
||||
]
|
||||
)->name('contact.submit');
|
||||
// Route::get(
|
||||
// '/contact',
|
||||
// [
|
||||
// ControllersContactController::class,
|
||||
// 'contact'
|
||||
// ]
|
||||
// )->name('contact');
|
||||
// Route::post(
|
||||
// '/contact',
|
||||
// [
|
||||
// ControllersContactController::class,
|
||||
// 'contactSubmit'
|
||||
// ]
|
||||
// )->name('contact.submit');
|
||||
Route::view('/food-service', 'front.food-service')->name('food');
|
||||
Route::view('/mentions-legales', 'front.legals')->name('cgu');
|
||||
Route::view('/charte-confidentialite', 'front.policy')->name('policy');
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue