diff --git a/.gitignore b/.gitignore index 3ce0771..59bbdd9 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,7 @@ Homestead.yaml npm-debug.log yarn-error.log storage/samlidp/* +.npmrc +.zshrc +.npm/ +.composer/ diff --git a/README.md b/README.md index 997569c..a64521d 100644 --- a/README.md +++ b/README.md @@ -2,11 +2,16 @@ PROD : support.uwil.fr +RE7 : support-web.re7-s-web.fr + ## Gitlab Intégration -Le token de groupe pour l'intégration est valable 1 an max +Le token de groupe pour l'intégration est valable 11 mois Il faut le renouveler ici : https://lab.s-web.fr/groups/ldc-web/projets/-/settings/access_tokens et le nommer SW Intégration +Role : Guest +Scope : api + ## TODO - App\Models\Message:booted(): investigate why this make errors on prod, diff --git a/app/Http/Controllers/Bo/ProjectController.php b/app/Http/Controllers/Bo/ProjectController.php deleted file mode 100644 index daea75d..0000000 --- a/app/Http/Controllers/Bo/ProjectController.php +++ /dev/null @@ -1,193 +0,0 @@ -search; - if ($search) { - $this->searchQuery( - $projectModels, - $search, - null, - 'name', - ); - } - $searchFields = trans('Nom'); - - /** Sort columns with a query */ - $this->sortQuery($projectModels); - - /** Custom pagination */ - $projectModels = $this->customPaginate($projectModels, $request->pagination); - - return view('bo.pages.projects.index', compact('projectModels', 'search', 'searchFields')); - } - - /** - * Crud show view - * - * @param \App\Models\Project $project - * @return \Illuminate\Contracts\View\View|\Illuminate\Contracts\View\Factory - */ - public function show(Project $project) - { - return view('bo.pages.projects.show', [ - 'projectModel' => $project - ]); - } - - /** - * Show the form for creating a new resource. - * - * @param \App\Models\Project $project - * @return \Illuminate\Contracts\View\View - */ - public function create(Project $project): \Illuminate\Contracts\View\View - { - $siteModels = Site::orderBy('name', 'ASC')->get(); - - return view('bo.pages.projects.create', [ - 'projectModel' => $project, - 'siteModels' => $siteModels - ]); - } - - /** - * Store a newly created resource in storage. - * - * @param \App\Http\Requests\Bo\Projects\StoreProjectRequest $request - * @return \Illuminate\Http\RedirectResponse - */ - public function store(StoreProjectRequest $request): \Illuminate\Http\RedirectResponse - { - return DB::transaction(function () use ($request) { - $project = new Project(); - $project->fill($request->validated()); - - if ($project->saveOrFail()) { - return redirect() - ->route('bo.projects.edit', $project) - ->with('success', trans( - 'crud.messages.has_been_created', - ['model' => Str::singular(trans('models.classes.projects'))] - )); - } - return redirect() - ->back() - ->with('error', trans( - 'crud.messages.cannot_be_created', - ['model' => Str::singular(trans('models.classes.projects'))] - )); - }); - } - - /** - * Show the form for editing the specified resource. - * - * @param \App\Models\Project $project - * @return \Illuminate\Contracts\View\View - */ - public function edit(Project $project): \Illuminate\Contracts\View\View - { - $siteModels = Site::orderBy('name', 'ASC')->get(); - - return view('bo.pages.projects.edit', [ - 'projectModel' => $project, - 'siteModels' => $siteModels - ]); - } - - /** - * Update the specified resource in storage. - * - * @param \App\Http\Requests\Bo\Projects\UpdateProjectRequest $request - * @param \App\Models\Project $project - * @return \Illuminate\Http\RedirectResponse - */ - public function update(UpdateProjectRequest $request, Project $project): \Illuminate\Http\RedirectResponse - { - return DB::transaction(function () use ($request, $project) { - $project->fill($request->validated()); - if ($project->saveOrFail()) { - return redirect() - ->route('bo.projects.edit', $project) - ->with('success', trans( - 'crud.messages.has_been_updated', - ['model' => Str::singular(trans('models.classes.projects'))] - )); - } //end if - return redirect() - ->back() - ->with('error', trans( - 'crud.messages.cannot_be_updated', - ['model' => Str::singular(trans('models.classes.projects'))] - )); - }); - } - - /** - * Remove the specified resource from storage. - * - * @param \App\Models\Project $project - * @return \Illuminate\Http\RedirectResponse - */ - public function destroy(Project $project): \Illuminate\Http\RedirectResponse - { - return DB::transaction(function () use ($project) { - if ($project->deleteOrFail()) { - return redirect() - ->route('bo.projects.index') - ->with('success', trans( - 'crud.messages.has_been_deleted', - ['model' => Str::singular(trans('models.classes.projects'))] - )); - } - return redirect() - ->back() - ->with('error', trans( - ':crud.messages.cannot_be_deleted', - ['model' => Str::singular(trans('models.classes.projects'))] - )); - }); - } - - /** - * Get a paginate resource. - * - * @param \Illuminate\Http\Request $request - * @return Illuminate\Http\JsonResponse - */ - public function jsonPaginate(Request $request): \Illuminate\Http\JsonResponse - { - return DB::transaction(function () use ($request) { - $model = $request->targetModel; - $search = $request->search; - $models = $model::where("name", "LIKE", "%{$search}%")->orderBy("name", "ASC"); - - return ToolboxHelper::jsonPaginate($this->customPaginate($models, $request->pagination)); - }); - } -} diff --git a/app/Http/Controllers/Bo/TicketController.php b/app/Http/Controllers/Bo/TicketController.php index d9ebe67..0cbfc0b 100644 --- a/app/Http/Controllers/Bo/TicketController.php +++ b/app/Http/Controllers/Bo/TicketController.php @@ -338,15 +338,14 @@ class TicketController extends Controller /** @var \App\Models\User */ $user = auth()->user(); - + // Subscribe to ticket. if ($request->subscribe) { - if (!$user->subscriptions()->find($ticket->id)) { - $user->subscriptions()->attach($ticket->id); - } - } elseif ($user->subscriptions()->find($ticket->id)) { + $user->subscriptions()->syncWithoutDetaching([$ticket->id]); + } else { $user->subscriptions()->detach($ticket->id); } + // Store files if any. if (isset($filesMessage) and $filesMessage) { foreach ($filesMessage as $key => $singleFile) { if ($key === 0) { diff --git a/app/Http/Controllers/Bo/UserController.php b/app/Http/Controllers/Bo/UserController.php index 97e1488..b678ee2 100644 --- a/app/Http/Controllers/Bo/UserController.php +++ b/app/Http/Controllers/Bo/UserController.php @@ -6,10 +6,8 @@ use App\Models\Site; use App\Models\User; use Illuminate\Support\Str; use Illuminate\Http\Request; -use Illuminate\Validation\Rule; use Illuminate\Support\Facades\DB; use App\Http\Controllers\Controller; -use Illuminate\Support\Facades\Auth; use App\Http\Requests\Bo\Users\StoreUserRequest; use App\Http\Requests\Bo\Users\UpdateUserRequest; use App\Http\Controllers\Bo\Auth\ForgotPasswordController; @@ -182,7 +180,7 @@ class UserController extends Controller * Favourite site submit * * @param \App\Http\Requests\Bo\Users\FavouriteSiteRequest $request - * + * * @return \Illuminate\Http\RedirectResponse */ public function favouriteSiteSubmit(FavouriteSiteRequest $request): \Illuminate\Http\RedirectResponse diff --git a/app/Http/Requests/Bo/CreateMessage.php b/app/Http/Requests/Bo/CreateMessage.php index 3ac7392..b49a051 100644 --- a/app/Http/Requests/Bo/CreateMessage.php +++ b/app/Http/Requests/Bo/CreateMessage.php @@ -37,6 +37,8 @@ class CreateMessage extends FormRequest */ protected function prepareForValidation() { + /** @var \App\Models\User */ + $user = auth()->user(); $this->merge([ 'subscribe' => $this->subscribe ? true : false, 'type' => $this->is_private ? MessageTypeEnum::private->value : MessageTypeEnum::public->value diff --git a/app/Http/Requests/Bo/Projects/StoreProjectRequest.php b/app/Http/Requests/Bo/Projects/StoreProjectRequest.php deleted file mode 100644 index 918ff18..0000000 --- a/app/Http/Requests/Bo/Projects/StoreProjectRequest.php +++ /dev/null @@ -1,32 +0,0 @@ - 'required|string|min:3|max:255|unique:projects,name', - 'site_id' => 'required|exists:sites,id', - ]; - } -} diff --git a/app/Http/Requests/Bo/Projects/UpdateProjectRequest.php b/app/Http/Requests/Bo/Projects/UpdateProjectRequest.php deleted file mode 100644 index 5e12e4a..0000000 --- a/app/Http/Requests/Bo/Projects/UpdateProjectRequest.php +++ /dev/null @@ -1,18 +0,0 @@ - 'required|string|min:3|max:255|unique:projects,name,' . $this->route('project')->id . ',id', - ]); - } -} diff --git a/app/Http/Requests/Bo/Sites/StoreSiteRequest.php b/app/Http/Requests/Bo/Sites/StoreSiteRequest.php index a55bf3c..aa87ceb 100644 --- a/app/Http/Requests/Bo/Sites/StoreSiteRequest.php +++ b/app/Http/Requests/Bo/Sites/StoreSiteRequest.php @@ -28,7 +28,7 @@ class StoreSiteRequest extends FormRequest 'name' => 'required|string|min:3|max:255', 'users' => 'nullable|array', 'users.*.id' => 'required|exists:users,id', - 'gitlab_project_id' => 'nullable|unique:sites,gitlab_project_id', + 'gitlab_project_id' => 'nullable', 'project_manager_id' => 'nullable|exists:users,id', 'url_re7' => 'nullable|url', 'url_prod' => 'nullable|url' diff --git a/app/Http/Requests/Bo/Sites/UpdateSiteRequest.php b/app/Http/Requests/Bo/Sites/UpdateSiteRequest.php index 56899c7..2f665be 100644 --- a/app/Http/Requests/Bo/Sites/UpdateSiteRequest.php +++ b/app/Http/Requests/Bo/Sites/UpdateSiteRequest.php @@ -4,15 +4,4 @@ namespace App\Http\Requests\Bo\Sites; class UpdateSiteRequest extends StoreSiteRequest { - /** - * Get the validation rules that apply to the request. - * - * @return array - */ - public function rules() - { - return array_merge(parent::rules(), [ - 'gitlab_project_id' => 'nullable|unique:sites,gitlab_project_id,' . $this->route('site')->id . ',id', - ]); - } } diff --git a/app/Http/Requests/Bo/UpdateChangeOrderRequest.php b/app/Http/Requests/Bo/UpdateChangeOrderRequest.php index d4829c7..d6be727 100644 --- a/app/Http/Requests/Bo/UpdateChangeOrderRequest.php +++ b/app/Http/Requests/Bo/UpdateChangeOrderRequest.php @@ -39,5 +39,4 @@ class UpdateChangeOrderRequest extends FormRequest 'direction' => 'required|boolean', ]; } - } diff --git a/app/Http/Requests/Bo/Users/FavouriteSiteRequest.php b/app/Http/Requests/Bo/Users/FavouriteSiteRequest.php index 9d3bb86..9a7935d 100644 --- a/app/Http/Requests/Bo/Users/FavouriteSiteRequest.php +++ b/app/Http/Requests/Bo/Users/FavouriteSiteRequest.php @@ -9,10 +9,10 @@ use Illuminate\Foundation\Http\FormRequest; class FavouriteSiteRequest extends FormRequest { /** - * Determine if the user is authorized to make this request. - * - * @return boolean - */ + * Determine if the user is authorized to make this request. + * + * @return boolean + */ public function authorize(): bool { return Auth::check(); @@ -37,4 +37,3 @@ class FavouriteSiteRequest extends FormRequest ]; } } - diff --git a/app/Models/Message.php b/app/Models/Message.php index 41daedd..c12985a 100644 --- a/app/Models/Message.php +++ b/app/Models/Message.php @@ -96,14 +96,9 @@ class Message extends Model } // ? Is message author is admin ? if ($messageUser->isAdmin()) { - // Url: https://supportweb.ldc.fr/ticket/583/message/create. - // SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '583-8' for key 'PRIMARY' - // $ticket->subscriptions()->attach($messageUser); // Add subscription. - if (!$messageUser->subscriptions()->find($ticket->id)) { - $messageUser->subscriptions()->attach($ticket->id); - \session()->flash('info', trans('Vous avez été inscrit.')); - } + $messageUser->subscriptions()->syncWithoutDetaching([$ticket->id]); + \session()->flash('info', trans('Vous avez été inscrit.')); } // * Send mail to other subscribed users event(new NotifySubscriptions( diff --git a/app/Models/Project.php b/app/Models/Project.php deleted file mode 100644 index 4461b3c..0000000 --- a/app/Models/Project.php +++ /dev/null @@ -1,37 +0,0 @@ -belongsTo(Site::class); - } -} diff --git a/app/Models/Site.php b/app/Models/Site.php index 3bd1e52..3ac1f28 100644 --- a/app/Models/Site.php +++ b/app/Models/Site.php @@ -136,16 +136,6 @@ class Site extends Model return $this->belongsTo(User::class, 'project_manager_id'); } - /** - * BelongsTo Project relation - * - * @return \Illuminate\Database\Eloquent\Relations\BelongsTo - */ - public function project() - { - return $this->belongsTo(Project::class); - } - /** * Return value attribute for belongsto search component * diff --git a/app/Models/Ticket.php b/app/Models/Ticket.php index e546e64..7286312 100644 --- a/app/Models/Ticket.php +++ b/app/Models/Ticket.php @@ -72,7 +72,9 @@ class Ticket extends Model } }); static::updating(function (Ticket $ticket) { - if (!$ticket->original['status'] !== $ticket->status->value && $ticket->original['order'] === $ticket->order) { + if ( + !$ticket->original['status'] !== $ticket->status->value && $ticket->original['order'] === $ticket->order + ) { event(new TicketStatusChanged( $ticket, TicketStatusEnum::make($ticket->original['status']), @@ -106,7 +108,9 @@ class Ticket extends Model */ private static function setOrder(self $model, bool $isArchived = false): void { - $model->order = \intval(self::query()->where('status', $isArchived ? '=' : '!=', TicketStatusEnum::archived)->max('order')) + 1; + $model->order = \intval( + self::query()->where('status', $isArchived ? '=' : '!=', TicketStatusEnum::archived)->max('order') + ) + 1; } diff --git a/app/Policies/TicketPolicy.php b/app/Policies/TicketPolicy.php index 0ae33d2..eae3a92 100644 --- a/app/Policies/TicketPolicy.php +++ b/app/Policies/TicketPolicy.php @@ -7,7 +7,6 @@ use App\Enums\Tickets\TicketTypeEnum; use App\Enums\Users\RoleEnum; use App\Models\Ticket; use App\Models\User; -use Error; use Illuminate\Auth\Access\HandlesAuthorization; class TicketPolicy diff --git a/app/Providers/RouteServiceProvider.php b/app/Providers/RouteServiceProvider.php index 56b3a6d..3ce5af2 100644 --- a/app/Providers/RouteServiceProvider.php +++ b/app/Providers/RouteServiceProvider.php @@ -10,7 +10,6 @@ use App\Models\Information; use App\Models\Invoice; use App\Models\Label; use App\Models\Package; -use App\Models\Project; use App\Models\Site; use App\Models\Ticket; use App\Models\Ticket\TicketType; @@ -88,14 +87,12 @@ class RouteServiceProvider extends ServiceProvider }); Route::model('brand', Brand::class); Route::model('label', Label::class); - Route::model('marker', Marker::class); Route::model('package', Package::class); Route::model('information', Information::class); Route::model('company', Company::class); Route::model('invoice', Invoice::class); Route::model('user', User::class); Route::model('site', Site::class); - Route::model('project', Project::class); Route::model('ticket_type', TicketType::class); Route::bind('ticket', function ($value) { return Ticket::where('id', $value)->has('site')->firstOrFail(); diff --git a/database/migrations/2025_07_10_103249_add_favourite_site_to_user.php b/database/migrations/2025_07_10_103249_add_favourite_site_to_user.php index f4bc7c1..7eda1af 100644 --- a/database/migrations/2025_07_10_103249_add_favourite_site_to_user.php +++ b/database/migrations/2025_07_10_103249_add_favourite_site_to_user.php @@ -8,21 +8,29 @@ return new class extends Migration { /** * Run the migrations. + * + * @return void */ public function up(): void { Schema::table('users', function (Blueprint $table) { - $table->foreignId('favourite_site_id')->nullable()->after('gitlab_id')->constrained('sites')->onDelete('set null'); + $table->foreignId('favourite_site_id') + ->nullable() + ->after('gitlab_id') + ->constrained('sites') + ->onDelete('set null'); }); } /** * Reverse the migrations. + * + * @return void */ public function down(): void { Schema::table('users', function (Blueprint $table) { - $table->dropForeign(['favourite_site_id']);; + $table->dropForeign(['favourite_site_id']); $table->dropColumn('favourite_site_id'); }); } diff --git a/database/migrations/2025_08_21_120157_delete_projects_table.php b/database/migrations/2025_08_21_120157_delete_projects_table.php new file mode 100644 index 0000000..f784842 --- /dev/null +++ b/database/migrations/2025_08_21_120157_delete_projects_table.php @@ -0,0 +1,23 @@ +unsignedInteger('gitlab_project_id') + ->unique(false) + ->nullable() + ->change(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('sites', function (Blueprint $table) { + $table->unsignedInteger('gitlab_project_id') + ->unique(true) + ->nullable() + ->change(); + }); + } +}; diff --git a/resources/lang/en/models.php b/resources/lang/en/models.php index d659268..1d9f51d 100644 --- a/resources/lang/en/models.php +++ b/resources/lang/en/models.php @@ -4,7 +4,6 @@ return [ 'classes' => [ 'users' => 'Users', 'accounts' => 'Accounts', - 'projects' => 'Projects', 'markers' => 'Markers', 'tickets' => 'Tickets', 'creditlogs' => 'Logs', diff --git a/resources/lang/fr/models.php b/resources/lang/fr/models.php index 5d7e88b..53d59ef 100644 --- a/resources/lang/fr/models.php +++ b/resources/lang/fr/models.php @@ -4,7 +4,6 @@ return [ 'classes' => [ 'users' => 'Utilisateurs', 'accounts' => 'Comptes', - 'projects' => 'Projets', 'tickets' => 'Tickets', 'creditlogs' => 'Historique', 'sites' => 'Sites', diff --git a/resources/sass/bo/utilities/_variables.scss b/resources/sass/bo/utilities/_variables.scss index a52c965..9911fc7 100644 --- a/resources/sass/bo/utilities/_variables.scss +++ b/resources/sass/bo/utilities/_variables.scss @@ -90,22 +90,4 @@ $modal-content-border-color: rgba($black, 0.1) !default; // Close $btn-close-color: $white !default; $btn-close-opacity: 0.4 !default; -$btn-close-hover-opacity: 1 !default; - -// Variables -$enum-activities: ( - "0": #fff2cc, - "1": #be8e00, - "2": #a9d08e, - "3": #f00, - "4": #9bc2e6, -); -$enum-project-status: ( - "0": #950952, - "1": #5e0035, - "2": #30011c, - "3": #020202, - "4": #023618, - "5": #014941, - "6": #005c69, -); +$btn-close-hover-opacity: 1 !default; \ No newline at end of file diff --git a/resources/views/bo/pages/projects/create.blade.php b/resources/views/bo/pages/projects/create.blade.php deleted file mode 100644 index 3826de4..0000000 --- a/resources/views/bo/pages/projects/create.blade.php +++ /dev/null @@ -1,46 +0,0 @@ -@extends('layout.app', ['brParam' => $projectModel]) - -@section('title', __('Création d\'un :model', ['model' => Str::singular(__('models.classes.projects'))])) -@section('description', __('Création d\'un tout nouveau :model', ['model' => Str::singular(__('models.classes.projects'))])) -@section('breadcrumb', request()->route()->getName()) - -@section('content') -
-
- - - - @include('breadcrumbs.breadcrumb-body', ['brParam' => $projectModel]) -
-
- -
-
-
- @csrf - @include('bo.pages.projects.form-inputs') -
-
- -
-
-
-@endsection diff --git a/resources/views/bo/pages/projects/edit.blade.php b/resources/views/bo/pages/projects/edit.blade.php deleted file mode 100644 index 3688deb..0000000 --- a/resources/views/bo/pages/projects/edit.blade.php +++ /dev/null @@ -1,62 +0,0 @@ -@extends('layout.app', ['brParam' => $projectModel]) - -@section('title', __('Édition d\'un :model', ['model' => Str::singular(__('models.classes.projects'))])) -@section('description', __('Édition d\'un :model déjà existant', ['model' => Str::singular(__('models.classes.projects'))])) -@section('breadcrumb', request()->route()->getName()) - -@section('content') -
-
- - - - @include('breadcrumbs.breadcrumb-body', ['brParam' => $projectModel]) -
-
-
- @csrf - @method('DELETE') -
- - -
-
-
-
-
- @csrf - @method('PUT') - @include('bo.pages.projects.form-inputs') -
-
- -
-
-
-@endsection diff --git a/resources/views/bo/pages/projects/form-inputs.blade.php b/resources/views/bo/pages/projects/form-inputs.blade.php deleted file mode 100644 index 4f8364a..0000000 --- a/resources/views/bo/pages/projects/form-inputs.blade.php +++ /dev/null @@ -1,75 +0,0 @@ -
- {{-- NAME --}} -
-
- {{ Str::ucfirst(__('validation.attributes.name')) }} -
-
- @include('bo.partials.inputs.varchar', [ - 'id' => 'projectName', - 'label' => __(':field du :model', [ - 'field' => Str::ucfirst(__('validation.attributes.name')), - 'model' => Str::singular(__('models.classes.projects')) - ]), - 'hasWordCounter' => true, - 'name' => 'name', - 'required' => true, - 'model' => $projectModel ?? null, - 'helper' => __('validation.between.string', [ - 'attribute' => __(':field du :model', [ - 'field' => Str::ucfirst(__('validation.attributes.name')), - 'model' => Str::singular(__('models.classes.projects')) - ]), - 'min' => 3, - 'max' => 255 - ]), - 'placeholder' => __(':field du :model', [ - 'field' => Str::ucfirst(__('validation.attributes.name')), - 'model' => Str::singular(__('models.classes.projects')) - ]), - ]) -
-
-
-
- {{-- SITE_ID --}} -
-
- {{ Str::singular(trans('models.classes.sites')) }} -
-
- @include('bo.partials.inputs.search-belongs-to-dropdown', [ - 'id' => 'projectSite', - 'label' => __(':model associé', ['model' => Str::singular(trans('models.classes.sites'))]), - 'name' => 'site_id', - 'targetModel' => 'App\Models\Site', - 'routeName' => 'projects.json-paginate', - 'modelRelated' => $siteModels ?? [], - 'modelSelected' => $projectModel->site ?? [], - 'readonly' => false, - 'placeholder' => __('Rechercher une :model', ['model' => Str::singular(trans('models.classes.sites'))]), - 'helper' => __('Sélectionner un :model qui sera associé parmi la liste (un seul et unique :model doit être choisi).', [ - 'model' => Str::singular(__('models.classes.sites')) - ]), - 'required' => true, - ]) -
-
-
-
- -
- -@push('scripts') - -@endpush diff --git a/resources/views/bo/pages/projects/index.blade.php b/resources/views/bo/pages/projects/index.blade.php deleted file mode 100644 index d306b77..0000000 --- a/resources/views/bo/pages/projects/index.blade.php +++ /dev/null @@ -1,77 +0,0 @@ -@extends('layout.app') - -@section('title', __('models.classes.projects')) -@section('description', __('Liste de tous les :model', ['model' => __('models.classes.projects')])) - -@section('content') -
- @include('breadcrumbs.breadcrumb-body') - - - -
-@include('bo.modules.search-bar') - - @if (count($projectModels) > 0) - - @php - $cols = [ - 'name' => Str::ucfirst(__('validation.attributes.name')), - 'site_id' => Str::ucfirst(__('models.classes.sites')), - ]; - @endphp - @include('bo.modules.table-col-sorter', [ - 'cols' => $cols, - 'mobileHide' => [], - ]) - - - @foreach ($projectModels as $projectModel) - - - - - - @endforeach - - @else - - - - @endif -
{{ $projectModel->name }}{{ $projectModel->site->name }} -
- - - - - - - @csrf - @method('DELETE') - -
-
{{ __('crud.other.no_model_found', ['model' => __('models.classes.projects')]) }}
-{!! $projectModels->links() !!} -@endsection diff --git a/resources/views/bo/pages/projects/show.blade.php b/resources/views/bo/pages/projects/show.blade.php deleted file mode 100644 index 36fa507..0000000 --- a/resources/views/bo/pages/projects/show.blade.php +++ /dev/null @@ -1,40 +0,0 @@ -@extends('layout.app', ['brParam' => $projectModel]) - -@section('title', __('Aperçu d\'un :model', ['model' => Str::singular(__('models.classes.projects'))])) -@section('description', __('Aperçu d\'un :model déjà existant', ['model' => Str::singular(__('models.classes.projects'))])) -@section('breadcrumb', request()->route()->getName()) - -@section('content') -
-
- - - - @include('breadcrumbs.breadcrumb-body', ['brParam' => $projectModel]) -
-
- - - - - - - - - - - - - - - - - - - -
{{ Str::ucfirst(__('validation.attributes.name')) }}{{ $projectModel->name }}
{{ Str::ucfirst(__('validation.attributes.sites')) }}{{ $projectModel->site->name }}
{{ Str::ucfirst(__('validation.attributes.created_at')) }}{{ $projectModel->created_at }}
{{ Str::ucfirst(__('validation.attributes.updated_at')) }}{{ $projectModel->updated_at }}
-@endsection diff --git a/resources/views/bo/pages/tickets/form-inputs.blade.php b/resources/views/bo/pages/tickets/form-inputs.blade.php index a1ab6be..63539ca 100644 --- a/resources/views/bo/pages/tickets/form-inputs.blade.php +++ b/resources/views/bo/pages/tickets/form-inputs.blade.php @@ -26,7 +26,7 @@ @endforeach - @can('changeStatus', App\Model\Ticket::class) + @can('changeStatus', App\Models\Ticket::class)
@endcan - @can('assignLabels', App\Model\Ticket::class) + @can('assignLabels', App\Models\Ticket::class)
@@ -127,7 +127,7 @@
@endfor -@can('changeInternalStatus', App\Model\Ticket::class) +@can('changeInternalStatus', App\Models\Ticket::class)
is_internal)) checked @endif> diff --git a/resources/views/layout/nav.blade.php b/resources/views/layout/nav.blade.php index f5549ef..8991ccb 100644 --- a/resources/views/layout/nav.blade.php +++ b/resources/views/layout/nav.blade.php @@ -28,9 +28,6 @@ {{ __('models.classes.sites') }} @endcan @can('isAdmin') - {{ __('models.classes.projects') }} - @endcan - @can('isAdmin') {{ __('models.classes.invoices') }} @endcan @can('isAdmin') diff --git a/resources/views/modules/script-constants.blade.php b/resources/views/modules/script-constants.blade.php index 9ef26a8..9dbbeaa 100644 --- a/resources/views/modules/script-constants.blade.php +++ b/resources/views/modules/script-constants.blade.php @@ -20,11 +20,6 @@ show: "{{ route('bo.sites.show', ['site' => 'SITE']) }}", "json-paginate": "{{ route('bo.sites.json-paginate') }}", }; - window.__SYSTEM._routes.projects = { - index: "{{ route('bo.projects.index') }}", - show: "{{ route('bo.projects.show', ['project' => 'PROJECT']) }}", - "json-paginate": "{{ route('bo.projects.json-paginate') }}" - }; window.__SYSTEM._routes.invoices = { "json-paginate": "{{ route('bo.invoices.json-paginate') }}", }; diff --git a/routes/breadcrumbs-bo.php b/routes/breadcrumbs-bo.php index adab166..ba73847 100644 --- a/routes/breadcrumbs-bo.php +++ b/routes/breadcrumbs-bo.php @@ -7,7 +7,6 @@ use App\Models\Information; use App\Models\Invoice; use App\Models\Label; use App\Models\Package; -use App\Models\Project; use App\Models\Site; use App\Models\Ticket\TicketType; use App\Models\User; @@ -113,23 +112,6 @@ Breadcrumbs::for('bo.sites.show', function (Generator $trail, Site $site) { $trail->push(__('crud.actions.show'), route('bo.sites.show', $site->id)); }); -// * PROJECTS -Breadcrumbs::for('bo.projects.index', function (Generator $trail) { - $trail->push(__('models.classes.projects'), route('bo.projects.index')); -}); -Breadcrumbs::for('bo.projects.create', function (Generator $trail) { - $trail->parent('bo.projects.index'); - $trail->push(trans('crud.actions.create'), route('bo.projects.create')); -}); -Breadcrumbs::for('bo.projects.edit', function (Generator $trail, Project $project) { - $trail->parent('bo.projects.index'); - $trail->push(trans('crud.actions.edit'), route('bo.projects.edit', $project->id)); -}); -Breadcrumbs::for('bo.projects.show', function (Generator $trail, Project $project) { - $trail->parent('bo.projects.index'); - $trail->push(trans('crud.actions.show'), route('bo.projects.show', $project->id)); -}); - // * BRANDS Breadcrumbs::for('bo.brands.index', function (Generator $trail) { $trail->push(__('models.classes.brands'), route('bo.brands.index')); diff --git a/routes/web-bo.php b/routes/web-bo.php index ca77820..3a78802 100644 --- a/routes/web-bo.php +++ b/routes/web-bo.php @@ -9,7 +9,6 @@ use App\Http\Controllers\Bo\InformationController; use App\Http\Controllers\Bo\InvoiceController; use App\Http\Controllers\Bo\LabelController; use App\Http\Controllers\Bo\PackageController; -use App\Http\Controllers\Bo\ProjectController; use App\Http\Controllers\Bo\SiteController; use App\Http\Controllers\Bo\TicketController; use App\Http\Controllers\Bo\TicketTypeController; @@ -75,11 +74,6 @@ Route::middleware('admin-secure') Route::get('/invoices/{invoice}/download', [InvoiceController::class, 'download']) ->name('invoices.download'); - // * PROJECTS - Route::resource('projects', ProjectController::class); - Route::get('/projects/json/paginate', [ProjectController::class, 'jsonPaginate']) - ->name('projects.json-paginate'); - // * SITES Route::resource('sites', SiteController::class)->except('index'); Route::get('/sites/json/paginate', [SiteController::class, 'jsonPaginate']) @@ -158,7 +152,10 @@ Route::middleware('admin-secure') Route::post('/{ticket}/link', [TicketController::class, 'linkTicket']) ->middleware('can:linkTicket,ticket') ->name('link'); - Route::delete('/{ticket}/unlink/{linkedTicket}', [TicketController::class, 'unlinkTicket']) + Route::delete( + '/{ticket}/unlink/{linkedTicket}', + [TicketController::class, 'unlinkTicket'] + ) ->middleware('can:linkTicket,ticket') ->name('unlink'); Route::put('/{ticket}/archive', [TicketController::class, 'setToArchive'])