diff --git a/app/Http/Controllers/TicketController.php b/app/Http/Controllers/TicketController.php
index 3523dc5..f53363e 100644
--- a/app/Http/Controllers/TicketController.php
+++ b/app/Http/Controllers/TicketController.php
@@ -8,6 +8,7 @@ use App\Events\NotifySubscriptions;
use App\Events\TicketStatusChanged;
use App\Http\Requests\ChangeTicketStatus;
use App\Http\Requests\CreateMessage;
+use App\Http\Requests\UpdateMessage;
use App\Http\Requests\SortTickets;
use App\Http\Requests\StoreTicket;
use App\Http\Requests\UpdateTicket;
@@ -346,6 +347,15 @@ class TicketController extends Controller
->with('success', trans('Votre message à été ajouté'));
}
+ public function updateMessage(UpdateMessage $request, Ticket $ticket, Message $message)
+ {
+ $message->message = $request->message;
+ $message->saveOrFail();
+
+ return back()
+ ->with('success', trans('Votre message à bien été modifié'));
+ }
+
public function setToArchive(Ticket $ticket)
{
$ticket->status = TicketStatus::archived();
diff --git a/app/Http/Requests/UpdateMessage.php b/app/Http/Requests/UpdateMessage.php
new file mode 100644
index 0000000..0cc1450
--- /dev/null
+++ b/app/Http/Requests/UpdateMessage.php
@@ -0,0 +1,35 @@
+user();
+
+ return auth()->check() && $user->isAdmin();
+ }
+
+ /**
+ * Get the validation rules that apply to the request.
+ *
+ * @return array
+ */
+ public function rules()
+ {
+ /** @var \App\Models\User */
+ $user = auth()->user();
+ return [
+ 'message' => 'required|min:' . ($user->isAdmin() ? '5' : '20'),
+ ];
+ }
+}
diff --git a/app/Policies/TicketPolicy.php b/app/Policies/TicketPolicy.php
index 4da1e6e..8396cf1 100644
--- a/app/Policies/TicketPolicy.php
+++ b/app/Policies/TicketPolicy.php
@@ -47,6 +47,10 @@ class TicketPolicy extends RootPolicy
]),
'suscribeToTicket' => TicketStaticRules::make('ticketIsNotArchived', $model),
'createMessage' => TicketStaticRules::make('ticketIsNotArchived', $model),
+ 'updateMessage' => StaticRules::or([
+ URR::make('userIsAdmin', $user),
+ TicketStaticRules::make('ticketIsNotArchived', $model),
+ ]),
'reopen' => URR::make('userIsClient', $user)
]
];
diff --git a/resources/sass/_bootswatch.scss b/resources/sass/_bootswatch.scss
index cc80c56..2c223fb 100644
--- a/resources/sass/_bootswatch.scss
+++ b/resources/sass/_bootswatch.scss
@@ -327,9 +327,11 @@ a.list-group-item {
}
}
-.modal,
-.toast {
- .btn-close {
- background-image: url("data:image/svg+xml,");
+.modal{
+ color: #1e2125;
+ & .toast {
+ .btn-close {
+ background-image: url("data:image/svg+xml,");
+ }
}
-}
+}
\ No newline at end of file
diff --git a/resources/views/ticket/show.blade.php b/resources/views/ticket/show.blade.php
index 37a4675..86a9cd8 100644
--- a/resources/views/ticket/show.blade.php
+++ b/resources/views/ticket/show.blade.php
@@ -124,10 +124,49 @@
@if ($message->file !== null)
file))data-fslightbox="gallery" @endif href="{{ asset($message->file) }}" target="_blank">Ouvrir la pièce jointe
@endif
- {!! __('Créé le :date par :userName', [
- 'date' => \Carbon\Carbon::parse($message->created_at)->format('d/m/Y à H:i'),
- 'userName' => $message->user ? $message->user->name : __('Utilisateur supprimé')
- ]) !!}
+
+ {!! __('Créé le :date par :userName', [
+ 'date' => \Carbon\Carbon::parse($message->created_at)->format('d/m/Y à H:i'),
+ 'userName' => $message->user ? $message->user->name : __('Utilisateur supprimé')
+ ]) !!}
+
+ @if($message->user_id === Auth::user()->id)
+
+ @can('updateMessage', $ticket, $message)
+
+