++ fix: use months for assignment PDF link TTL instead of hours

This commit is contained in:
2026-04-08 15:22:37 +00:00
parent 6f8010514d
commit c585979340
19 changed files with 356 additions and 15 deletions

View File

@@ -15,6 +15,8 @@ class Home extends Component
public function render()
{
$settings = Setting::instance();
$homeLimit = max(1, (int) ($settings->home_limit_list ?? 10));
$priorityThreshold = (int) ($settings->giorni_giacenza_prioritari ?? 180);
$annoCorrente = AnnoTeocratico::corrente();
$campagnaAttiva = Campagna::attiva();
@@ -52,14 +54,33 @@ class Home extends Component
$territoriDaAssegnare = Territorio::inReparto()
->with('zona', 'tipologia', 'ultimaAssegnazione')
->get()
->map(function (Territorio $territorio) use ($priorityThreshold) {
$ultima = $territorio->ultimaAssegnazione;
if ($ultima && $ultima->returned_at) {
$giorniGiacenza = $ultima->returned_at->startOfDay()->diffInDays(today());
} elseif (! $ultima) {
$giorniGiacenza = $territorio->created_at->startOfDay()->diffInDays(today());
} else {
$giorniGiacenza = 0;
}
$territorio->setAttribute('home_giorni_giacenza', $giorniGiacenza);
$territorio->setAttribute(
'home_is_prioritario',
(bool) $territorio->prioritario || $giorniGiacenza > $priorityThreshold
);
return $territorio;
})
->sort(function (Territorio $left, Territorio $right) {
$priorityComparison = (int) $right->is_prioritario <=> (int) $left->is_prioritario;
$priorityComparison = (int) $right->home_is_prioritario <=> (int) $left->home_is_prioritario;
if ($priorityComparison !== 0) {
return $priorityComparison;
}
$giacenzaComparison = $right->giorni_giacenza <=> $left->giorni_giacenza;
$giacenzaComparison = $right->home_giorni_giacenza <=> $left->home_giorni_giacenza;
if ($giacenzaComparison !== 0) {
return $giacenzaComparison;
@@ -67,12 +88,12 @@ class Home extends Component
return strnatcasecmp((string) $left->numero, (string) $right->numero);
})
->take(10)
->take($homeLimit)
->values();
$daRientrare = Territorio::daRientrare()
->with(['zona', 'assegnazioneCorrente.proclamatore'])
->take(10)
->take($homeLimit)
->get();
return view('livewire.home', [
@@ -84,6 +105,7 @@ class Home extends Component
'territoriPercorsi' => $territoriPercorsi,
'mediaPercorrenzaMensile' => $mediaPercorrenzaMensile,
'campagnaStats' => $campagnaStats,
'homeLimit' => $homeLimit,
'territoriDaAssegnare' => $territoriDaAssegnare,
'daRientrare' => $daRientrare,
]);