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])
-
-
-
-
-
-
-@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])
-
-
-
-
-@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 --}}
-
-
-
- {{-- SITE_ID --}}
-
-
-
-
-
-
-@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)
-
- | {{ $projectModel->name }} |
- {{ $projectModel->site->name }} |
-
-
- |
-
- @endforeach
-
- @else
-
- | {{ __('crud.other.no_model_found', ['model' => __('models.classes.projects')]) }} |
-
- @endif
-
-{!! $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)