++ campagne: "In corso" solo per territori assegnati nel periodo

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Francesco Picone
2026-10-19 10:33:07 +02:00
parent 6ef301cb14
commit 097aa4ff30
3 changed files with 6 additions and 6 deletions

View File

@@ -851,8 +851,8 @@ Al rientro la campagna viene proposta se il territorio era fuori almeno in
parte del periodo: assegnato durante la campagna, rientrato durante la parte del periodo: assegnato durante la campagna, rientrato durante la
campagna, oppure fuori per tutta la sua durata. Se sia stato davvero percorso campagna, oppure fuori per tutta la sua durata. Se sia stato davvero percorso
lo decide l'operatore con la spunta. Se più campagne corrispondono viene lo decide l'operatore con la spunta. Se più campagne corrispondono viene
proposta la più recente. I territori fuori durante la campagna e non ancora proposta la più recente. I territori assegnati durante la campagna e non
rientrati compaiono nel dettaglio come "in corso". ancora rientrati compaiono nel dettaglio come "in corso".
--- ---

View File

@@ -66,12 +66,12 @@ class Campagna extends Model
} }
/** /**
* Assignments still open that were out during this campaign (assigned * Assignments made during this campaign and not yet returned.
* on or before its end): they can be counted for it when they come back.
*/ */
public function assegnazioniInCorso() public function assegnazioniInCorso()
{ {
return Assegnazione::whereNull('returned_at') return Assegnazione::whereNull('returned_at')
->where('assigned_at', '>=', $this->start_date)
->where('assigned_at', '<=', $this->end_date); ->where('assigned_at', '<=', $this->end_date);
} }

View File

@@ -79,12 +79,12 @@
</div> </div>
</div> </div>
{{-- Out during the campaign, not yet returned (hidden once a later campaign has started) --}} {{-- Assigned during the campaign, not yet returned (hidden once a later campaign has started) --}}
@if($inCorso !== null) @if($inCorso !== null)
<div class="mt-6 bg-white rounded-xl shadow-sm border border-gray-200 overflow-hidden"> <div class="mt-6 bg-white rounded-xl shadow-sm border border-gray-200 overflow-hidden">
<div class="px-4 py-3 bg-gray-50 border-b"> <div class="px-4 py-3 bg-gray-50 border-b">
<h3 class="text-sm font-semibold text-gray-700">In corso ({{ $inCorso->count() }})</h3> <h3 class="text-sm font-semibold text-gray-700">In corso ({{ $inCorso->count() }})</h3>
<p class="text-xs text-gray-500 mt-0.5">Fuori durante la campagna e non ancora rientrati: si potranno conteggiare al rientro.</p> <p class="text-xs text-gray-500 mt-0.5">Assegnati durante la campagna e non ancora rientrati: si potranno conteggiare al rientro.</p>
</div> </div>
<div class="overflow-x-auto"> <div class="overflow-x-auto">
<table class="min-w-full divide-y divide-gray-200 text-sm table-cards"> <table class="min-w-full divide-y divide-gray-200 text-sm table-cards">