- /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>
35 lines
990 B
PHP
35 lines
990 B
PHP
<?php
|
|
|
|
namespace App\Console\Commands;
|
|
|
|
use App\Models\Richiesta;
|
|
use Illuminate\Console\Command;
|
|
|
|
/**
|
|
* Le richieste dal modulo pubblico portano nome e note scritti da chi non ha
|
|
* un account: gestite (evase o scartate) servono ancora un po' per
|
|
* riferimento, poi si cancellano. Quelle aperte restano finché qualcuno non
|
|
* le gestisce.
|
|
*/
|
|
class PuliziaRichieste extends Command
|
|
{
|
|
/** Dopo quanti giorni dalla gestione una richiesta si cancella. */
|
|
public const GIORNI = 90;
|
|
|
|
protected $signature = 'richieste:pulizia';
|
|
|
|
protected $description = 'Cancella le richieste del modulo pubblico gestite da più di ' . self::GIORNI . ' giorni';
|
|
|
|
public function handle(): int
|
|
{
|
|
$cancellate = Richiesta::query()
|
|
->where('stato', '!=', Richiesta::APERTA)
|
|
->where('gestita_at', '<', now()->subDays(self::GIORNI))
|
|
->delete();
|
|
|
|
$this->info("Richieste cancellate: {$cancellate}");
|
|
|
|
return self::SUCCESS;
|
|
}
|
|
}
|