34 lines
1.0 KiB
PHP
34 lines
1.0 KiB
PHP
<?php
|
|
|
|
namespace App\Livewire\Territori;
|
|
|
|
use Livewire\Component;
|
|
use App\Models\Territorio;
|
|
use App\Models\Assegnazione;
|
|
use App\Models\Setting;
|
|
|
|
class TerritorioShow extends Component
|
|
{
|
|
public Territorio $territorio;
|
|
|
|
public function mount(Territorio $territorio)
|
|
{
|
|
$this->territorio = $territorio->load(['zona', 'tipologia', 'assegnazioneCorrente.proclamatore', 'ultimaAssegnazione']);
|
|
}
|
|
|
|
public function render()
|
|
{
|
|
$assegnazioni = Assegnazione::where('territorio_id', $this->territorio->id)
|
|
->with(['proclamatore', 'annoTeocratico', 'campagna', 'creatoDa', 'rientratoDa'])
|
|
->orderByDesc('assigned_at')
|
|
->get()
|
|
->groupBy(fn($a) => $a->annoTeocratico->label);
|
|
|
|
return view('livewire.territori.territorio-show', [
|
|
'activeAssignment' => $this->territorio->assegnazioneCorrente,
|
|
'assignmentLinkTtlMonths' => (int) Setting::getValue('assignment_link_ttl_hours', 1),
|
|
'assegnazioniPerAnno' => $assegnazioni,
|
|
]);
|
|
}
|
|
}
|