++ fix grafici, aggiunta statistiche su area assegnatario, sezione profilo
This commit is contained in:
15
app/Livewire/Profile.php
Normal file
15
app/Livewire/Profile.php
Normal file
@@ -0,0 +1,15 @@
|
||||
<?php
|
||||
|
||||
namespace App\Livewire;
|
||||
|
||||
use Livewire\Component;
|
||||
|
||||
class Profile extends Component
|
||||
{
|
||||
public function render()
|
||||
{
|
||||
return view('livewire.profile', [
|
||||
'user' => auth()->user(),
|
||||
]);
|
||||
}
|
||||
}
|
||||
@@ -103,6 +103,40 @@ class Assegnazione extends Model
|
||||
return is_null($this->returned_at);
|
||||
}
|
||||
|
||||
/**
|
||||
* Scadenza dell'assegnazione: data entro cui il territorio andrebbe
|
||||
* riconsegnato, cioè assigned_at + la soglia "giorni_per_smarrito" (la
|
||||
* stessa oltre cui Territorio::stato diventa "da_rientrare"). Null per le
|
||||
* assegnazioni già rientrate.
|
||||
*/
|
||||
public function getDataConsegnaPresuntaAttribute(): ?Carbon
|
||||
{
|
||||
if ($this->returned_at !== null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
$soglia = (int) Setting::getValue('giorni_per_smarrito', 120);
|
||||
|
||||
return Carbon::parse($this->assigned_at)->addDays($soglia);
|
||||
}
|
||||
|
||||
/**
|
||||
* Giorni che mancano alla scadenza: positivo se ancora entro i termini,
|
||||
* negativo (giorni di ritardo) se già scaduta. Null se rientrata.
|
||||
*/
|
||||
public function getGiorniAllaScadenzaAttribute(): ?int
|
||||
{
|
||||
$scadenza = $this->data_consegna_presunta?->copy()->startOfDay();
|
||||
if (! $scadenza) {
|
||||
return null;
|
||||
}
|
||||
|
||||
$oggi = Carbon::today();
|
||||
$giorni = (int) $oggi->diffInDays($scadenza);
|
||||
|
||||
return $oggi->lessThanOrEqualTo($scadenza) ? $giorni : -$giorni;
|
||||
}
|
||||
|
||||
public function ensurePdfAccessCode(): string
|
||||
{
|
||||
if ($this->pdf_access_code) {
|
||||
|
||||
Reference in New Issue
Block a user