diff --git a/app/Http/Controllers/Back/BrandController.php b/app/Http/Controllers/Back/BrandController.php index 98875f5..2c7f34e 100644 --- a/app/Http/Controllers/Back/BrandController.php +++ b/app/Http/Controllers/Back/BrandController.php @@ -31,6 +31,7 @@ class BrandController extends BackendController */ public function __construct() { + parent::__construct(); $this->authorizeResource(Brand::class); $this->modelName = Brand::modelName(); $this->modelPage = Brand::modelPage(); @@ -48,7 +49,7 @@ class BrandController extends BackendController /** @var \Illuminate\Database\Eloquent\Builder<\App\Models\Brand> $query */ $query = Brand::query(); - if ($request->routeIs("back.$this->modelName.trash")) { + if ($request->routeIs("{$this->routeName}{$this->modelName}.trash")) { $query = $query->onlyTrashed(); } @@ -123,7 +124,7 @@ class BrandController extends BackendController if ($brand->saveOrFail()) { $brand->sites()->syncWithoutDetaching(Arr::get($validatedData, 'sites')); - return redirect()->route("back.$this->modelName.edit", $brand) + return redirect()->route("{$this->routeName}{$this->modelName}.edit", $brand) ->with('success', trans('uwil-backend::crud.messages.has_been_created', [ 'model' => Str::ucfirst(trans_choice("models.classes.$this->modelName", 1)), ])); @@ -166,12 +167,12 @@ class BrandController extends BackendController if ($brand->saveOrFail()) { $brand->sites()->sync(Arr::get($validatedData, 'sites')); - return redirect()->route("back.$this->modelName.edit", $brand) + return redirect()->route("{$this->routeName}{$this->modelName}.edit", $brand) ->with('success', trans('uwil-backend::crud.messages.has_been_updated', [ 'model' => Str::ucfirst(trans_choice("models.classes.$this->modelName", 1)), ])); } - return redirect()->route("back.$this->modelName.edit", $brand) + return redirect()->route("{$this->routeName}{$this->modelName}.edit", $brand) ->with('error', trans('uwil-backend::crud.messages.cannot_be_updated', [ 'model' => Str::ucfirst(trans_choice("models.classes.$this->modelName", 1)), ])); @@ -205,7 +206,7 @@ class BrandController extends BackendController $previousQueries = []; \parse_str(\parse_url(url()->previous(), \PHP_URL_QUERY), $previousQueries); if ($brand->restore()) { - return redirect()->route("back.$this->modelName.trash", $previousQueries) + return redirect()->route("{$this->routeName}{$this->modelName}.trash", $previousQueries) ->with('success', trans('uwil-backend::crud.messages.has_been_restored', [ 'model' => Str::ucfirst(trans_choice("models.classes.$this->modelName", 1)), ])); @@ -228,7 +229,7 @@ class BrandController extends BackendController $previousQueries = []; \parse_str(\parse_url(url()->previous(), \PHP_URL_QUERY), $previousQueries); if ($brand->delete()) { - return redirect()->route("back.$this->modelName.index", $previousQueries) + return redirect()->route("{$this->routeName}{$this->modelName}.index", $previousQueries) ->with('success', trans('uwil-backend::crud.messages.has_been_deleted', [ 'model' => Str::ucfirst(trans_choice("models.classes.$this->modelName", 1)), ])); @@ -254,7 +255,7 @@ class BrandController extends BackendController $previousQueries = []; \parse_str(\parse_url(url()->previous(), \PHP_URL_QUERY), $previousQueries); if ($brand->forceDelete()) { - return redirect()->route("back.$this->modelName.trash", $previousQueries) + return redirect()->route("{$this->routeName}{$this->modelName}.trash", $previousQueries) ->with('success', trans('uwil-backend::crud.messages.has_been_deleted', [ 'model' => Str::ucfirst(trans_choice("models.classes.$this->modelName", 1)), ])); diff --git a/app/Http/Controllers/Back/GitlabProjectController.php b/app/Http/Controllers/Back/GitlabProjectController.php index 1f071bc..83cf044 100644 --- a/app/Http/Controllers/Back/GitlabProjectController.php +++ b/app/Http/Controllers/Back/GitlabProjectController.php @@ -21,6 +21,7 @@ class GitlabProjectController extends BackendController */ public function __construct() { + parent::__construct(); $this->authorizeResource(GitlabProject::class); $this->modelName = GitlabProject::modelName(); $this->modelPage = GitlabProject::modelPage(); @@ -37,7 +38,7 @@ class GitlabProjectController extends BackendController /** @var \Illuminate\Database\Eloquent\Builder<\App\Models\GitlabProject> $query */ $query = GitlabProject::query(); - if ($request->routeIs("back.$this->modelName.trash")) { + if ($request->routeIs("{$this->routeName}{$this->modelName}.trash")) { $query = $query->onlyTrashed(); } @@ -107,7 +108,7 @@ class GitlabProjectController extends BackendController $gitlab_project->fill($request->validated()); if ($gitlab_project->saveOrFail()) { - return redirect()->route("back.$this->modelName.edit", $gitlab_project) + return redirect()->route("{$this->routeName}{$this->modelName}.edit", $gitlab_project) ->with('success', trans('uwil-backend::crud.messages.has_been_created', [ 'model' => Str::ucfirst(trans_choice("models.classes.$this->modelName", 1)), ])); @@ -147,12 +148,12 @@ class GitlabProjectController extends BackendController $gitlab_project->fill($request->validated()); if ($gitlab_project->saveOrFail()) { - return redirect()->route("back.$this->modelName.edit", $gitlab_project) + return redirect()->route("{$this->routeName}{$this->modelName}.edit", $gitlab_project) ->with('success', trans('uwil-backend::crud.messages.has_been_updated', [ 'model' => Str::ucfirst(trans_choice("models.classes.$this->modelName", 1)), ])); } - return redirect()->route("back.$this->modelName.edit", $gitlab_project) + return redirect()->route("{$this->routeName}{$this->modelName}.edit", $gitlab_project) ->with('error', trans('uwil-backend::crud.messages.cannot_be_updated', [ 'model' => Str::ucfirst(trans_choice("models.classes.$this->modelName", 1)), ])); @@ -186,7 +187,7 @@ class GitlabProjectController extends BackendController $previousQueries = []; \parse_str(\parse_url(url()->previous(), \PHP_URL_QUERY), $previousQueries); if ($gitlab_project->restore()) { - return redirect()->route("back.$this->modelName.trash", $previousQueries) + return redirect()->route("{$this->routeName}{$this->modelName}.trash", $previousQueries) ->with('success', trans('uwil-backend::crud.messages.has_been_restored', [ 'model' => Str::ucfirst(trans_choice("models.classes.$this->modelName", 1)), ])); @@ -209,7 +210,7 @@ class GitlabProjectController extends BackendController $previousQueries = []; \parse_str(\parse_url(url()->previous(), \PHP_URL_QUERY), $previousQueries); if ($gitlab_project->delete()) { - return redirect()->route("back.$this->modelName.index", $previousQueries) + return redirect()->route("{$this->routeName}{$this->modelName}.index", $previousQueries) ->with('success', trans('uwil-backend::crud.messages.has_been_deleted', [ 'model' => Str::ucfirst(trans_choice("models.classes.$this->modelName", 1)), ])); @@ -235,7 +236,7 @@ class GitlabProjectController extends BackendController $previousQueries = []; \parse_str(\parse_url(url()->previous(), \PHP_URL_QUERY), $previousQueries); if ($gitlab_project->forceDelete()) { - return redirect()->route("back.$this->modelName.trash", $previousQueries) + return redirect()->route("{$this->routeName}{$this->modelName}.trash", $previousQueries) ->with('success', trans('uwil-backend::crud.messages.has_been_deleted', [ 'model' => Str::ucfirst(trans_choice("models.classes.$this->modelName", 1)), ])); diff --git a/app/Http/Controllers/Back/InvoiceCompanyController.php b/app/Http/Controllers/Back/InvoiceCompanyController.php index 568fc37..f4471a1 100644 --- a/app/Http/Controllers/Back/InvoiceCompanyController.php +++ b/app/Http/Controllers/Back/InvoiceCompanyController.php @@ -21,6 +21,7 @@ class InvoiceCompanyController extends BackendController */ public function __construct() { + parent::__construct(); $this->authorizeResource(InvoiceCompany::class); $this->modelName = InvoiceCompany::modelName(); $this->modelPage = InvoiceCompany::modelPage(); @@ -37,7 +38,7 @@ class InvoiceCompanyController extends BackendController /** @var \Illuminate\Database\Eloquent\Builder<\App\Models\InvoiceCompany> $query */ $query = InvoiceCompany::query(); - if ($request->routeIs("back.$this->modelName.trash")) { + if ($request->routeIs("{$this->routeName}{$this->modelName}.trash")) { $query = $query->onlyTrashed(); } @@ -107,7 +108,7 @@ class InvoiceCompanyController extends BackendController $invoice_company->fill($request->validated()); if ($invoice_company->saveOrFail()) { - return redirect()->route("back.$this->modelName.edit", $invoice_company) + return redirect()->route("{$this->routeName}{$this->modelName}.edit", $invoice_company) ->with('success', trans('uwil-backend::crud.messages.has_been_created', [ 'model' => Str::ucfirst(trans_choice("models.classes.$this->modelName", 1)), ])); @@ -147,12 +148,12 @@ class InvoiceCompanyController extends BackendController $invoice_company->fill($request->validated()); if ($invoice_company->saveOrFail()) { - return redirect()->route("back.$this->modelName.edit", $invoice_company) + return redirect()->route("{$this->routeName}{$this->modelName}.edit", $invoice_company) ->with('success', trans('uwil-backend::crud.messages.has_been_updated', [ 'model' => Str::ucfirst(trans_choice("models.classes.$this->modelName", 1)), ])); } - return redirect()->route("back.$this->modelName.edit", $invoice_company) + return redirect()->route("{$this->routeName}{$this->modelName}.edit", $invoice_company) ->with('error', trans('uwil-backend::crud.messages.cannot_be_updated', [ 'model' => Str::ucfirst(trans_choice("models.classes.$this->modelName", 1)), ])); @@ -186,7 +187,7 @@ class InvoiceCompanyController extends BackendController $previousQueries = []; \parse_str(\parse_url(url()->previous(), \PHP_URL_QUERY), $previousQueries); if ($invoice_company->restore()) { - return redirect()->route("back.$this->modelName.trash", $previousQueries) + return redirect()->route("{$this->routeName}{$this->modelName}.trash", $previousQueries) ->with('success', trans('uwil-backend::crud.messages.has_been_restored', [ 'model' => Str::ucfirst(trans_choice("models.classes.$this->modelName", 1)), ])); @@ -209,7 +210,7 @@ class InvoiceCompanyController extends BackendController $previousQueries = []; \parse_str(\parse_url(url()->previous(), \PHP_URL_QUERY), $previousQueries); if ($invoice_company->delete()) { - return redirect()->route("back.$this->modelName.index", $previousQueries) + return redirect()->route("{$this->routeName}{$this->modelName}.index", $previousQueries) ->with('success', trans('uwil-backend::crud.messages.has_been_deleted', [ 'model' => Str::ucfirst(trans_choice("models.classes.$this->modelName", 1)), ])); @@ -235,7 +236,7 @@ class InvoiceCompanyController extends BackendController $previousQueries = []; \parse_str(\parse_url(url()->previous(), \PHP_URL_QUERY), $previousQueries); if ($invoice_company->forceDelete()) { - return redirect()->route("back.$this->modelName.trash", $previousQueries) + return redirect()->route("{$this->routeName}{$this->modelName}.trash", $previousQueries) ->with('success', trans('uwil-backend::crud.messages.has_been_deleted', [ 'model' => Str::ucfirst(trans_choice("models.classes.$this->modelName", 1)), ])); diff --git a/app/Http/Controllers/Back/InvoicePackageController.php b/app/Http/Controllers/Back/InvoicePackageController.php index f7cdfb5..f81dfbd 100644 --- a/app/Http/Controllers/Back/InvoicePackageController.php +++ b/app/Http/Controllers/Back/InvoicePackageController.php @@ -21,6 +21,7 @@ class InvoicePackageController extends BackendController */ public function __construct() { + parent::__construct(); $this->authorizeResource(InvoicePackage::class); $this->modelName = InvoicePackage::modelName(); $this->modelPage = InvoicePackage::modelPage(); @@ -37,7 +38,7 @@ class InvoicePackageController extends BackendController /** @var \Illuminate\Database\Eloquent\Builder<\App\Models\InvoicePackage> $query */ $query = InvoicePackage::query(); - if ($request->routeIs("back.$this->modelName.trash")) { + if ($request->routeIs("{$this->routeName}{$this->modelName}.trash")) { $query = $query->onlyTrashed(); } @@ -107,7 +108,7 @@ class InvoicePackageController extends BackendController $invoice_package->fill($request->validated()); if ($invoice_package->saveOrFail()) { - return redirect()->route("back.$this->modelName.edit", $invoice_package) + return redirect()->route("{$this->routeName}{$this->modelName}.edit", $invoice_package) ->with('success', trans('uwil-backend::crud.messages.has_been_created', [ 'model' => Str::ucfirst(trans_choice("models.classes.$this->modelName", 1)), ])); @@ -147,12 +148,12 @@ class InvoicePackageController extends BackendController $invoice_package->fill($request->validated()); if ($invoice_package->saveOrFail()) { - return redirect()->route("back.$this->modelName.edit", $invoice_package) + return redirect()->route("{$this->routeName}{$this->modelName}.edit", $invoice_package) ->with('success', trans('uwil-backend::crud.messages.has_been_updated', [ 'model' => Str::ucfirst(trans_choice("models.classes.$this->modelName", 1)), ])); } - return redirect()->route("back.$this->modelName.edit", $invoice_package) + return redirect()->route("{$this->routeName}{$this->modelName}.edit", $invoice_package) ->with('error', trans('uwil-backend::crud.messages.cannot_be_updated', [ 'model' => Str::ucfirst(trans_choice("models.classes.$this->modelName", 1)), ])); @@ -186,7 +187,7 @@ class InvoicePackageController extends BackendController $previousQueries = []; \parse_str(\parse_url(url()->previous(), \PHP_URL_QUERY), $previousQueries); if ($invoice_package->restore()) { - return redirect()->route("back.$this->modelName.trash", $previousQueries) + return redirect()->route("{$this->routeName}{$this->modelName}.trash", $previousQueries) ->with('success', trans('uwil-backend::crud.messages.has_been_restored', [ 'model' => Str::ucfirst(trans_choice("models.classes.$this->modelName", 1)), ])); @@ -209,7 +210,7 @@ class InvoicePackageController extends BackendController $previousQueries = []; \parse_str(\parse_url(url()->previous(), \PHP_URL_QUERY), $previousQueries); if ($invoice_package->delete()) { - return redirect()->route("back.$this->modelName.index", $previousQueries) + return redirect()->route("{$this->routeName}{$this->modelName}.index", $previousQueries) ->with('success', trans('uwil-backend::crud.messages.has_been_deleted', [ 'model' => Str::ucfirst(trans_choice("models.classes.$this->modelName", 1)), ])); @@ -235,7 +236,7 @@ class InvoicePackageController extends BackendController $previousQueries = []; \parse_str(\parse_url(url()->previous(), \PHP_URL_QUERY), $previousQueries); if ($invoice_package->forceDelete()) { - return redirect()->route("back.$this->modelName.trash", $previousQueries) + return redirect()->route("{$this->routeName}{$this->modelName}.trash", $previousQueries) ->with('success', trans('uwil-backend::crud.messages.has_been_deleted', [ 'model' => Str::ucfirst(trans_choice("models.classes.$this->modelName", 1)), ])); diff --git a/app/Http/Controllers/Back/NoticeController.php b/app/Http/Controllers/Back/NoticeController.php index c7bf2cb..bc99894 100644 --- a/app/Http/Controllers/Back/NoticeController.php +++ b/app/Http/Controllers/Back/NoticeController.php @@ -21,6 +21,7 @@ class NoticeController extends BackendController */ public function __construct() { + parent::__construct(); $this->authorizeResource(Notice::class); $this->modelName = Notice::modelName(); $this->modelPage = Notice::modelPage(); @@ -37,7 +38,7 @@ class NoticeController extends BackendController /** @var \Illuminate\Database\Eloquent\Builder<\App\Models\Notice> $query */ $query = Notice::query(); - if ($request->routeIs("back.$this->modelName.trash")) { + if ($request->routeIs("{$this->routeName}{$this->modelName}.trash")) { $query = $query->onlyTrashed(); } @@ -107,7 +108,7 @@ class NoticeController extends BackendController $notice->fill($request->validated()); if ($notice->saveOrFail()) { - return redirect()->route("back.$this->modelName.edit", $notice) + return redirect()->route("{$this->routeName}{$this->modelName}.edit", $notice) ->with('success', trans('uwil-backend::crud.messages.has_been_created', [ 'model' => Str::ucfirst(trans_choice("models.classes.$this->modelName", 1)), ])); @@ -147,12 +148,12 @@ class NoticeController extends BackendController $notice->fill($request->validated()); if ($notice->saveOrFail()) { - return redirect()->route("back.$this->modelName.edit", $notice) + return redirect()->route("{$this->routeName}{$this->modelName}.edit", $notice) ->with('success', trans('uwil-backend::crud.messages.has_been_updated', [ 'model' => Str::ucfirst(trans_choice("models.classes.$this->modelName", 1)), ])); } - return redirect()->route("back.$this->modelName.edit", $notice) + return redirect()->route("{$this->routeName}{$this->modelName}.edit", $notice) ->with('error', trans('uwil-backend::crud.messages.cannot_be_updated', [ 'model' => Str::ucfirst(trans_choice("models.classes.$this->modelName", 1)), ])); @@ -186,7 +187,7 @@ class NoticeController extends BackendController $previousQueries = []; \parse_str(\parse_url(url()->previous(), \PHP_URL_QUERY), $previousQueries); if ($notice->restore()) { - return redirect()->route("back.$this->modelName.trash", $previousQueries) + return redirect()->route("{$this->routeName}{$this->modelName}.trash", $previousQueries) ->with('success', trans('uwil-backend::crud.messages.has_been_restored', [ 'model' => Str::ucfirst(trans_choice("models.classes.$this->modelName", 1)), ])); @@ -209,7 +210,7 @@ class NoticeController extends BackendController $previousQueries = []; \parse_str(\parse_url(url()->previous(), \PHP_URL_QUERY), $previousQueries); if ($notice->delete()) { - return redirect()->route("back.$this->modelName.index", $previousQueries) + return redirect()->route("{$this->routeName}{$this->modelName}.index", $previousQueries) ->with('success', trans('uwil-backend::crud.messages.has_been_deleted', [ 'model' => Str::ucfirst(trans_choice("models.classes.$this->modelName", 1)), ])); @@ -235,7 +236,7 @@ class NoticeController extends BackendController $previousQueries = []; \parse_str(\parse_url(url()->previous(), \PHP_URL_QUERY), $previousQueries); if ($notice->forceDelete()) { - return redirect()->route("back.$this->modelName.trash", $previousQueries) + return redirect()->route("{$this->routeName}{$this->modelName}.trash", $previousQueries) ->with('success', trans('uwil-backend::crud.messages.has_been_deleted', [ 'model' => Str::ucfirst(trans_choice("models.classes.$this->modelName", 1)), ])); diff --git a/app/Http/Controllers/Back/SiteController.php b/app/Http/Controllers/Back/SiteController.php index 394e6ed..1ea758f 100644 --- a/app/Http/Controllers/Back/SiteController.php +++ b/app/Http/Controllers/Back/SiteController.php @@ -39,6 +39,7 @@ class SiteController extends BackendController */ public function __construct() { + parent::__construct(); $this->authorizeResource(Site::class); $this->modelName = Site::modelName(); $this->modelPage = Site::modelPage(); @@ -73,7 +74,7 @@ class SiteController extends BackendController ) ->with(['projectManager', 'gitlabProject']); - if ($request->routeIs("back.$this->modelName.trash")) { + if ($request->routeIs("{$this->routeName}{$this->modelName}.trash")) { $query = $query->onlyTrashed(); } @@ -153,7 +154,7 @@ class SiteController extends BackendController if ($site->saveOrFail()) { $site->users()->syncWithoutDetaching(Arr::get($validatedData, 'users')); - return redirect()->route("back.$this->modelName.edit", $site) + return redirect()->route("{$this->routeName}{$this->modelName}.edit", $site) ->with('success', trans('uwil-backend::crud.messages.has_been_created', [ 'model' => Str::ucfirst(trans_choice("models.classes.$this->modelName", 1)), ])); @@ -201,12 +202,12 @@ class SiteController extends BackendController if ($site->saveOrFail()) { $site->users()->sync(Arr::get($validatedData, 'users')); - return redirect()->route("back.$this->modelName.edit", $site) + return redirect()->route("{$this->routeName}{$this->modelName}.edit", $site) ->with('success', trans('uwil-backend::crud.messages.has_been_updated', [ 'model' => Str::ucfirst(trans_choice("models.classes.$this->modelName", 1)), ])); } - return redirect()->route("back.$this->modelName.edit", $site) + return redirect()->route("{$this->routeName}{$this->modelName}.edit", $site) ->with('error', trans('uwil-backend::crud.messages.cannot_be_updated', [ 'model' => Str::ucfirst(trans_choice("models.classes.$this->modelName", 1)), ])); @@ -240,7 +241,7 @@ class SiteController extends BackendController $previousQueries = []; \parse_str(\parse_url(url()->previous(), \PHP_URL_QUERY), $previousQueries); if ($site->restore()) { - return redirect()->route("back.$this->modelName.trash", $previousQueries) + return redirect()->route("{$this->routeName}{$this->modelName}.trash", $previousQueries) ->with('success', trans('uwil-backend::crud.messages.has_been_restored', [ 'model' => Str::ucfirst(trans_choice("models.classes.$this->modelName", 1)), ])); @@ -263,7 +264,7 @@ class SiteController extends BackendController $previousQueries = []; \parse_str(\parse_url(url()->previous(), \PHP_URL_QUERY), $previousQueries); if ($site->delete()) { - return redirect()->route("back.$this->modelName.index", $previousQueries) + return redirect()->route("{$this->routeName}{$this->modelName}.index", $previousQueries) ->with('success', trans('uwil-backend::crud.messages.has_been_deleted', [ 'model' => Str::ucfirst(trans_choice("models.classes.$this->modelName", 1)), ])); @@ -289,7 +290,7 @@ class SiteController extends BackendController $previousQueries = []; \parse_str(\parse_url(url()->previous(), \PHP_URL_QUERY), $previousQueries); if ($site->forceDelete()) { - return redirect()->route("back.$this->modelName.trash", $previousQueries) + return redirect()->route("{$this->routeName}{$this->modelName}.trash", $previousQueries) ->with('success', trans('uwil-backend::crud.messages.has_been_deleted', [ 'model' => Str::ucfirst(trans_choice("models.classes.$this->modelName", 1)), ])); diff --git a/app/Mails/Auth/ResetPassword.php b/app/Mails/Auth/ResetPassword.php index b7f748f..075c10f 100644 --- a/app/Mails/Auth/ResetPassword.php +++ b/app/Mails/Auth/ResetPassword.php @@ -52,8 +52,9 @@ class ResetPassword extends Mailable return new Content( markdown: 'back.mails.reset-password', with: [ - 'first_name' => $this->user->first_name, - 'last_name' => $this->user->last_name, + 'firstName' => $this->user->first_name, + 'lastName' => $this->user->last_name, + 'routeLogin' => route(config('uwil-backend.routes.name') . 'login'); ], ); } diff --git a/app/Models/User.php b/app/Models/User.php index b0e1a72..75e8cd9 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -80,7 +80,7 @@ class User extends BackendUser { $url = sprintf( "%s?email=%s", - url(route('back.reset-password', ['token' => $token], false)), + url(route(config('uwil-backend.routes.name') . 'reset-password', ['token' => $token], false)), urlencode($this->getEmailForPasswordReset()) ); diff --git a/lang/fr/auth.php b/lang/fr/auth.php index cabfe61..f510918 100644 --- a/lang/fr/auth.php +++ b/lang/fr/auth.php @@ -24,7 +24,7 @@ return [ "reset_sent" => "Réinitialisation du mot de passe effectué !", "reset_sent_desc" => "Mot de passe mis à jour avec succès. Vous pouvez dès à présent vous connecter avec vos nouveaux identifiants.", - 'email_hello' => 'Bonjour !', + 'email_hello' => 'Bonjour :firstName lastName: !', 'email_get_reset_password' => 'Vous recevez cet e-mail parce que nous avons reçu une demande de réinitialisation du mot de passe de votre compte.', 'email_reset_link_expire' => 'Ce lien expirera dans :count minutes.', diff --git a/resources/ts/back/Components/ApplicationLogo.tsx b/resources/ts/back/Components/ApplicationLogo.tsx index 0661693..948b1a7 100644 --- a/resources/ts/back/Components/ApplicationLogo.tsx +++ b/resources/ts/back/Components/ApplicationLogo.tsx @@ -1,11 +1,12 @@ // * Packages -import { Link } from "@inertiajs/react"; +import { Link, usePage } from "@inertiajs/react"; import { route } from "ziggy-js"; // * Other import { useTheme } from "@/back/providers/ThemeProvider"; import logoUwilSupportLight from "&/images/logos/uwil-support-light.svg"; import logoUwilSupportDark from "&/images/logos/uwil-support-dark.svg"; import logoTinyUwilSupport from "&/images/logos/uwil-support-light-icon.svg"; +import { AppEnv } from "@/types/global"; type ApplicationLogoProps = { forceLight?: boolean; @@ -30,13 +31,14 @@ export default function ApplicationLogo({ forceLight = false, isCollapsed = false, }: ApplicationLogoProps) { + const { routes } = usePage().props.appEnv as AppEnv; const { theme } = useTheme(); const wrapperClasses = isCollapsed ? "h-8" : "w-full max-w-[10rem] mx-auto"; const logo = getLogo(isCollapsed, forceLight, theme); return ( { setIsSending(true); router.post( - route("back.users.send-reset-password-link", model), + route(`${routes.name}users.send-reset-password-link`, model), {}, { onSuccess: () => { diff --git a/resources/ts/back/Components/Inputs/ImageCropper.tsx b/resources/ts/back/Components/Inputs/ImageCropper.tsx index 4afa24b..a8f3799 100644 --- a/resources/ts/back/Components/Inputs/ImageCropper.tsx +++ b/resources/ts/back/Components/Inputs/ImageCropper.tsx @@ -53,6 +53,7 @@ import useTrans from "@/hooks/use-translations"; import str from "@/hooks/use-string"; import useDeviceType from "@/hooks/use-device-type"; import { cn, GetTranslation } from "@/lib/utils"; +import { AppEnv } from "@/types/global"; interface CropValidationRules { width: number; @@ -94,13 +95,14 @@ export default function ImageCropper({ url, finalFileName, }: ImageCropperProps) { + const { routes } = usePage().props.appEnv as AppEnv; const { errors } = usePage().props; const aspect = 1; const { isDesktop } = useDeviceType(); const imgRef = useRef(null); - const isDuplicating = route().current("uwil-backend::back.*.duplicate"); + const isDuplicating = route().current(`${routes.name}*.duplicate`); // Zone of the crop in %. const [cropZone, setCropZone] = useState(); diff --git a/resources/ts/back/Components/Inputs/ModelSelect.tsx b/resources/ts/back/Components/Inputs/ModelSelect.tsx index d778fef..a313865 100644 --- a/resources/ts/back/Components/Inputs/ModelSelect.tsx +++ b/resources/ts/back/Components/Inputs/ModelSelect.tsx @@ -459,7 +459,7 @@ export const ModelSelect = forwardRef( field ?? null, ); - const { locale } = usePage().props.appEnv as AppEnv; + const { locale, routes } = usePage().props.appEnv as AppEnv; /** * Set call ajax. @@ -473,7 +473,7 @@ export const ModelSelect = forwardRef( ?.getAttribute("content") || ""; const response = await axios.post( - route("back.model.list"), + route(`${routes.name}model.list`), { model: targetModel, selectedIds: selectedValues, @@ -1618,7 +1618,8 @@ export const ModelSelect = forwardRef( )} - {(closeButtonVisible || (emptyButtonVisible && selectedValues.length > 0)) && ( + {(closeButtonVisible || + (emptyButtonVisible && selectedValues.length > 0)) && (
{emptyButtonVisible && selectedValues.length > 0 && ( diff --git a/resources/ts/back/Components/Inputs/Wysiwyg/Extensions/Link/LinkButton.tsx b/resources/ts/back/Components/Inputs/Wysiwyg/Extensions/Link/LinkButton.tsx index b2412c0..2db6f12 100644 --- a/resources/ts/back/Components/Inputs/Wysiwyg/Extensions/Link/LinkButton.tsx +++ b/resources/ts/back/Components/Inputs/Wysiwyg/Extensions/Link/LinkButton.tsx @@ -75,7 +75,7 @@ type LinkProps = { export default function LinkButton({ editor, disabled }: LinkProps) { // Current domain of the projet. - const { url } = usePage().props.appEnv as AppEnv; + const { url, routes } = usePage().props.appEnv as AppEnv; // All models from global enum. const enumModelsList = usePage().props.enumModelsList as LaravelEnumWithField; @@ -359,7 +359,7 @@ export default function LinkButton({ editor, disabled }: LinkProps) { setErrors((prev) => ({ ...prev, selectedEntry: "" })); try { // Get the url to access a specific model. - const data = (await fetchOptions("back.wysiwyg.model-access", { + const data = (await fetchOptions(`${routes.name}wysiwyg.model-access`, { selectedEntry: value, modelName: selectedEnum?.name, })) as ModelAccessResponse; @@ -447,7 +447,7 @@ export default function LinkButton({ editor, disabled }: LinkProps) { try { // Retrieve data from decrypted token. const data = (await fetchOptions( - "back.wysiwyg.retrieve-data-from-token", + `${routes.name}wysiwyg.retrieve-data-from-token`, { token: modelToken, }, diff --git a/resources/ts/back/Components/Layout/AppHeader.tsx b/resources/ts/back/Components/Layout/AppHeader.tsx index f26916c..60ea3d0 100644 --- a/resources/ts/back/Components/Layout/AppHeader.tsx +++ b/resources/ts/back/Components/Layout/AppHeader.tsx @@ -17,10 +17,11 @@ import CustomSidebarTrigger from "@/back/Components/CustomSidebarTrigger"; import { Button } from "@/components/ui/button"; import { AuthProp } from "@/back/types/global"; import useTrans from "@/hooks/use-translations"; +import { AppEnv } from "@/types/global"; export default function AppHeader() { - const auth = usePage().props.auth as AuthProp; - const { user } = auth; + const { user } = usePage().props.auth as AuthProp; + const { routes } = usePage().props.appEnv as AppEnv; return (
@@ -43,7 +44,7 @@ export default function AppHeader() { + {route(`${routeName}dashboard.index`) !== "/" && ( + + )}
diff --git a/resources/ts/back/Pages/GitlabProjects/Create.tsx b/resources/ts/back/Pages/GitlabProjects/Create.tsx index 77511d6..f4f9fc7 100644 --- a/resources/ts/back/Pages/GitlabProjects/Create.tsx +++ b/resources/ts/back/Pages/GitlabProjects/Create.tsx @@ -10,6 +10,7 @@ import useTrans from "@/hooks/use-translations"; import { Actions, Methods } from "@/back/lib/enums"; import { AuthProp, SingleResource } from "@/back/types/global"; import { GitlabProjectModel } from "@/back/types/project"; +import { AppEnv } from "@/types/global"; export default function Create({ data, @@ -18,6 +19,7 @@ export default function Create({ data: SingleResource; modelName: string; }) { + const routeName = (usePage().props.appEnv as AppEnv).routes.name; const { viewAny } = (usePage().props.auth as AuthProp).policies .gitlabProjects; const model = data.data as GitlabProjectModel; @@ -25,7 +27,7 @@ export default function Create({ // Translations. const transBackToList = useTrans("uwil-backend::back.crud_back_to_list"); const transTitle = useTrans( - route().current(`back.${modelName}.duplicate`) + route().current(`${routeName}${modelName}.duplicate`) ? "uwil-backend::crud.helpers.duplication_model" : "uwil-backend::crud.helpers.creation_model", { @@ -42,7 +44,7 @@ export default function Create({ viewAny && (
} tooltipContent={

{transBackToList}

} /> diff --git a/resources/ts/back/Pages/GitlabProjects/Edit.tsx b/resources/ts/back/Pages/GitlabProjects/Edit.tsx index f389f7a..ffcb036 100644 --- a/resources/ts/back/Pages/GitlabProjects/Edit.tsx +++ b/resources/ts/back/Pages/GitlabProjects/Edit.tsx @@ -12,6 +12,7 @@ import { Actions, Methods } from "@/back/lib/enums"; import { Views } from "@/back/lib/actions"; import { AuthProp, SingleResource } from "@/back/types/global"; import { GitlabProjectModel } from "@/back/types/project"; +import { AppEnv } from "@/types/global"; export default function Edit({ data, @@ -20,6 +21,7 @@ export default function Edit({ data: SingleResource; modelName: string; }) { + const routeName = (usePage().props.appEnv as AppEnv).routes.name; const { viewAny } = (usePage().props.auth as AuthProp).policies .gitlabProjects; const model = data.data as GitlabProjectModel; @@ -44,7 +46,7 @@ export default function Edit({ viewAny && (
} tooltipContent={

{transBackToList}

} /> diff --git a/resources/ts/back/Pages/GitlabProjects/Index.tsx b/resources/ts/back/Pages/GitlabProjects/Index.tsx index afd8b7d..067c1f7 100644 --- a/resources/ts/back/Pages/GitlabProjects/Index.tsx +++ b/resources/ts/back/Pages/GitlabProjects/Index.tsx @@ -24,6 +24,7 @@ import str from "@/hooks/use-string"; import useTrans from "@/hooks/use-translations"; import RenderTranslationCell from "@/back/Components/Table/RenderTranslationCell"; import { GitlabProjectModel } from "@/back/types/project"; +import { AppEnv } from "@/types/global"; const getColumns = () => { return [ @@ -97,11 +98,13 @@ export default function Index({ searchFields: string; modelName: string; }) { - const { auth } = usePage().props as unknown as { + const { auth, appEnv } = usePage().props as unknown as { auth: AuthProp; + appEnv: AppEnv; }; const { viewAny, viewTrash, create } = auth.policies.gitlabProjects; - const isArchiveRoute = route().current(`back.${modelName}.trash`); + const routeName = appEnv.routes.name; + const isArchiveRoute = route().current(`${routeName}${modelName}.trash`); const actionModels = isArchiveRoute ? [Views.RESTORATION, Views.FORCEDELETION] : [ @@ -131,7 +134,7 @@ export default function Index({ viewAny && (
} tooltipContent={

{transCrudBackList}

} /> @@ -151,7 +154,7 @@ export default function Index({
{viewTrash && ( } tooltipContent={

{transAccessTo}

} variant="outline" @@ -159,7 +162,7 @@ export default function Index({ )} {create && ( } tooltipContent={

{transCrudAddEntry}

} /> diff --git a/resources/ts/back/Pages/GitlabProjects/Show.tsx b/resources/ts/back/Pages/GitlabProjects/Show.tsx index 7e80d49..0b4a4be 100644 --- a/resources/ts/back/Pages/GitlabProjects/Show.tsx +++ b/resources/ts/back/Pages/GitlabProjects/Show.tsx @@ -22,6 +22,7 @@ import useTrans from "@/hooks/use-translations"; import { TranslationField } from "@/back/types/i18n"; import RenderTranslationCell from "@/back/Components/Table/RenderTranslationCell"; import { GitlabProjectModel } from "@/back/types/project"; +import { AppEnv } from "@/types/global"; const getColumns = () => { return [ @@ -101,8 +102,9 @@ export default function Show({ data: SingleResource; modelName: string; }) { - const { auth } = usePage().props as unknown as { + const { auth, appEnv } = usePage().props as unknown as { auth: AuthProp; + appEnv: AppEnv; }; const { viewAny } = auth.policies.gitlabProjects; const model = data.data as GitlabProjectModel; @@ -127,7 +129,7 @@ export default function Show({ viewAny && (
} tooltipContent={

{transCrudBackToList}

} /> diff --git a/resources/ts/back/Pages/InvoiceCompanies/Create.tsx b/resources/ts/back/Pages/InvoiceCompanies/Create.tsx index 7cb4760..e7bf572 100644 --- a/resources/ts/back/Pages/InvoiceCompanies/Create.tsx +++ b/resources/ts/back/Pages/InvoiceCompanies/Create.tsx @@ -10,6 +10,7 @@ import useTrans from "@/hooks/use-translations"; import { Actions, Methods } from "@/back/lib/enums"; import { AuthProp, SingleResource } from "@/back/types/global"; import { InvoiceCompanyModel } from "@/back/types/project"; +import { AppEnv } from "@/types/global"; export default function Create({ data, @@ -18,6 +19,7 @@ export default function Create({ data: SingleResource; modelName: string; }) { + const routeName = (usePage().props.appEnv as AppEnv).routes.name; const { viewAny } = (usePage().props.auth as AuthProp).policies .invoiceCompanies; const model = data.data as InvoiceCompanyModel; @@ -25,7 +27,7 @@ export default function Create({ // Translations. const transBackToList = useTrans("uwil-backend::back.crud_back_to_list"); const transTitle = useTrans( - route().current(`back.${modelName}.duplicate`) + route().current(`${routeName}${modelName}.duplicate`) ? "uwil-backend::crud.helpers.duplication_model" : "uwil-backend::crud.helpers.creation_model", { @@ -42,7 +44,7 @@ export default function Create({ viewAny && (
} tooltipContent={

{transBackToList}

} /> diff --git a/resources/ts/back/Pages/InvoiceCompanies/Edit.tsx b/resources/ts/back/Pages/InvoiceCompanies/Edit.tsx index 9a85712..a2b1a09 100644 --- a/resources/ts/back/Pages/InvoiceCompanies/Edit.tsx +++ b/resources/ts/back/Pages/InvoiceCompanies/Edit.tsx @@ -12,6 +12,7 @@ import { Actions, Methods } from "@/back/lib/enums"; import { Views } from "@/back/lib/actions"; import { AuthProp, SingleResource } from "@/back/types/global"; import { InvoiceCompanyModel } from "@/back/types/project"; +import { AppEnv } from "@/types/global"; export default function Edit({ data, @@ -20,6 +21,7 @@ export default function Edit({ data: SingleResource; modelName: string; }) { + const routeName = (usePage().props.appEnv as AppEnv).routes.name; const { viewAny } = (usePage().props.auth as AuthProp).policies .invoiceCompanies; const model = data.data as InvoiceCompanyModel; @@ -44,7 +46,7 @@ export default function Edit({ viewAny && (
} tooltipContent={

{transBackToList}

} /> diff --git a/resources/ts/back/Pages/InvoiceCompanies/Index.tsx b/resources/ts/back/Pages/InvoiceCompanies/Index.tsx index 88745a9..34daaa4 100644 --- a/resources/ts/back/Pages/InvoiceCompanies/Index.tsx +++ b/resources/ts/back/Pages/InvoiceCompanies/Index.tsx @@ -19,6 +19,7 @@ import str from "@/hooks/use-string"; import useTrans from "@/hooks/use-translations"; import RenderTranslationCell from "@/back/Components/Table/RenderTranslationCell"; import { InvoicePackageModel } from "@/back/types/project"; +import { AppEnv } from "@/types/global"; const getColumns = () => { return [ @@ -66,11 +67,13 @@ export default function Index({ searchFields: string; modelName: string; }) { - const { auth } = usePage().props as unknown as { + const { auth, appEnv } = usePage().props as unknown as { auth: AuthProp; + appEnv: AppEnv; }; const { viewAny, viewTrash, create } = auth.policies.invoiceCompanies; - const isArchiveRoute = route().current(`back.${modelName}.trash`); + const routeName = appEnv.routes.name; + const isArchiveRoute = route().current(`${routeName}${modelName}.trash`); const actionModels = isArchiveRoute ? [Views.RESTORATION, Views.FORCEDELETION] : [ @@ -100,7 +103,7 @@ export default function Index({ viewAny && (
} tooltipContent={

{transCrudBackList}

} /> @@ -120,7 +123,7 @@ export default function Index({
{viewTrash && ( } tooltipContent={

{transAccessTo}

} variant="outline" @@ -128,7 +131,7 @@ export default function Index({ )} {create && ( } tooltipContent={

{transCrudAddEntry}

} /> diff --git a/resources/ts/back/Pages/InvoiceCompanies/Show.tsx b/resources/ts/back/Pages/InvoiceCompanies/Show.tsx index ab8d09a..3a2b5ff 100644 --- a/resources/ts/back/Pages/InvoiceCompanies/Show.tsx +++ b/resources/ts/back/Pages/InvoiceCompanies/Show.tsx @@ -17,6 +17,7 @@ import str from "@/hooks/use-string"; import useTrans from "@/hooks/use-translations"; import { TranslationField } from "@/back/types/i18n"; import { InvoiceCompanyModel } from "@/back/types/project"; +import { AppEnv } from "@/types/global"; const getColumns = () => { return [ @@ -70,8 +71,9 @@ export default function Show({ data: SingleResource; modelName: string; }) { - const { auth } = usePage().props as unknown as { + const { auth, appEnv } = usePage().props as unknown as { auth: AuthProp; + appEnv: AppEnv; }; const { viewAny } = auth.policies.invoiceCompanies; const model = data.data as InvoiceCompanyModel; @@ -96,7 +98,7 @@ export default function Show({ viewAny && (
} tooltipContent={

{transCrudBackToList}

} /> diff --git a/resources/ts/back/Pages/InvoicePackages/Create.tsx b/resources/ts/back/Pages/InvoicePackages/Create.tsx index 9a712ee..c0a0850 100644 --- a/resources/ts/back/Pages/InvoicePackages/Create.tsx +++ b/resources/ts/back/Pages/InvoicePackages/Create.tsx @@ -10,6 +10,7 @@ import useTrans from "@/hooks/use-translations"; import { Actions, Methods } from "@/back/lib/enums"; import { AuthProp, SingleResource } from "@/back/types/global"; import { InvoicePackageModel } from "@/back/types/project"; +import { AppEnv } from "@/types/global"; export default function Create({ data, @@ -18,6 +19,7 @@ export default function Create({ data: SingleResource; modelName: string; }) { + const routeName = (usePage().props.appEnv as AppEnv).routes.name; const { viewAny } = (usePage().props.auth as AuthProp).policies .invoicePackages; const model = data.data as InvoicePackageModel; @@ -25,7 +27,7 @@ export default function Create({ // Translations. const transBackToList = useTrans("uwil-backend::back.crud_back_to_list"); const transTitle = useTrans( - route().current(`back.${modelName}.duplicate`) + route().current(`${routeName}${modelName}.duplicate`) ? "uwil-backend::crud.helpers.duplication_model" : "uwil-backend::crud.helpers.creation_model", { @@ -42,7 +44,7 @@ export default function Create({ viewAny && (
} tooltipContent={

{transBackToList}

} /> diff --git a/resources/ts/back/Pages/InvoicePackages/Edit.tsx b/resources/ts/back/Pages/InvoicePackages/Edit.tsx index e6636e6..7e88c91 100644 --- a/resources/ts/back/Pages/InvoicePackages/Edit.tsx +++ b/resources/ts/back/Pages/InvoicePackages/Edit.tsx @@ -12,6 +12,7 @@ import { Actions, Methods } from "@/back/lib/enums"; import { Views } from "@/back/lib/actions"; import { AuthProp, SingleResource } from "@/back/types/global"; import { InvoicePackageModel } from "@/back/types/project"; +import { AppEnv } from "@/types/global"; export default function Edit({ data, @@ -20,6 +21,7 @@ export default function Edit({ data: SingleResource; modelName: string; }) { + const routeName = (usePage().props.appEnv as AppEnv).routes.name; const { viewAny } = (usePage().props.auth as AuthProp).policies .invoicePackages; const model = data.data as InvoicePackageModel; @@ -44,7 +46,7 @@ export default function Edit({ viewAny && (
} tooltipContent={

{transBackToList}

} /> diff --git a/resources/ts/back/Pages/InvoicePackages/Index.tsx b/resources/ts/back/Pages/InvoicePackages/Index.tsx index dee02a5..c698bf3 100644 --- a/resources/ts/back/Pages/InvoicePackages/Index.tsx +++ b/resources/ts/back/Pages/InvoicePackages/Index.tsx @@ -25,6 +25,7 @@ import { AuthProp, Resource } from "@/back/types/global"; import str from "@/hooks/use-string"; import useTrans from "@/hooks/use-translations"; import { InvoicePackageModel } from "@/back/types/project"; +import { AppEnv } from "@/types/global"; const getColumns = () => { return [ @@ -123,11 +124,13 @@ export default function Index({ searchFields: string; modelName: string; }) { - const { auth } = usePage().props as unknown as { + const { auth, appEnv } = usePage().props as unknown as { auth: AuthProp; + appEnv: AppEnv; }; const { viewAny, viewTrash, create } = auth.policies.invoicePackages; - const isArchiveRoute = route().current(`back.${modelName}.trash`); + const routeName = appEnv.routes.name; + const isArchiveRoute = route().current(`${routeName}${modelName}.trash`); const actionModels = isArchiveRoute ? [Views.RESTORATION, Views.FORCEDELETION] : [ @@ -157,7 +160,7 @@ export default function Index({ viewAny && (
} tooltipContent={

{transCrudBackList}

} /> @@ -177,7 +180,7 @@ export default function Index({
{viewTrash && ( } tooltipContent={

{transAccessTo}

} variant="outline" @@ -185,7 +188,7 @@ export default function Index({ )} {create && ( } tooltipContent={

{transCrudAddEntry}

} /> diff --git a/resources/ts/back/Pages/InvoicePackages/Show.tsx b/resources/ts/back/Pages/InvoicePackages/Show.tsx index aaa3e7a..fa45d22 100644 --- a/resources/ts/back/Pages/InvoicePackages/Show.tsx +++ b/resources/ts/back/Pages/InvoicePackages/Show.tsx @@ -17,6 +17,7 @@ import str from "@/hooks/use-string"; import useTrans from "@/hooks/use-translations"; import { TranslationField } from "@/back/types/i18n"; import { InvoicePackageModel } from "@/back/types/project"; +import { AppEnv } from "@/types/global"; const getColumns = () => { return [ @@ -104,8 +105,9 @@ export default function Show({ data: SingleResource; modelName: string; }) { - const { auth } = usePage().props as unknown as { + const { auth, appEnv } = usePage().props as unknown as { auth: AuthProp; + appEnv: AppEnv; }; const { viewAny } = auth.policies.invoicePackages; const model = data.data as InvoicePackageModel; @@ -130,7 +132,7 @@ export default function Show({ viewAny && (
} tooltipContent={

{transCrudBackToList}

} /> diff --git a/resources/ts/back/Pages/Notices/Create.tsx b/resources/ts/back/Pages/Notices/Create.tsx index 1aa4e95..4af78dd 100644 --- a/resources/ts/back/Pages/Notices/Create.tsx +++ b/resources/ts/back/Pages/Notices/Create.tsx @@ -10,6 +10,7 @@ import useTrans from "@/hooks/use-translations"; import { Actions, Methods } from "@/back/lib/enums"; import { AuthProp, SingleResource } from "@/back/types/global"; import { NoticeModel } from "@/back/types/project"; +import { AppEnv } from "@/types/global"; export default function Create({ data, @@ -18,13 +19,14 @@ export default function Create({ data: SingleResource; modelName: string; }) { + const routeName = (usePage().props.appEnv as AppEnv).routes.name; const { viewAny } = (usePage().props.auth as AuthProp).policies.notices; const model = data.data as NoticeModel; // Translations. const transBackToList = useTrans("uwil-backend::back.crud_back_to_list"); const transTitle = useTrans( - route().current(`back.${modelName}.duplicate`) + route().current(`${routeName}${modelName}.duplicate`) ? "uwil-backend::crud.helpers.duplication_model" : "uwil-backend::crud.helpers.creation_model", { @@ -41,7 +43,7 @@ export default function Create({ viewAny && (
} tooltipContent={

{transBackToList}

} /> diff --git a/resources/ts/back/Pages/Notices/Edit.tsx b/resources/ts/back/Pages/Notices/Edit.tsx index f16cf1e..5d81679 100644 --- a/resources/ts/back/Pages/Notices/Edit.tsx +++ b/resources/ts/back/Pages/Notices/Edit.tsx @@ -12,6 +12,7 @@ import { Actions, Methods } from "@/back/lib/enums"; import { Views } from "@/back/lib/actions"; import { AuthProp, SingleResource } from "@/back/types/global"; import { NoticeModel } from "@/back/types/project"; +import { AppEnv } from "@/types/global"; export default function Edit({ data, @@ -20,6 +21,7 @@ export default function Edit({ data: SingleResource; modelName: string; }) { + const routeName = (usePage().props.appEnv as AppEnv).routes.name; const { viewAny } = (usePage().props.auth as AuthProp).policies.notices; const model = data.data as NoticeModel; const actionModels = [ @@ -43,7 +45,7 @@ export default function Edit({ viewAny && (
} tooltipContent={

{transBackToList}

} /> diff --git a/resources/ts/back/Pages/Notices/Index.tsx b/resources/ts/back/Pages/Notices/Index.tsx index 9b976c4..7e8dd4f 100644 --- a/resources/ts/back/Pages/Notices/Index.tsx +++ b/resources/ts/back/Pages/Notices/Index.tsx @@ -19,7 +19,7 @@ import str from "@/hooks/use-string"; import useTrans from "@/hooks/use-translations"; import RenderTranslationCell from "@/back/Components/Table/RenderTranslationCell"; import { NoticeModel } from "@/back/types/project"; -import { LaravelEnum } from "@/types/global"; +import { AppEnv, LaravelEnum } from "@/types/global"; const getColumns = (noticeTypeEnum: LaravelEnum) => { return [ @@ -105,12 +105,14 @@ export default function Index({ searchFields: string; modelName: string; }) { - const { auth, noticeTypeEnum } = usePage().props as unknown as { + const { auth, appEnv, noticeTypeEnum } = usePage().props as unknown as { auth: AuthProp; + appEnv: AppEnv; noticeTypeEnum: LaravelEnum; }; const { viewAny, viewTrash, create } = auth.policies.notices; - const isArchiveRoute = route().current(`back.${modelName}.trash`); + const routeName = appEnv.routes.name; + const isArchiveRoute = route().current(`${routeName}${modelName}.trash`); const actionModels = isArchiveRoute ? [Views.RESTORATION, Views.FORCEDELETION] : [ @@ -140,7 +142,7 @@ export default function Index({ viewAny && (
} tooltipContent={

{transCrudBackList}

} /> @@ -160,7 +162,7 @@ export default function Index({
{viewTrash && ( } tooltipContent={

{transAccessTo}

} variant="outline" @@ -168,7 +170,7 @@ export default function Index({ )} {create && ( } tooltipContent={

{transCrudAddEntry}

} /> diff --git a/resources/ts/back/Pages/Notices/Show.tsx b/resources/ts/back/Pages/Notices/Show.tsx index 0cb682c..fcdff8d 100644 --- a/resources/ts/back/Pages/Notices/Show.tsx +++ b/resources/ts/back/Pages/Notices/Show.tsx @@ -14,7 +14,7 @@ import { Views } from "@/back/lib/actions"; import { AuthProp, SingleResource } from "@/back/types/global"; import str from "@/hooks/use-string"; import useTrans from "@/hooks/use-translations"; -import { LaravelEnum } from "@/types/global"; +import { AppEnv, LaravelEnum } from "@/types/global"; import { TranslationField } from "@/back/types/i18n"; import RenderTranslationCell from "@/back/Components/Table/RenderTranslationCell"; import { NoticeModel } from "@/back/types/project"; @@ -96,8 +96,9 @@ export default function Show({ data: SingleResource; modelName: string; }) { - const { auth, noticeTypeEnum } = usePage().props as unknown as { + const { auth, appEnv, noticeTypeEnum } = usePage().props as unknown as { auth: AuthProp; + appEnv: AppEnv; noticeTypeEnum: LaravelEnum; }; const { viewAny } = auth.policies.notices; @@ -123,7 +124,7 @@ export default function Show({ viewAny && (
} tooltipContent={

{transCrudBackToList}

} /> diff --git a/resources/ts/back/Pages/Sites/Create.tsx b/resources/ts/back/Pages/Sites/Create.tsx index 5a2c168..94b9701 100644 --- a/resources/ts/back/Pages/Sites/Create.tsx +++ b/resources/ts/back/Pages/Sites/Create.tsx @@ -10,6 +10,7 @@ import useTrans from "@/hooks/use-translations"; import { Actions, Methods } from "@/back/lib/enums"; import { AuthProp, SingleResource } from "@/back/types/global"; import { SiteModel } from "@/back/types/project"; +import { AppEnv } from "@/types/global"; export default function Create({ data, @@ -18,13 +19,14 @@ export default function Create({ data: SingleResource; modelName: string; }) { + const routeName = (usePage().props.appEnv as AppEnv).routes.name; const { viewAny } = (usePage().props.auth as AuthProp).policies.sites; const model = data.data as SiteModel; // Translations. const transBackToList = useTrans("uwil-backend::back.crud_back_to_list"); const transTitle = useTrans( - route().current(`back.${modelName}.duplicate`) + route().current(`${routeName}${modelName}.duplicate`) ? "uwil-backend::crud.helpers.duplication_model" : "uwil-backend::crud.helpers.creation_model", { @@ -41,7 +43,7 @@ export default function Create({ viewAny && (
} tooltipContent={

{transBackToList}

} /> diff --git a/resources/ts/back/Pages/Sites/Edit.tsx b/resources/ts/back/Pages/Sites/Edit.tsx index 8b066d6..79dbd66 100644 --- a/resources/ts/back/Pages/Sites/Edit.tsx +++ b/resources/ts/back/Pages/Sites/Edit.tsx @@ -12,6 +12,7 @@ import { Actions, Methods } from "@/back/lib/enums"; import Views from "@/back/lib/actions"; import { AuthProp, SingleResource } from "@/back/types/global"; import { SiteModel } from "@/back/types/project"; +import { AppEnv } from "@/types/global"; export default function Edit({ data, @@ -20,6 +21,7 @@ export default function Edit({ data: SingleResource; modelName: string; }) { + const routeName = (usePage().props.appEnv as AppEnv).routes.name; const { viewAny } = (usePage().props.auth as AuthProp).policies.sites; const model = data.data as SiteModel; const actionModels = [ @@ -43,7 +45,7 @@ export default function Edit({ viewAny && (
} tooltipContent={

{transBackToList}

} /> diff --git a/resources/ts/back/Pages/Sites/Index.tsx b/resources/ts/back/Pages/Sites/Index.tsx index 565546b..a641113 100644 --- a/resources/ts/back/Pages/Sites/Index.tsx +++ b/resources/ts/back/Pages/Sites/Index.tsx @@ -30,8 +30,9 @@ import str from "@/hooks/use-string"; import useTrans from "@/hooks/use-translations"; import { SiteModel } from "@/back/types/project"; import RenderTranslationCell from "@/back/Components/Table/RenderTranslationCell"; +import { AppEnv } from "@/types/global"; -const getColumns = (viewAnyUsers: boolean) => { +const getColumns = (routeName: string, viewAnyUsers: boolean) => { return [ { accessorKey: "name", @@ -154,7 +155,7 @@ const getColumns = (viewAnyUsers: boolean) => { if (viewAnyUsers && userModel.deleted_at === null) { value = ( @@ -220,12 +221,14 @@ export default function Index({ searchFields: string; modelName: string; }) { - const { auth } = usePage().props as unknown as { + const { auth, appEnv } = usePage().props as unknown as { auth: AuthProp; + appEnv: AppEnv; }; const { viewAny, viewTrash, create } = auth.policies.sites; const { viewAny: viewAnyUsers } = auth.policies.users; - const isArchiveRoute = route().current(`back.${modelName}.trash`); + const routeName = appEnv.routes.name; + const isArchiveRoute = route().current(`${routeName}${modelName}.trash`); const actionModels = isArchiveRoute ? [Views.RESTORATION, Views.FORCEDELETION] : [ @@ -234,7 +237,7 @@ export default function Index({ Views.DUPLICATION, Views.ARCHIVATION, ]; - const columns = getColumns(viewAnyUsers); + const columns = getColumns(routeName, viewAnyUsers); // Translations. const transModel = useTrans(`models.classes.${modelName}`, { choice: 2 }); @@ -255,7 +258,7 @@ export default function Index({ viewAny && (
} tooltipContent={

{transCrudBackList}

} /> @@ -275,7 +278,7 @@ export default function Index({
{viewTrash && ( } tooltipContent={

{transAccessTo}

} variant="outline" @@ -283,7 +286,7 @@ export default function Index({ )} {create && ( } tooltipContent={

{transCrudAddEntry}

} /> diff --git a/resources/ts/back/Pages/Sites/Show.tsx b/resources/ts/back/Pages/Sites/Show.tsx index 5bcd0e6..13e3b5a 100644 --- a/resources/ts/back/Pages/Sites/Show.tsx +++ b/resources/ts/back/Pages/Sites/Show.tsx @@ -139,7 +139,7 @@ const getColumns = ( if (viewAnyUsers && value.deleted_at === null) { content = ( @@ -219,7 +219,7 @@ const getColumns = ( if (viewAnyUsers && value.deleted_at === null) { content = ( @@ -307,7 +307,7 @@ const getColumns = ( if (viewAnyUsers && userModel.deleted_at === null) { content = ( @@ -432,7 +432,7 @@ export default function Show({ viewAny && (
} tooltipContent={

{transCrudBackToList}

} /> diff --git a/resources/ts/back/Pages/Users/Create.tsx b/resources/ts/back/Pages/Users/Create.tsx index 8618087..1177b79 100644 --- a/resources/ts/back/Pages/Users/Create.tsx +++ b/resources/ts/back/Pages/Users/Create.tsx @@ -9,6 +9,7 @@ import Form from "@/back/Pages/Users/Form"; import useTrans from "@/hooks/use-translations"; import { Actions, Methods } from "@/back/lib/enums"; import { AuthProp, SingleResource, UserModel } from "@/back/types/global"; +import { AppEnv } from "@/types/global"; export default function Create({ data, @@ -17,13 +18,14 @@ export default function Create({ data: SingleResource; modelName: string; }) { + const routeName = (usePage().props.appEnv as AppEnv).routes.name; const { viewAny } = (usePage().props.auth as AuthProp).policies.users; const model = data.data as UserModel; // Translations. const transBackToList = useTrans("uwil-backend::back.crud_back_to_list"); const transTitle = useTrans( - route().current(`back.${modelName}.duplicate`) + route().current(`${routeName}${modelName}.duplicate`) ? "uwil-backend::crud.helpers.duplication_model" : "uwil-backend::crud.helpers.creation_model", { @@ -40,7 +42,7 @@ export default function Create({ viewAny && (
} tooltipContent={

{transBackToList}

} /> diff --git a/resources/ts/back/Pages/Users/Edit.tsx b/resources/ts/back/Pages/Users/Edit.tsx index 3726884..b7043cb 100644 --- a/resources/ts/back/Pages/Users/Edit.tsx +++ b/resources/ts/back/Pages/Users/Edit.tsx @@ -12,6 +12,7 @@ import useTrans from "@/hooks/use-translations"; import { Actions, Methods } from "@/back/lib/enums"; import Views from "@/back/lib/actions"; import { AuthProp, SingleResource, UserModel } from "@/back/types/global"; +import { AppEnv } from "@/types/global"; export default function Edit({ data, @@ -20,6 +21,7 @@ export default function Edit({ data: SingleResource; modelName: string; }) { + const routeName = (usePage().props.appEnv as AppEnv).routes.name; const { viewAny } = (usePage().props.auth as AuthProp).policies.users; const model = data.data as UserModel; const actionModels = [ @@ -43,7 +45,7 @@ export default function Edit({ viewAny && (
} tooltipContent={

{transBackToList}

} /> diff --git a/resources/ts/back/Pages/Users/Index.tsx b/resources/ts/back/Pages/Users/Index.tsx index 4f81499..add034c 100644 --- a/resources/ts/back/Pages/Users/Index.tsx +++ b/resources/ts/back/Pages/Users/Index.tsx @@ -24,6 +24,7 @@ import { GetFormatedDate, GetTranslation } from "@/lib/utils"; import { AuthProp, Resource, UserModel } from "@/back/types/global"; import str from "@/hooks/use-string"; import useTrans from "@/hooks/use-translations"; +import { AppEnv } from "@/types/global"; const getColumns = () => { return [ @@ -166,11 +167,15 @@ export default function Index({ searchFields: string; modelName: string; }) { - const { auth } = usePage().props as unknown as { + const { auth, appEnv } = usePage().props as unknown as { auth: AuthProp; + appEnv: AppEnv; }; const { viewAny, viewTrash, create } = auth.policies.users; - const isArchiveRoute = route().current(`back.${modelName}.trash`); + const routeName = appEnv.routes.name; + const isArchiveRoute = route().current( + `${routeName}${modelName}.trash`, + ); const actionModels = isArchiveRoute ? [Views.RESTORATION, Views.FORCEDELETION] : [ @@ -208,7 +213,7 @@ export default function Index({ viewAny && (
} tooltipContent={

{transCrudBackList}

} /> @@ -223,7 +228,7 @@ export default function Index({
{viewTrash && ( } tooltipContent={

{transAccessTo}

} variant="outline" @@ -231,7 +236,7 @@ export default function Index({ )} {create && ( } tooltipContent={

{transCrudAddEntry}

} /> diff --git a/resources/ts/back/Pages/Users/Show.tsx b/resources/ts/back/Pages/Users/Show.tsx index 84f36db..399e51d 100644 --- a/resources/ts/back/Pages/Users/Show.tsx +++ b/resources/ts/back/Pages/Users/Show.tsx @@ -136,7 +136,7 @@ const getColumns = ( if (viewAnySites && siteModel.deleted_at === null) { content = ( @@ -291,7 +291,7 @@ export default function Show({ viewAny && (
} tooltipContent={

{transCrudBackToList}

} /> diff --git a/resources/ts/back/hooks/use-crud-submit.tsx b/resources/ts/back/hooks/use-crud-submit.tsx index a37f283..d1e1b16 100644 --- a/resources/ts/back/hooks/use-crud-submit.tsx +++ b/resources/ts/back/hooks/use-crud-submit.tsx @@ -34,7 +34,7 @@ export default function useCrudSubmit({ data, modelNameTrans, }: UseCrudSubmitParams) { - const { locale } = usePage().props.appEnv as AppEnv; + const { locale, routes } = usePage().props.appEnv as AppEnv; /** Set messages success/errors */ const messages = useCrudMessages({ method, modelNameTrans }); const { toast } = useToast(); @@ -51,7 +51,7 @@ export default function useCrudSubmit({ // eslint-disable-next-line no-param-reassign data.locale = locale; - const routeUrl = route(`back.${modelRoute}.${action}`, model?.id); + const routeUrl = route(`${routes.name}${modelRoute}.${action}`, model?.id); post(routeUrl, { preserveScroll: true, onSuccess: () => { diff --git a/resources/ts/back/lib/filters.tsx b/resources/ts/back/lib/filters.tsx index af57103..983c0e5 100644 --- a/resources/ts/back/lib/filters.tsx +++ b/resources/ts/back/lib/filters.tsx @@ -1,5 +1,6 @@ // * Packages -import { router } from "@inertiajs/react"; +import { AppEnv } from "@/types/global"; +import { router, usePage } from "@inertiajs/react"; import { route } from "ziggy-js"; type RouterFiltersProps = { @@ -11,8 +12,9 @@ type RouterFiltersProps = { }; export default function addFilterToUrl(props: RouterFiltersProps) { const { modelName, params, isArchiveRoute = false } = props; + const routeName = (usePage().props.appEnv as AppEnv).routes.name; - const targetRoute = `back.${modelName}.${isArchiveRoute ? "trash" : "index"}`; + const targetRoute = `${routeName}${modelName}.${isArchiveRoute ? "trash" : "index"}`; return router.visit(route(targetRoute), { method: "get", diff --git a/resources/ts/types/global.d.ts b/resources/ts/types/global.d.ts index f42ad6a..5d64b3b 100644 --- a/resources/ts/types/global.d.ts +++ b/resources/ts/types/global.d.ts @@ -5,6 +5,10 @@ export type AppEnv = { locale: string; locales: string; fallbackLocale: string; + routes: { + prefix: string; + name: string; + }; }; export type LaravelEnum = Record< diff --git a/resources/views/back/mails/reset-password.blade.php b/resources/views/back/mails/reset-password.blade.php index 9745564..cea3636 100644 --- a/resources/views/back/mails/reset-password.blade.php +++ b/resources/views/back/mails/reset-password.blade.php @@ -1,13 +1,13 @@ {{-- blade-formatter-disable --}} @component('mail::message') -# {{ __('auth.email_hello') }} +# {{ __('auth.email_hello', ['firstName' => $firstName, 'lastName' => $lastName]) }} {{ __('auth.email_reset_complete') }} {{ __('auth.email_new_connection') }}
- {{ route('back.login') }} + + {{ $routeLogin }} + + @endcomponent \ No newline at end of file diff --git a/routes/breadcrumbs/brands.php b/routes/breadcrumbs/brands.php index 1790b10..9c457fe 100644 --- a/routes/breadcrumbs/brands.php +++ b/routes/breadcrumbs/brands.php @@ -4,42 +4,46 @@ use Diglactic\Breadcrumbs\Breadcrumbs; use Diglactic\Breadcrumbs\Generator; use Illuminate\Support\Str; -Breadcrumbs::for('back.brands.index', function (Generator $trail) { +/** @var string $routeName */ +$routeName = config('uwil-backend.routes.name'); + +Breadcrumbs::for("{$routeName}brands.index", function (Generator $trail) use ($routeName) { + $trail->parent("{$routeName}dashboard.index"); $trail->push( Str::ucfirst(trans_choice('models.classes.brands', \INF)), - route('back.brands.index') + route("{$routeName}brands.index") ); }); -Breadcrumbs::for('back.brands.create', function (Generator $trail) { - $trail->parent('back.brands.index'); +Breadcrumbs::for("{$routeName}brands.create", function (Generator $trail) use ($routeName) { + $trail->parent("{$routeName}brands.index"); $trail->push( Str::ucfirst(trans('uwil-backend::crud.actions.create')), - route('back.brands.create'), + route("{$routeName}brands.create"), ); }); -Breadcrumbs::for('back.brands.edit', function (Generator $trail) { - $trail->parent('back.brands.index'); +Breadcrumbs::for("{$routeName}brands.edit", function (Generator $trail) use ($routeName) { + $trail->parent("{$routeName}brands.index"); $trail->push( Str::ucfirst(trans('uwil-backend::crud.actions.edit')), - route('back.brands.edit', [ + route("{$routeName}brands.edit", [ 'brand' => request()->brand, ]) ); }); -Breadcrumbs::for('back.brands.duplicate', function (Generator $trail) { - $trail->parent('back.brands.index'); +Breadcrumbs::for("{$routeName}brands.duplicate", function (Generator $trail) use ($routeName) { + $trail->parent("{$routeName}brands.index"); $trail->push(Str::ucfirst(trans('uwil-backend::crud.actions.duplicate'))); }); -Breadcrumbs::for('back.brands.show', function (Generator $trail) { - $trail->parent('back.brands.index'); +Breadcrumbs::for("{$routeName}brands.show", function (Generator $trail) use ($routeName) { + $trail->parent("{$routeName}brands.index"); $trail->push( Str::ucfirst(trans('uwil-backend::crud.actions.visualize')), - route('back.brands.show', [ + route("{$routeName}brands.show", [ 'brand' => request()->brand, ]), ); }); -Breadcrumbs::for('back.brands.trash', function (Generator $trail) { - $trail->parent('back.brands.index'); +Breadcrumbs::for("{$routeName}brands.trash", function (Generator $trail) use ($routeName) { + $trail->parent("{$routeName}brands.index"); $trail->push(Str::ucfirst(trans('uwil-backend::back.archives'))); }); diff --git a/routes/breadcrumbs/gitlab-projects.php b/routes/breadcrumbs/gitlab-projects.php index 4273250..090df59 100644 --- a/routes/breadcrumbs/gitlab-projects.php +++ b/routes/breadcrumbs/gitlab-projects.php @@ -4,42 +4,46 @@ use Diglactic\Breadcrumbs\Breadcrumbs; use Diglactic\Breadcrumbs\Generator; use Illuminate\Support\Str; -Breadcrumbs::for('back.gitlab-projects.index', function (Generator $trail) { +/** @var string $routeName */ +$routeName = config('uwil-backend.routes.name'); + +Breadcrumbs::for("{$routeName}gitlab-projects.index", function (Generator $trail) use ($routeName) { + $trail->parent("{$routeName}dashboard.index"); $trail->push( Str::ucfirst(trans_choice('models.classes.gitlab-projects', \INF)), - route('back.gitlab-projects.index') + route("{$routeName}gitlab-projects.index") ); }); -Breadcrumbs::for('back.gitlab-projects.create', function (Generator $trail) { - $trail->parent('back.gitlab-projects.index'); +Breadcrumbs::for("{$routeName}gitlab-projects.create", function (Generator $trail) use ($routeName) { + $trail->parent("{$routeName}gitlab-projects.index"); $trail->push( Str::ucfirst(trans('uwil-backend::crud.actions.create')), - route('back.gitlab-projects.create'), + route("{$routeName}gitlab-projects.create"), ); }); -Breadcrumbs::for('back.gitlab-projects.edit', function (Generator $trail) { - $trail->parent('back.gitlab-projects.index'); +Breadcrumbs::for("{$routeName}gitlab-projects.edit", function (Generator $trail) use ($routeName) { + $trail->parent("{$routeName}gitlab-projects.index"); $trail->push( Str::ucfirst(trans('uwil-backend::crud.actions.edit')), - route('back.gitlab-projects.edit', [ + route("{$routeName}gitlab-projects.edit", [ 'gitlab_project' => request()->gitlab_project, ]) ); }); -Breadcrumbs::for('back.gitlab-projects.duplicate', function (Generator $trail) { - $trail->parent('back.gitlab-projects.index'); +Breadcrumbs::for("{$routeName}gitlab-projects.duplicate", function (Generator $trail) use ($routeName) { + $trail->parent("{$routeName}gitlab-projects.index"); $trail->push(Str::ucfirst(trans('uwil-backend::crud.actions.duplicate'))); }); -Breadcrumbs::for('back.gitlab-projects.show', function (Generator $trail) { - $trail->parent('back.gitlab-projects.index'); +Breadcrumbs::for("{$routeName}gitlab-projects.show", function (Generator $trail) use ($routeName) { + $trail->parent("{$routeName}gitlab-projects.index"); $trail->push( Str::ucfirst(trans('uwil-backend::crud.actions.visualize')), - route('back.gitlab-projects.show', [ + route("{$routeName}gitlab-projects.show", [ 'gitlab_project' => request()->gitlab_project, ]), ); }); -Breadcrumbs::for('back.gitlab-projects.trash', function (Generator $trail) { - $trail->parent('back.gitlab-projects.index'); +Breadcrumbs::for("{$routeName}gitlab-projects.trash", function (Generator $trail) use ($routeName) { + $trail->parent("{$routeName}gitlab-projects.index"); $trail->push(Str::ucfirst(trans('uwil-backend::back.archives'))); }); diff --git a/routes/breadcrumbs/invoice-companies.php b/routes/breadcrumbs/invoice-companies.php index 36a0eff..62e63b6 100644 --- a/routes/breadcrumbs/invoice-companies.php +++ b/routes/breadcrumbs/invoice-companies.php @@ -4,42 +4,46 @@ use Diglactic\Breadcrumbs\Breadcrumbs; use Diglactic\Breadcrumbs\Generator; use Illuminate\Support\Str; -Breadcrumbs::for('back.invoice-companies.index', function (Generator $trail) { +/** @var string $routeName */ +$routeName = config('uwil-backend.routes.name'); + +Breadcrumbs::for("{$routeName}invoice-companies.index", function (Generator $trail) use ($routeName) { + $trail->parent("{$routeName}dashboard.index"); $trail->push( Str::ucfirst(trans_choice('models.classes.invoice-companies', \INF)), - route('back.invoice-companies.index') + route("{$routeName}invoice-companies.index") ); }); -Breadcrumbs::for('back.invoice-companies.create', function (Generator $trail) { - $trail->parent('back.invoice-companies.index'); +Breadcrumbs::for("{$routeName}invoice-companies.create", function (Generator $trail) use ($routeName) { + $trail->parent("{$routeName}invoice-companies.index"); $trail->push( Str::ucfirst(trans('uwil-backend::crud.actions.create')), - route('back.invoice-companies.create'), + route("{$routeName}invoice-companies.create"), ); }); -Breadcrumbs::for('back.invoice-companies.edit', function (Generator $trail) { - $trail->parent('back.invoice-companies.index'); +Breadcrumbs::for("{$routeName}invoice-companies.edit", function (Generator $trail) use ($routeName) { + $trail->parent("{$routeName}invoice-companies.index"); $trail->push( Str::ucfirst(trans('uwil-backend::crud.actions.edit')), - route('back.invoice-companies.edit', [ + route("{$routeName}invoice-companies.edit", [ 'invoice_company' => request()->invoice_company, ]), ); }); -Breadcrumbs::for('back.invoice-companies.duplicate', function (Generator $trail) { - $trail->parent('back.invoice-companies.index'); +Breadcrumbs::for("{$routeName}invoice-companies.duplicate", function (Generator $trail) use ($routeName) { + $trail->parent("{$routeName}invoice-companies.index"); $trail->push(Str::ucfirst(trans('uwil-backend::crud.actions.duplicate'))); }); -Breadcrumbs::for('back.invoice-companies.show', function (Generator $trail) { - $trail->parent('back.invoice-companies.index'); +Breadcrumbs::for("{$routeName}invoice-companies.show", function (Generator $trail) use ($routeName) { + $trail->parent("{$routeName}invoice-companies.index"); $trail->push( Str::ucfirst(trans('uwil-backend::crud.actions.visualize')), - route('back.invoice-companies.show', [ + route("{$routeName}invoice-companies.show", [ 'invoice_company' => request()->invoice_company, ]), ); }); -Breadcrumbs::for('back.invoice-companies.trash', function (Generator $trail) { - $trail->parent('back.invoice-companies.index'); +Breadcrumbs::for("{$routeName}invoice-companies.trash", function (Generator $trail) use ($routeName) { + $trail->parent("{$routeName}invoice-companies.index"); $trail->push(Str::ucfirst(trans('uwil-backend::back.archives'))); }); diff --git a/routes/breadcrumbs/invoice-packages.php b/routes/breadcrumbs/invoice-packages.php index 9e02917..8ae07fa 100644 --- a/routes/breadcrumbs/invoice-packages.php +++ b/routes/breadcrumbs/invoice-packages.php @@ -4,42 +4,46 @@ use Diglactic\Breadcrumbs\Breadcrumbs; use Diglactic\Breadcrumbs\Generator; use Illuminate\Support\Str; -Breadcrumbs::for('back.invoice-packages.index', function (Generator $trail) { +/** @var string $routeName */ +$routeName = config('uwil-backend.routes.name'); + +Breadcrumbs::for("{$routeName}invoice-packages.index", function (Generator $trail) use ($routeName) { + $trail->parent("{$routeName}dashboard.index"); $trail->push( Str::ucfirst(trans_choice('models.classes.invoice-packages', \INF)), - route('back.invoice-packages.index') + route("{$routeName}invoice-packages.index") ); }); -Breadcrumbs::for('back.invoice-packages.create', function (Generator $trail) { - $trail->parent('back.invoice-packages.index'); +Breadcrumbs::for("{$routeName}invoice-packages.create", function (Generator $trail) use ($routeName) { + $trail->parent("{$routeName}invoice-packages.index"); $trail->push( Str::ucfirst(trans('uwil-backend::crud.actions.create')), - route('back.invoice-packages.create'), + route("{$routeName}invoice-packages.create"), ); }); -Breadcrumbs::for('back.invoice-packages.edit', function (Generator $trail) { - $trail->parent('back.invoice-packages.index'); +Breadcrumbs::for("{$routeName}invoice-packages.edit", function (Generator $trail) use ($routeName) { + $trail->parent("{$routeName}invoice-packages.index"); $trail->push( Str::ucfirst(trans('uwil-backend::crud.actions.edit')), - route('back.invoice-packages.edit', [ + route("{$routeName}invoice-packages.edit", [ 'invoice_package' => request()->invoice_package, ]), ); }); -Breadcrumbs::for('back.invoice-packages.duplicate', function (Generator $trail) { - $trail->parent('back.invoice-packages.index'); +Breadcrumbs::for("{$routeName}invoice-packages.duplicate", function (Generator $trail) use ($routeName) { + $trail->parent("{$routeName}invoice-packages.index"); $trail->push(Str::ucfirst(trans('uwil-backend::crud.actions.duplicate'))); }); -Breadcrumbs::for('back.invoice-packages.show', function (Generator $trail) { - $trail->parent('back.invoice-packages.index'); +Breadcrumbs::for("{$routeName}invoice-packages.show", function (Generator $trail) use ($routeName) { + $trail->parent("{$routeName}invoice-packages.index"); $trail->push( Str::ucfirst(trans('uwil-backend::crud.actions.visualize')), - route('back.invoice-packages.show', [ + route("{$routeName}invoice-packages.show", [ 'invoice_package' => request()->invoice_package, ]) ); }); -Breadcrumbs::for('back.invoice-packages.trash', function (Generator $trail) { - $trail->parent('back.invoice-packages.index'); +Breadcrumbs::for("{$routeName}invoice-packages.trash", function (Generator $trail) use ($routeName){ + $trail->parent("{$routeName}invoice-packages.index"); $trail->push(Str::ucfirst(trans('uwil-backend::back.archives'))); }); diff --git a/routes/breadcrumbs/notices.php b/routes/breadcrumbs/notices.php index 19a158c..1713fbf 100644 --- a/routes/breadcrumbs/notices.php +++ b/routes/breadcrumbs/notices.php @@ -4,42 +4,46 @@ use Diglactic\Breadcrumbs\Breadcrumbs; use Diglactic\Breadcrumbs\Generator; use Illuminate\Support\Str; -Breadcrumbs::for('back.notices.index', function (Generator $trail) { +/** @var string $routeName */ +$routeName = config('uwil-backend.routes.name'); + +Breadcrumbs::for("{$routeName}notices.index", function (Generator $trail) use ($routeName) { + $trail->parent("{$routeName}dashboard.index"); $trail->push( Str::ucfirst(trans_choice('models.classes.notices', \INF)), - route('back.notices.index') + route("{$routeName}notices.index") ); }); -Breadcrumbs::for('back.notices.create', function (Generator $trail) { - $trail->parent('back.notices.index'); +Breadcrumbs::for("{$routeName}notices.create", function (Generator $trail) use ($routeName) { + $trail->parent("{$routeName}notices.index"); $trail->push( Str::ucfirst(trans('uwil-backend::crud.actions.create')), - route('back.notices.create'), + route("{$routeName}notices.create"), ); }); -Breadcrumbs::for('back.notices.edit', function (Generator $trail) { - $trail->parent('back.notices.index'); +Breadcrumbs::for("{$routeName}notices.edit", function (Generator $trail) use ($routeName) { + $trail->parent("{$routeName}notices.index"); $trail->push( Str::ucfirst(trans('uwil-backend::crud.actions.edit')), - route('back.notices.edit', [ + route("{$routeName}notices.edit", [ 'notice' => request()->notice, ]), ); }); -Breadcrumbs::for('back.notices.duplicate', function (Generator $trail) { - $trail->parent('back.notices.index'); +Breadcrumbs::for("{$routeName}notices.duplicate", function (Generator $trail) use ($routeName) { + $trail->parent("{$routeName}notices.index"); $trail->push(Str::ucfirst(trans('uwil-backend::crud.actions.duplicate'))); }); -Breadcrumbs::for('back.notices.show', function (Generator $trail) { - $trail->parent('back.notices.index'); +Breadcrumbs::for("{$routeName}notices.show", function (Generator $trail) use ($routeName) { + $trail->parent("{$routeName}notices.index"); $trail->push( Str::ucfirst(trans('uwil-backend::crud.actions.visualize')), - route('back.notices.show', [ + route("{$routeName}notices.show", [ 'notice' => request()->notice, ]), ); }); -Breadcrumbs::for('back.notices.trash', function (Generator $trail) { - $trail->parent('back.notices.index'); +Breadcrumbs::for("{$routeName}notices.trash", function (Generator $trail) use ($routeName) { + $trail->parent("{$routeName}notices.index"); $trail->push(Str::ucfirst(trans('uwil-backend::back.archives'))); }); diff --git a/routes/breadcrumbs/sites.php b/routes/breadcrumbs/sites.php index 943ed45..e0a6cff 100644 --- a/routes/breadcrumbs/sites.php +++ b/routes/breadcrumbs/sites.php @@ -4,42 +4,46 @@ use Diglactic\Breadcrumbs\Breadcrumbs; use Diglactic\Breadcrumbs\Generator; use Illuminate\Support\Str; -Breadcrumbs::for('back.sites.index', function (Generator $trail) { +/** @var string $routeName */ +$routeName = config('uwil-backend.routes.name'); + +Breadcrumbs::for("{$routeName}sites.index", function (Generator $trail) use ($routeName) { + $trail->parent("{$routeName}dashboard.index"); $trail->push( Str::ucfirst(trans_choice('models.classes.sites', \INF)), - route('back.sites.index') + route("{$routeName}sites.index") ); }); -Breadcrumbs::for('back.sites.create', function (Generator $trail) { - $trail->parent('back.sites.index'); +Breadcrumbs::for("{$routeName}sites.create", function (Generator $trail) use ($routeName) { + $trail->parent("{$routeName}sites.index"); $trail->push( Str::ucfirst(trans('uwil-backend::crud.actions.create')), - route('back.sites.create'), + route("{$routeName}sites.create"), ); }); -Breadcrumbs::for('back.sites.edit', function (Generator $trail) { - $trail->parent('back.sites.index'); +Breadcrumbs::for("{$routeName}sites.edit", function (Generator $trail) use ($routeName) { + $trail->parent("{$routeName}sites.index"); $trail->push( Str::ucfirst(trans('uwil-backend::crud.actions.edit')), - route('back.sites.edit', [ + route("{$routeName}sites.edit", [ 'site' => request()->site, ]), ); }); -Breadcrumbs::for('back.sites.duplicate', function (Generator $trail) { - $trail->parent('back.sites.index'); +Breadcrumbs::for("{$routeName}sites.duplicate", function (Generator $trail) use ($routeName) { + $trail->parent("{$routeName}sites.index"); $trail->push(Str::ucfirst(trans('uwil-backend::crud.actions.duplicate'))); }); -Breadcrumbs::for('back.sites.show', function (Generator $trail) { - $trail->parent('back.sites.index'); +Breadcrumbs::for("{$routeName}sites.show", function (Generator $trail) use ($routeName) { + $trail->parent("{$routeName}sites.index"); $trail->push( Str::ucfirst(trans('uwil-backend::crud.actions.visualize')), - route('back.sites.show', [ + route("{$routeName}sites.show", [ 'site' => request()->site, ]), ); }); -Breadcrumbs::for('back.sites.trash', function (Generator $trail) { - $trail->parent('back.sites.index'); +Breadcrumbs::for("{$routeName}sites.trash", function (Generator $trail) use ($routeName) { + $trail->parent("{$routeName}sites.index"); $trail->push(Str::ucfirst(trans('uwil-backend::back.archives'))); }); diff --git a/tsconfig.json b/tsconfig.json index c7898b8..5563eb3 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -24,6 +24,6 @@ "include": [ "resources/ts/**/*.ts", "resources/ts/**/*.tsx", - "resources/ts/**/*.d.ts" + "resources/ts/**/*.d.ts", ] }