diff --git a/app/Events/TicketStatusChanged.php b/app/Events/TicketStatusChanged.php
index eb592b0..9d80f77 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 = false
) {
- $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/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..3e35c39 100644
--- a/app/Models/Ticket.php
+++ b/app/Models/Ticket.php
@@ -75,7 +75,10 @@ class Ticket extends Model
event(new TicketStatusChanged(
$ticket,
TicketStatus::make($ticket->original['status']),
- auth()->user()
+ auth()->user(),
+ null,
+ false,
+ true
));
event(new NotifySubscriptions($ticket, sprintf(
'%s a modifié le statut en %s',