diff --git a/app/Events/TicketStatusChanged.php b/app/Events/TicketStatusChanged.php
index eb592b0..f5d6d7b 100644
--- a/app/Events/TicketStatusChanged.php
+++ b/app/Events/TicketStatusChanged.php
@@ -30,6 +30,9 @@ class TicketStatusChanged
/** @var boolean */
public $is_private;
+ /** @var boolean */
+ public $status_changed;
+
/**
* Create a new event instance.
*
@@ -38,6 +41,7 @@ class TicketStatusChanged
* @param \App\Models\User|null $user
* @param string|null $message
* @param boolean $is_private
+ * @param boolean $status_changed
* @return void
*/
public function __construct(
@@ -45,12 +49,14 @@ class TicketStatusChanged
TicketStatus $status,
User $user = null,
string $message = null,
- bool $is_private = false
+ bool $is_private = false,
+ bool $status_changed = true
) {
- $this->ticket = $ticket;
- $this->status = $status;
- $this->user = $user;
- $this->message = $message;
- $this->is_private = $is_private;
+ $this->ticket = $ticket;
+ $this->status = $status;
+ $this->user = $user;
+ $this->message = $message;
+ $this->is_private = $is_private;
+ $this->status_changed = $status_changed;
}
}
diff --git a/app/Http/Controllers/TicketController.php b/app/Http/Controllers/TicketController.php
index 02a94c5..746f15f 100644
--- a/app/Http/Controllers/TicketController.php
+++ b/app/Http/Controllers/TicketController.php
@@ -409,7 +409,7 @@ class TicketController extends Controller
$oldStatus = $ticket->status;
$ticket->status = TicketStatus::inprogress();
$ticket->saveQuietly();
- event(new TicketStatusChanged($ticket, $oldStatus, null, $message));
+ event(new TicketStatusChanged($ticket, $oldStatus, null, $message, false, false));
event(new NotifySubscriptions($ticket, $message, collect([$ticket->user])));
/** @var \App\Models\User */
@@ -454,7 +454,7 @@ class TicketController extends Controller
/** @var \App\Enums\TicketStatus */
$oldStatus = $ticket->status;
- event(new TicketStatusChanged($ticket, $oldStatus, null, $message, true));
+ event(new TicketStatusChanged($ticket, $oldStatus, null, $message, true, false));
event(new NotifySubscriptions($ticket, $message, collect([$ticket->user])));
/** @var \App\Models\User */
diff --git a/app/Listeners/AddStatusMessages.php b/app/Listeners/AddStatusMessages.php
index 8429e10..7b31768 100644
--- a/app/Listeners/AddStatusMessages.php
+++ b/app/Listeners/AddStatusMessages.php
@@ -40,63 +40,65 @@ class AddStatusMessages
$event->ticket->status->label
);
}
- switch ($event->ticket->status) {
- case TicketStatus::new():
- $message->message = sprintf(
- "%s
%s
",
- $message->message,
- __("Votre ticket a été créé, nous allons en prendre connaissance.")
- );
- break;
- case TicketStatus::estimateTodo():
- $message->message = sprintf(
- "%s
%s
",
- $message->message,
- __("Votre ticket nécessite une estimation, nous allons vous proposer un devis.")
- );
- break;
- case TicketStatus::takenInAccount():
- $message->message .= sprintf("
" .
- __("Votre ticket est dans le processus de traitement.") . "
");
- break;
- case TicketStatus::waiting():
- $message->message = sprintf(
- "%s
%s
",
- $message->message,
- __("Nous attendons une réponse de votre part pour procéder à la suite du traitement.")
- );
- break;
- case TicketStatus::waitingValidation():
- $message->message = sprintf(
- "%s
%s
",
- $message->message,
- __("Nous attendons une validation de votre part pour procéder au traitement.")
- );
- break;
- case TicketStatus::recette():
- $message->message = sprintf(
- "%s
%s
",
- $message->message,
- __("Le traitement à été réalisé et mis à disposition sur la plateforme de recette.
- Vous pouvez vérifier que la solution mise en œuvre correspond à la demande.")
- );
- break;
- case TicketStatus::production():
- $message->message = sprintf(
- "%s
%s
",
- $message->message,
- __("La solution à été mise en ligne.
- Vous pouvez vérifier sur le site de production que tout fonctionne comme attendu.")
- );
- break;
- case TicketStatus::archived():
- $message->message = sprintf(
- "%s
%s
",
- $message->message,
- __("Ce ticket est clos.")
- );
- break;
- } //end switch
+ if ($event->status_changed) {
+ switch ($event->ticket->status) {
+ case TicketStatus::new():
+ $message->message = sprintf(
+ "%s
%s
",
+ $message->message,
+ __("Votre ticket a été créé, nous allons en prendre connaissance.")
+ );
+ break;
+ case TicketStatus::estimateTodo():
+ $message->message = sprintf(
+ "%s
%s
",
+ $message->message,
+ __("Votre ticket nécessite une estimation, nous allons vous proposer un devis.")
+ );
+ break;
+ case TicketStatus::takenInAccount():
+ $message->message .= sprintf("
" .
+ __("Votre ticket est dans le processus de traitement.") . "
");
+ break;
+ case TicketStatus::waiting():
+ $message->message = sprintf(
+ "%s
%s
",
+ $message->message,
+ __("Nous attendons une réponse de votre part pour procéder à la suite du traitement.")
+ );
+ break;
+ case TicketStatus::waitingValidation():
+ $message->message = sprintf(
+ "%s
%s
",
+ $message->message,
+ __("Nous attendons une validation de votre part pour procéder au traitement.")
+ );
+ break;
+ case TicketStatus::recette():
+ $message->message = sprintf(
+ "%s
%s
",
+ $message->message,
+ __("Le traitement à été réalisé et mis à disposition sur la plateforme de recette.
+ Vous pouvez vérifier que la solution mise en œuvre correspond à la demande.")
+ );
+ break;
+ case TicketStatus::production():
+ $message->message = sprintf(
+ "%s
%s
",
+ $message->message,
+ __("La solution à été mise en ligne.
+ Vous pouvez vérifier sur le site de production que tout fonctionne comme attendu.")
+ );
+ break;
+ case TicketStatus::archived():
+ $message->message = sprintf(
+ "%s
%s
",
+ $message->message,
+ __("Ce ticket est clos.")
+ );
+ break;
+ } //end switch
+ } //end if
$message->save();
}
}
diff --git a/app/Models/Ticket.php b/app/Models/Ticket.php
index dba2071..db8b24b 100644
--- a/app/Models/Ticket.php
+++ b/app/Models/Ticket.php
@@ -75,7 +75,9 @@ class Ticket extends Model
event(new TicketStatusChanged(
$ticket,
TicketStatus::make($ticket->original['status']),
- auth()->user()
+ auth()->user(),
+ null,
+ false
));
event(new NotifySubscriptions($ticket, sprintf(
'%s a modifié le statut en %s',