- /richiesta: modulo pubblico (nuovo territorio o riconsegna) con campo trappola, tempo minimo e limite orario; nome e note cifrati, avviso per email a chi ha richieste.gestisci (amministratore, assistente) - Home: riquadro Richieste con i proclamatori dal nome simile; porta su Assegna/Rientra già esistenti, che chiudono la richiesta; Scarta - Cartaceo sull'assegnazione (Assegna e Il mio gruppo), etichetta nell'elenco degli assegnati, pagina Cartacei, passa per l'XML - registro:invia-s13 agli amministratori l'ultima domenica del mese; richieste:pulizia dopo 90 giorni dalla gestione - Privacy, README e HANDOFF aggiornati; test in RichiesteTest Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
43 lines
1.3 KiB
PHP
43 lines
1.3 KiB
PHP
<?php
|
|
|
|
namespace App\Notifications;
|
|
|
|
use App\Models\Richiesta;
|
|
use Illuminate\Notifications\Messages\MailMessage;
|
|
use Illuminate\Notifications\Notification;
|
|
|
|
/**
|
|
* Avviso ad amministratori e assistenti: è arrivata una richiesta dal modulo
|
|
* pubblico. Volutamente non ShouldQueue: il nome scritto nella richiesta
|
|
* finirebbe in chiaro nella coda (Redis, failed_jobs).
|
|
*/
|
|
class RichiestaRicevuta extends Notification
|
|
{
|
|
public function __construct(private Richiesta $richiesta) {}
|
|
|
|
public function via(object $notifiable): array
|
|
{
|
|
return ['mail'];
|
|
}
|
|
|
|
public function toMail(object $notifiable): MailMessage
|
|
{
|
|
$r = $this->richiesta;
|
|
$messaggio = (new MailMessage)
|
|
->subject("Nuova richiesta: {$r->tipo_etichetta} — TerManager2")
|
|
->greeting('Ciao ' . $notifiable->name . ',')
|
|
->line($r->tipo === Richiesta::RICONSEGNA
|
|
? "{$r->nome} annuncia la riconsegna del territorio N° {$r->numero_territorio}."
|
|
: "{$r->nome} chiede un territorio nuovo.");
|
|
|
|
if ($r->note) {
|
|
$messaggio->line('Note: ' . $r->note);
|
|
}
|
|
|
|
return $messaggio
|
|
->action('Apri la Home di TerManager2', route('dashboard'))
|
|
->line('La richiesta si conferma dalla Home, nel riquadro "Richieste".')
|
|
->salutation('TerManager2');
|
|
}
|
|
}
|