Merge branch 'issue-3' into 'develop'

Fixed : system message when assignment kept message for status changes

Closes #3

See merge request ldc-web/projets/support-web!18
This commit is contained in:
Vincent BRIDIER 2023-04-17 14:16:12 +00:00
commit 4ab70133d4
4 changed files with 76 additions and 66 deletions

View file

@ -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;
}
}

View file

@ -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 */

View file

@ -40,63 +40,65 @@ class AddStatusMessages
$event->ticket->status->label
);
}
switch ($event->ticket->status) {
case TicketStatus::new():
$message->message = sprintf(
"%s<br>%s<br>",
$message->message,
__("Votre ticket a été créé, nous allons en prendre connaissance.")
);
break;
case TicketStatus::estimateTodo():
$message->message = sprintf(
"%s<br>%s<br>",
$message->message,
__("Votre ticket nécessite une estimation, nous allons vous proposer un devis.")
);
break;
case TicketStatus::takenInAccount():
$message->message .= sprintf("<br>" .
__("Votre ticket est dans le processus de traitement.") . "<br>");
break;
case TicketStatus::waiting():
$message->message = sprintf(
"%s<br>%s<br>",
$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<br>%s<br>",
$message->message,
__("Nous attendons une validation de votre part pour procéder au traitement.")
);
break;
case TicketStatus::recette():
$message->message = sprintf(
"%s<br>%s<br>",
$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<br>%s<br>",
$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<br>%s<br>",
$message->message,
__("Ce ticket est clos.")
);
break;
} //end switch
if ($event->status_changed) {
switch ($event->ticket->status) {
case TicketStatus::new():
$message->message = sprintf(
"%s<br>%s<br>",
$message->message,
__("Votre ticket a été créé, nous allons en prendre connaissance.")
);
break;
case TicketStatus::estimateTodo():
$message->message = sprintf(
"%s<br>%s<br>",
$message->message,
__("Votre ticket nécessite une estimation, nous allons vous proposer un devis.")
);
break;
case TicketStatus::takenInAccount():
$message->message .= sprintf("<br>" .
__("Votre ticket est dans le processus de traitement.") . "<br>");
break;
case TicketStatus::waiting():
$message->message = sprintf(
"%s<br>%s<br>",
$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<br>%s<br>",
$message->message,
__("Nous attendons une validation de votre part pour procéder au traitement.")
);
break;
case TicketStatus::recette():
$message->message = sprintf(
"%s<br>%s<br>",
$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<br>%s<br>",
$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<br>%s<br>",
$message->message,
__("Ce ticket est clos.")
);
break;
} //end switch
} //end if
$message->save();
}
}

View file

@ -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(
'<b>%s</b> a modifié le statut en <b>%s</b>',