fix: 🚨 resolve some phpcs/phpstan errors

This commit is contained in:
Alexis Gousseau 2024-09-13 16:55:27 +02:00
parent 2671feb4ca
commit 2e8a884d1f
21 changed files with 312 additions and 278 deletions

View file

@ -8,15 +8,15 @@ enum GeoType: int
{
use BaseEnum;
case exact = 0;
case commune = 1;
case exact = 0;
case commune = 1;
/**
* Optionnal labels definition.
*
* @phpstan-ignore-next-line
*/
private const LABELS = [
private const ROUTENAMES = [
self::exact->name => trans('Exacte'),
self::commune->name => trans('Code commune'),
];

View file

@ -8,108 +8,107 @@ enum Department: string
{
use BaseEnum;
case ain = '01';
case aisne = '02';
case allier = '03';
case ain = '01';
case aisne = '02';
case allier = '03';
case alpesdehauteprovence = '04';
case hautesalpes = '05';
case alpesmaritimes = '06';
case ardeche = '07';
case ardennes = '08';
case ariege = '09';
case aube = '10';
case aude = '11';
case aveyron = '12';
case bouchesdurhone = '13';
case calvados = '14';
case cantal = '15';
case charente = '16';
case charentemaritime = '17';
case cher = '18';
case correze = '19';
case corsedusud = '2A';
case hautecorse = '2B';
case cotedor = '21';
case cotesdarmor = '22';
case creuse = '23';
case dordogne = '24';
case doubs = '25';
case drome = '26';
case eure = '27';
case eureetloir = '28';
case finistere = '29';
case gard = '30';
case hautegaronne = '31';
case gers = '32';
case gironde = '33';
case herault = '34';
case illeetvilaine = '35';
case indre = '36';
case indreetloire = '37';
case isere = '38';
case jura = '39';
case landes = '40';
case loiretcher = '41';
case loire = '42';
case hauteloire = '43';
case loireatlantique = '44';
case loiret = '45';
case lot = '46';
case lotetgaronne = '47';
case lozere = '48';
case maineetloire = '49';
case manche = '50';
case marne = '51';
case hautemarne = '52';
case mayenne = '53';
case meurtheetmoselle = '54';
case meuse = '55';
case morbihan = '56';
case moselle = '57';
case nievre = '58';
case nord = '59';
case oise = '60';
case orne = '61';
case pasdecalais = '62';
case puydedome = '63';
case pyreneesatlantiques = '64';
case hautespyrenees = '65';
case pyreneesorientales = '66';
case basrhin = '67';
case hautrhin = '68';
case rhone = '69';
case hautesaone = '70';
case saoneetloire = '71';
case sarthe = '72';
case savoie = '73';
case hautesavoie = '74';
case paris = '75';
case seinemaritime = '76';
case seineetmarne = '77';
case yvelines = '78';
case deuxsevres = '79';
case somme = '80';
case tarn = '81';
case tarnetgaronne = '82';
case var = '83';
case vaucluse = '84';
case vendee = '85';
case vienne = '86';
case hautevienne = '87';
case vosges = '88';
case yonne = '89';
case territoiredebelfort = '90';
case essonne = '91';
case hautsdeseine = '92';
case seinesaintdenis = '93';
case valdemarne = '94';
case valdoise = '95';
case guadeloupe = '971';
case martinique = '972';
case guyane = '973';
case lareunion = '974';
case mayotte = '976';
case hautesalpes = '05';
case alpesmaritimes = '06';
case ardeche = '07';
case ardennes = '08';
case ariege = '09';
case aube = '10';
case aude = '11';
case aveyron = '12';
case bouchesdurhone = '13';
case calvados = '14';
case cantal = '15';
case charente = '16';
case charentemaritime = '17';
case cher = '18';
case correze = '19';
case corsedusud = '2A';
case hautecorse = '2B';
case cotedor = '21';
case cotesdarmor = '22';
case creuse = '23';
case dordogne = '24';
case doubs = '25';
case drome = '26';
case eure = '27';
case eureetloir = '28';
case finistere = '29';
case gard = '30';
case hautegaronne = '31';
case gers = '32';
case gironde = '33';
case herault = '34';
case illeetvilaine = '35';
case indre = '36';
case indreetloire = '37';
case isere = '38';
case jura = '39';
case landes = '40';
case loiretcher = '41';
case loire = '42';
case hauteloire = '43';
case loireatlantique = '44';
case loiret = '45';
case lot = '46';
case lotetgaronne = '47';
case lozere = '48';
case maineetloire = '49';
case manche = '50';
case marne = '51';
case hautemarne = '52';
case mayenne = '53';
case meurtheetmoselle = '54';
case meuse = '55';
case morbihan = '56';
case moselle = '57';
case nievre = '58';
case nord = '59';
case oise = '60';
case orne = '61';
case pasdecalais = '62';
case puydedome = '63';
case pyreneesatlantiques = '64';
case hautespyrenees = '65';
case pyreneesorientales = '66';
case basrhin = '67';
case hautrhin = '68';
case rhone = '69';
case hautesaone = '70';
case saoneetloire = '71';
case sarthe = '72';
case savoie = '73';
case hautesavoie = '74';
case paris = '75';
case seinemaritime = '76';
case seineetmarne = '77';
case yvelines = '78';
case deuxsevres = '79';
case somme = '80';
case tarn = '81';
case tarnetgaronne = '82';
case var = '83';
case vaucluse = '84';
case vendee = '85';
case vienne = '86';
case hautevienne = '87';
case vosges = '88';
case yonne = '89';
case territoiredebelfort = '90';
case essonne = '91';
case hautsdeseine = '92';
case seinesaintdenis = '93';
case valdemarne = '94';
case valdoise = '95';
case guadeloupe = '971';
case martinique = '972';
case guyane = '973';
case lareunion = '974';
case mayotte = '976';
/**
* Optionnal labels definition.
@ -117,106 +116,106 @@ enum Department: string
* @phpstan-ignore-next-line
*/
private const LABELS = [
self::ain->name => 'Ain',
self::aisne->name => 'Aisne',
self::allier->name => 'Allier',
self::ain->name => 'Ain',
self::aisne->name => 'Aisne',
self::allier->name => 'Allier',
self::alpesdehauteprovence->name => 'Alpes-de-Haute-Provence',
self::hautesalpes->name => 'Hautes-alpes',
self::alpesmaritimes->name => 'Alpes-maritimes',
self::ardeche->name => 'Ardèche',
self::ardennes->name => 'Ardennes',
self::ariege->name => 'Ariège',
self::aube->name => 'Aube',
self::aude->name => 'Aude',
self::aveyron->name => 'Aveyron',
self::bouchesdurhone->name => 'Bouches-du-Rhône',
self::calvados->name => 'Calvados',
self::cantal->name => 'Cantal',
self::charente->name => 'Charente',
self::charentemaritime->name => 'Charente-maritime',
self::cher->name => 'Cher',
self::correze->name => 'Corrèze',
self::corsedusud->name => 'Corse-du-sud',
self::hautecorse->name => 'Haute-Corse',
self::cotedor->name => 'Côte-d\'Or',
self::cotesdarmor->name => 'Côtes-d\'Armor',
self::creuse->name => 'Creuse',
self::dordogne->name => 'Dordogne',
self::doubs->name => 'Doubs',
self::drome->name => 'Drôme',
self::eure->name => 'Eure',
self::eureetloir->name => 'Eure-et-loir',
self::finistere->name => 'Finistère',
self::gard->name => 'Gard',
self::hautegaronne->name => 'Haute-garonne',
self::gers->name => 'Gers',
self::gironde->name => 'Gironde',
self::herault->name => 'Hérault',
self::illeetvilaine->name => 'Ille-et-vilaine',
self::indre->name => 'Indre',
self::indreetloire->name => 'Indre-et-loire',
self::isere->name => 'Isère',
self::jura->name => 'Jura',
self::landes->name => 'Landes',
self::loiretcher->name => 'Loir-et-cher',
self::loire->name => 'Loire',
self::hauteloire->name => 'Haute-loire',
self::loireatlantique->name => 'Loire-atlantique',
self::loiret->name => 'Loiret',
self::lot->name => 'Lot',
self::lotetgaronne->name => 'Lot-et-garonne',
self::lozere->name => 'Lozère',
self::maineetloire->name => 'Maine-et-loire',
self::manche->name => 'Manche',
self::marne->name => 'Marne',
self::hautemarne->name => 'Haute-marne',
self::mayenne->name => 'Mayenne',
self::meurtheetmoselle->name => 'Meurthe-et-moselle',
self::meuse->name => 'Meuse',
self::morbihan->name => 'Morbihan',
self::moselle->name => 'Moselle',
self::nievre->name => 'Nièvre',
self::nord->name => 'Nord',
self::oise->name => 'Oise',
self::orne->name => 'Orne',
self::pasdecalais->name => 'Pas-de-calais',
self::puydedome->name => 'Puy-de-dôme',
self::pyreneesatlantiques->name => 'Pyrénées-atlantiques',
self::hautespyrenees->name => 'Hautes-Pyrénées',
self::pyreneesorientales->name => 'Pyrénées-orientales',
self::basrhin->name => 'Bas-rhin',
self::hautrhin->name => 'Haut-rhin',
self::rhone->name => 'Rhône',
self::hautesaone->name => 'Haute-saône',
self::saoneetloire->name => 'Saône-et-loire',
self::sarthe->name => 'Sarthe',
self::savoie->name => 'Savoie',
self::hautesavoie->name => 'Haute-savoie',
self::paris->name => 'Paris',
self::seinemaritime->name => 'Seine-maritime',
self::seineetmarne->name => 'Seine-et-marne',
self::yvelines->name => 'Yvelines',
self::deuxsevres->name => 'Deux-sèvres',
self::somme->name => 'Somme',
self::tarn->name => 'Tarn',
self::tarnetgaronne->name => 'Tarn-et-Garonne',
self::var->name => 'Var',
self::vaucluse->name => 'Vaucluse',
self::vendee->name => 'Vendée',
self::vienne->name => 'Vienne',
self::hautevienne->name => 'Haute-vienne',
self::vosges->name => 'Vosges',
self::yonne->name => 'Yonne',
self::territoiredebelfort->name => 'Territoire de belfort',
self::essonne->name => 'Essonne',
self::hautsdeseine->name => 'Hauts-de-seine',
self::seinesaintdenis->name => 'Seine-Saint-Denis',
self::valdemarne->name => 'Val-de-marne',
self::valdoise->name => 'Val-d\'Oise',
self::guadeloupe->name => 'Guadeloupe',
self::martinique->name => 'Martinique',
self::guyane->name => 'Guyane',
self::lareunion->name => 'La réunion',
self::mayotte->name => 'Mayotte'
self::hautesalpes->name => 'Hautes-alpes',
self::alpesmaritimes->name => 'Alpes-maritimes',
self::ardeche->name => 'Ardèche',
self::ardennes->name => 'Ardennes',
self::ariege->name => 'Ariège',
self::aube->name => 'Aube',
self::aude->name => 'Aude',
self::aveyron->name => 'Aveyron',
self::bouchesdurhone->name => 'Bouches-du-Rhône',
self::calvados->name => 'Calvados',
self::cantal->name => 'Cantal',
self::charente->name => 'Charente',
self::charentemaritime->name => 'Charente-maritime',
self::cher->name => 'Cher',
self::correze->name => 'Corrèze',
self::corsedusud->name => 'Corse-du-sud',
self::hautecorse->name => 'Haute-Corse',
self::cotedor->name => 'Côte-d\'Or',
self::cotesdarmor->name => 'Côtes-d\'Armor',
self::creuse->name => 'Creuse',
self::dordogne->name => 'Dordogne',
self::doubs->name => 'Doubs',
self::drome->name => 'Drôme',
self::eure->name => 'Eure',
self::eureetloir->name => 'Eure-et-loir',
self::finistere->name => 'Finistère',
self::gard->name => 'Gard',
self::hautegaronne->name => 'Haute-garonne',
self::gers->name => 'Gers',
self::gironde->name => 'Gironde',
self::herault->name => 'Hérault',
self::illeetvilaine->name => 'Ille-et-vilaine',
self::indre->name => 'Indre',
self::indreetloire->name => 'Indre-et-loire',
self::isere->name => 'Isère',
self::jura->name => 'Jura',
self::landes->name => 'Landes',
self::loiretcher->name => 'Loir-et-cher',
self::loire->name => 'Loire',
self::hauteloire->name => 'Haute-loire',
self::loireatlantique->name => 'Loire-atlantique',
self::loiret->name => 'Loiret',
self::lot->name => 'Lot',
self::lotetgaronne->name => 'Lot-et-garonne',
self::lozere->name => 'Lozère',
self::maineetloire->name => 'Maine-et-loire',
self::manche->name => 'Manche',
self::marne->name => 'Marne',
self::hautemarne->name => 'Haute-marne',
self::mayenne->name => 'Mayenne',
self::meurtheetmoselle->name => 'Meurthe-et-moselle',
self::meuse->name => 'Meuse',
self::morbihan->name => 'Morbihan',
self::moselle->name => 'Moselle',
self::nievre->name => 'Nièvre',
self::nord->name => 'Nord',
self::oise->name => 'Oise',
self::orne->name => 'Orne',
self::pasdecalais->name => 'Pas-de-calais',
self::puydedome->name => 'Puy-de-dôme',
self::pyreneesatlantiques->name => 'Pyrénées-atlantiques',
self::hautespyrenees->name => 'Hautes-Pyrénées',
self::pyreneesorientales->name => 'Pyrénées-orientales',
self::basrhin->name => 'Bas-rhin',
self::hautrhin->name => 'Haut-rhin',
self::rhone->name => 'Rhône',
self::hautesaone->name => 'Haute-saône',
self::saoneetloire->name => 'Saône-et-loire',
self::sarthe->name => 'Sarthe',
self::savoie->name => 'Savoie',
self::hautesavoie->name => 'Haute-savoie',
self::paris->name => 'Paris',
self::seinemaritime->name => 'Seine-maritime',
self::seineetmarne->name => 'Seine-et-marne',
self::yvelines->name => 'Yvelines',
self::deuxsevres->name => 'Deux-sèvres',
self::somme->name => 'Somme',
self::tarn->name => 'Tarn',
self::tarnetgaronne->name => 'Tarn-et-Garonne',
self::var->name => 'Var',
self::vaucluse->name => 'Vaucluse',
self::vendee->name => 'Vendée',
self::vienne->name => 'Vienne',
self::hautevienne->name => 'Haute-vienne',
self::vosges->name => 'Vosges',
self::yonne->name => 'Yonne',
self::territoiredebelfort->name => 'Territoire de belfort',
self::essonne->name => 'Essonne',
self::hautsdeseine->name => 'Hauts-de-seine',
self::seinesaintdenis->name => 'Seine-Saint-Denis',
self::valdemarne->name => 'Val-de-marne',
self::valdoise->name => 'Val-d\'Oise',
self::guadeloupe->name => 'Guadeloupe',
self::martinique->name => 'Martinique',
self::guyane->name => 'Guyane',
self::lareunion->name => 'La réunion',
self::mayotte->name => 'Mayotte'
];
}

View file

@ -11,9 +11,9 @@ enum SettingsType: int
{
use BaseEnum;
case mainMenu = 1;
case hotNews = 2;
case offersCount = 3;
case mainMenu = 1;
case hotNews = 2;
case offersCount = 3;
case breederMapComponent = 4;
/**

View file

@ -55,7 +55,12 @@ enum StaticPageType: int
self::social->name => 'Réseaux sociaux',
];
public static function getBreedingPages()
/**
* Get all breeding pages.
*
* @return array
*/
public static function getBreedingPages(): array
{
return [
self::breedingPoultry,

View file

@ -66,11 +66,11 @@ class GeneralSettingController extends Controller
* Update content for the General Setting with the type 'Hot News'
*
* @param \App\Http\Requests\Bo\GeneralSettings\UpdateGeneralSettingRequest $request
* @param \App\Models\GeneralSetting $general_setting
* @param \App\Models\GeneralSetting $general_setting
*
* @return void
*/
private static function updateHotNews(UpdateGeneralSettingRequest $request, GeneralSetting $general_setting)
private static function updateHotNews(UpdateGeneralSettingRequest $request, GeneralSetting $general_setting): void
{
collect($request->only(['value->text', 'value->picture', 'value->picture_alt', 'value->picture_title']))
->each(fn(string|\Illuminate\Http\UploadedFile|null $value, string $attribute) =>
@ -86,17 +86,19 @@ class GeneralSettingController extends Controller
* Update content for the General Setting with the type 'Breeder Map Component'
*
* @param \App\Http\Requests\Bo\GeneralSettings\UpdateGeneralSettingRequest $request
* @param \App\Models\GeneralSetting $general_setting
* @param \App\Models\GeneralSetting $general_setting
*
* @return void
*/
private static function updateBreederMapComponent(UpdateGeneralSettingRequest $request, GeneralSetting $general_setting)
{
private static function updateBreederMapComponent(
UpdateGeneralSettingRequest $request,
GeneralSetting $general_setting
): void {
collect($request->only(['value->title', 'value->main_text', 'value->picto_text']))
->each(fn(string $value, string $attribute) =>
$general_setting->setAttribute(
$attribute,
$value ?? json_decode(collect($general_setting->value))->picto
));
->each(fn(string|null $value, string $attribute) =>
$general_setting->setAttribute(
$attribute,
$value ?? json_decode(collect($general_setting->value))->picto
));
}
}

View file

@ -29,7 +29,7 @@ class DiscountController extends Controller
/**
* Fetch PDF BR.
*
* @param \App\Http\Requests\Fo\MesBr\PrintCouponsRequest $request
* @param \App\Http\Requests\Club\MesBr\PrintCouponsRequest $request
* @return \Symfony\Component\HttpFoundation\StreamedResponse
*/
public function fetchBrPdf(PrintCouponsRequest $request): \Symfony\Component\HttpFoundation\StreamedResponse
@ -83,7 +83,6 @@ class DiscountController extends Controller
$mesBr = app('mesBrAPI');
// * MaJ Customer
/** @var integer */
retry(3, function () use ($mesBr, $crmCustomer) {
/**
* Parce que MesBr n'est pas fiable il faut retenter pour avoir
@ -91,7 +90,11 @@ class DiscountController extends Controller
*
* Id est necessaire pour update panier..
*/
$result = $mesBr->updateCustomer($crmCustomer->hashcode, $crmCustomer->email, $crmCustomer->country->label());
$result = $mesBr->updateCustomer(
$crmCustomer->hashcode,
$crmCustomer->email,
$crmCustomer->country->label()
);
if (optional($result)->status !== "OK") {
throw new \RuntimeException(
\sprintf(

View file

@ -5,7 +5,6 @@ namespace App\Http\Controllers\Club;
use App\Http\Controllers\Controller;
use App\Models\Discount;
use App\Models\NewsClub;
use Illuminate\Support\Facades\Cache;
class HomeController extends Controller
{

View file

@ -6,7 +6,6 @@ use App\Enums\Settings\SettingsType;
use App\Http\Controllers\Controller;
use App\Models\Breeder;
use App\Models\GeneralSetting;
use App\View\Components\Fo\Breeding\BreederMapText;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Cache;
use Illuminate\Support\Facades\DB;
@ -60,6 +59,7 @@ class BreederController extends Controller
/**
* Get all the breeders in a given department.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\JsonResponse
*/
public function getDepartmentBreeders(Request $request): \Illuminate\Http\JsonResponse

View file

@ -11,6 +11,7 @@ class BreedingController extends Controller
/**
* Display the given breeding page.
*
* @param \App\Models\StaticPage $staticPage
* @return \Illuminate\Contracts\View\View
*/
public function breedingPage(StaticPage $staticPage): \Illuminate\Contracts\View\View
@ -29,6 +30,8 @@ class BreedingController extends Controller
/**
* Display the given breeding article.
*
* @param \App\Models\StaticPage $staticPage
* @param \App\Models\NewsBreeding $newsBreeding
* @return \Illuminate\Contracts\View\View
*/
public function breedingArticle(StaticPage $staticPage, NewsBreeding $newsBreeding): \Illuminate\Contracts\View\View

View file

@ -34,11 +34,17 @@ class UpdateGeneralSettingRequest extends FormRequest
{
/** @var \App\Models\GeneralSetting $generalSettingModel */
$generalSettingModel = $this->route('general_setting');
match ($generalSettingModel->type) {
SettingsType::hotNews => $this->prepareHotNewsDatas(),
SettingsType::breederMapComponent => $this->prepareBreederMapComponentDatas(),
SettingsType::mainMenu => $this->prepareMainMenuDatas()
};
switch ($generalSettingModel->type) {
case SettingsType::hotNews:
$this->prepareHotNewsDatas();
break;
case SettingsType::breederMapComponent:
$this->prepareBreederMapComponentDatas();
break;
case SettingsType::mainMenu:
$this->prepareMainMenuDatas();
break;
}
}
/**
@ -50,11 +56,19 @@ class UpdateGeneralSettingRequest extends FormRequest
{
/** @var \App\Models\GeneralSetting $generalSettingModel */
$generalSettingModel = $this->route('general_setting');
return match ($generalSettingModel->type) {
SettingsType::hotNews => $this->getRulesHotNews(),
SettingsType::breederMapComponent => $this->getRulesBreederMapComponent(),
SettingsType::mainMenu => $this->getRulesMainMenu()
};
$rules = [];
switch ($generalSettingModel->type) {
case SettingsType::hotNews:
$rules = $this->getRulesHotNews();
break;
case SettingsType::breederMapComponent:
$rules = $this->getRulesBreederMapComponent();
break;
case SettingsType::mainMenu:
$rules = $this->getRulesMainMenu();
break;
}
return $rules;
}
/**
@ -100,6 +114,7 @@ class UpdateGeneralSettingRequest extends FormRequest
/**
* Prepare validation for Hot News
*
* @return void
*/
private function prepareHotNewsDatas(): void
@ -115,6 +130,7 @@ class UpdateGeneralSettingRequest extends FormRequest
/**
* Prepare validation for Breeder Map Component
*
* @return void
*/
private function prepareBreederMapComponentDatas(): void
@ -128,6 +144,7 @@ class UpdateGeneralSettingRequest extends FormRequest
/**
* Prepare validation for Breeder Map Component
*
* @return void
*/
private function prepareMainMenuDatas(): void
@ -142,6 +159,7 @@ class UpdateGeneralSettingRequest extends FormRequest
/**
* Get tha array of rules for the Main Menu.
*
* @return array
*/
private function getRulesMainMenu(): array
@ -163,9 +181,9 @@ class UpdateGeneralSettingRequest extends FormRequest
return [
'jsonValue' => 'required|json',
'value' => [
// phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.FoundBeforeLastUsed
'present',
'array',
// phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.FoundBeforeLastUsed
function ($attribute, array $value, $fail) use ($count) {
if ($count > 8) {
$fail(\trans('Maximum 8 liens doivent être présents dans le menu'));
@ -177,9 +195,9 @@ class UpdateGeneralSettingRequest extends FormRequest
'value.*.title' => 'required|string|between:3,100',
'value.*.link.url' => 'nullable|string|url:https',
'value.*.link.routeName' => [
// phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.FoundBeforeLastUsed
'nullable',
'string',
// phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.FoundBeforeLastUsed
function ($attribute, string $value, $fail) use ($routesName) {
if (!in_array($value, $routesName)) {
$fail(\trans('Doît être un lien front existant'));
@ -191,6 +209,7 @@ class UpdateGeneralSettingRequest extends FormRequest
/**
* Get tha array of rules for the Hot News.
*
* @return array
*/
private function getRulesHotNews(): array
@ -208,6 +227,7 @@ class UpdateGeneralSettingRequest extends FormRequest
/**
* Get tha array of rules for the Breeder Map Component.
*
* @return array
*/
private function getRulesBreederMapComponent(): array

View file

@ -50,7 +50,10 @@ class StoreNewsBreedingRequest extends FormRequest
'title' => 'required|string|between:3,255',
'subtitle' => 'required|string|between:3,255',
'content' => ['required', 'string', new WysiwygLength(15, 5000)],
'associated_page' => ['required', Rule::enum(StaticPageType::class)->only(StaticPageType::getBreedingPages())],
'associated_page' => [
'required',
Rule::enum(StaticPageType::class)->only(StaticPageType::getBreedingPages())
],
'picture_alt' => 'required_with:picture|between:3,255',
'picture_title' => 'required_with:picture|between:3,255',
'published' => 'required|boolean',

View file

@ -9,7 +9,6 @@ use App\Traits\Requests\HasPicture;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Support\Facades\Gate;
use Illuminate\Support\Facades\Session;
use Illuminate\Validation\Rule;
use Illuminate\Validation\Rules\Enum;
class StoreNewsClubRequest extends FormRequest

View file

@ -17,6 +17,7 @@ class FetchMesBr implements ShouldQueue
use Queueable;
use SerializesModels;
/** @var mixed */
public $console = null;
/**
@ -33,6 +34,7 @@ class FetchMesBr implements ShouldQueue
/**
* Log.
*
* @param string $message
* @return void
*/
private function log(string $message): void

View file

@ -2,16 +2,16 @@
namespace App\Models;
use App\Enums\Approaches\ApproachTypeEnum;
use App\Enums\Department;
use App\Enums\Breeders\EleveurOcbStatus;
use App\Enums\Breeders\GeoType;
use App\Enums\Breeders\OCBType;
use App\Enums\Breeders\PresentationType;
use App\Enums\Department;
use App\Lib\Helpers\FileStorageHelper;
use App\Traits\Models\ActivityLog;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Str;
/**
* @property array $inuav_codes Array of inuav codes.
@ -32,7 +32,7 @@ use Illuminate\Database\Eloquent\Model;
*/
class Breeder extends Model
{
// use ActivityLog;
use ActivityLog;
use HasFactory;
/**
@ -73,16 +73,16 @@ class Breeder extends Model
* @var array<string, string>
*/
protected $casts = [
'inuav_codes' => 'array',
'approaches' => 'array',
'department' => Department::class,
'is_highlighted' => 'boolean',
'published' => 'boolean',
'display_random' => 'boolean',
'inuav_codes' => 'array',
'approaches' => 'array',
'department' => Department::class,
'is_highlighted' => 'boolean',
'published' => 'boolean',
'display_random' => 'boolean',
'presentation_type' => PresentationType::class,
'ocbStatus' => EleveurOcbStatus::class,
'ocbType' => OCBType::class,
'geo_type' => GeoType::class
'ocbStatus' => EleveurOcbStatus::class,
'ocbType' => OCBType::class,
'geo_type' => GeoType::class
];
/**
@ -118,10 +118,10 @@ class Breeder extends Model
private static function manageFields(self $model): void
{
$model->picture = FileStorageHelper::storeFile($model, $model->picture, true);
/** @var $department \App\Enums\Department */
$department = str($model->postal_code)->startsWith('97') ?
Department::make(str($model->postal_code)->take(3)) :
Department::make(str($model->postal_code)->take(2));
/** @var \App\Enums\Department|null $department */
$department = Str::of(strval($model->postal_code))->startsWith('97') ?
Department::make(Str::of(strval($model->postal_code))->take(3)) :
Department::make(Str::of(strval($model->postal_code))->take(2));
if (!is_null($department)) {
$model->department = $department;
} else {

View file

@ -46,7 +46,6 @@ class Discount extends Model
/**
* Update discounts.
*
* @param self $model
* @return void
*/
public static function updateDiscounts(): void
@ -71,7 +70,7 @@ class Discount extends Model
// Save all new discounts.
foreach (\json_decode(\json_encode($coupons), true) as $coupon) {
$discountModel = new self();
$discountModel = new self();
self::fillModel($discountModel, $coupon);
}
}
@ -85,8 +84,8 @@ class Discount extends Model
*/
private static function fillModel(self $discountModel, array $coupon): void
{
$discountModel->name = $coupon['name'];
$discountModel->desktop_image_available = FileStorageHelper::storeFile(
$discountModel->name = $coupon['name'];
$discountModel->desktop_image_available = FileStorageHelper::storeFile(
$discountModel,
$coupon['desktop_image_available'],
true
@ -96,18 +95,18 @@ class Discount extends Model
$coupon['desktop_image_unavailable'],
true
);
$discountModel->mobile_image_available = FileStorageHelper::storeFile(
$discountModel->mobile_image_available = FileStorageHelper::storeFile(
$discountModel,
$coupon['mobile_image_available'],
true
);
$discountModel->mobile_image_unavailable = FileStorageHelper::storeFile(
$discountModel->mobile_image_unavailable = FileStorageHelper::storeFile(
$discountModel,
$coupon['mobile_image_unavailable'],
true
);
$discountModel->code = $coupon['code'];
$discountModel->value = $coupon['value'];
$discountModel->code = $coupon['code'];
$discountModel->value = $coupon['value'];
$discountModel->saveOrFail();
}

View file

@ -98,7 +98,7 @@ class NewsBreeding extends Model
private static function manageFields(self $model): void
{
self::assertTitleIsUnique($model->title, $model->id ?? null);
$model->slug = Str::slug($model->title);
$model->slug = Str::slug($model->title);
self::makeStatusSense($model);
$model->picture = FileStorageHelper::storeFile($model, $model->picture, true);
}

View file

@ -51,7 +51,6 @@ class NewsCorporate extends Model
'published' => 'boolean',
'publish_at' => 'datetime',
'unpublish_at' => 'datetime',
'published' => 'boolean'
];
/**

View file

@ -2,24 +2,16 @@
namespace App\View\Components\fo\breeding;
use Closure;
use Illuminate\Contracts\View\View;
use Illuminate\View\Component;
class BreedingsLinksCards extends Component
{
/**
* Create a new component instance.
*/
public function __construct()
{
//
}
/**
* Get the view / contents that represent the component.
*
* @return \Illuminate\Contracts\View\View
*/
public function render(): View|Closure|string
public function render(): \Illuminate\Contracts\View\View
{
return view('components.fo.breeding.breedings-links-cards');
}

View file

@ -2,7 +2,6 @@
namespace Database\Factories;
use App\Enums\Approaches\ApproachTypeEnum;
use Illuminate\Database\Eloquent\Factories\Factory;
class BreederFactory extends Factory

View file

@ -132,9 +132,16 @@ Breadcrumbs::for('fo.breeding.show', function (Generator $trail, StaticPage $sta
$trail->parent('fo.breeding.index');
$trail->push(Str::of($staticPage->title)->ucfirst(), route('fo.breeding.show', $staticPage));
});
Breadcrumbs::for('fo.breeding.article.show', function (Generator $trail, StaticPage $staticPage, NewsBreeding $newsBreeding) {
Breadcrumbs::for('fo.breeding.article.show', function (
Generator $trail,
StaticPage $staticPage,
NewsBreeding $newsBreeding
) {
$trail->parent('fo.breeding.show', $staticPage);
$trail->push(Str::of($newsBreeding->title)->ucfirst(), route('fo.breeding.article.show', [$staticPage, $newsBreeding]));
$trail->push(
Str::of($newsBreeding->title)->ucfirst(),
route('fo.breeding.article.show', [$staticPage, $newsBreeding])
);
});
// * NEWS

View file

@ -147,7 +147,10 @@ Route::middleware(['throttle:web'])->name('fo.')->group(function () {
->name('get-count-per-department');
Route::post('/get-department-breeders/{department}', [BreederController::class, 'getDepartmentBreeders'])
->name('get-department-breeders');
Route::post('/get-department-breeders-views/{department}', [BreederController::class, 'getDepartmentBreedersViews'])
Route::post('/get-department-breeders-views/{department}', [
BreederController::class,
'getDepartmentBreedersViews'
])
->name('get-department-breeders-views');
Route::get('/get-manageable-text-component', [BreederController::class, 'getManageableTextComponent'])
->name('get-manageable-text-component');