- Aggiunto dark mode completo alla sidebar con classi Tailwind - Implementato sistema di salvataggio permanente delle impostazioni utente - Creata tabella user_settings per gestire preferenze personalizzate - Aggiunto model UserSetting con metodi helper get/set - Esteso controller impostazioni per supportare salvataggio e temi predefiniti - Applicato stesso tema anche al pannello amministratore - Aggiornate route per gestione temi in admin e superadmin - Integrato sistema impostazioni nel layout principale con variabili CSS - Aggiornato AppServiceProvider con helper userSetting() - Dark mode applicato a: sidebar, modali, footer, bottoni, hover states - Temi predefiniti: Default, Dark, Ocean con preview tempo reale - Compatibilità completa tra pannello admin e superadmin
68 lines
1.6 KiB
PHP
68 lines
1.6 KiB
PHP
<?php
|
|
|
|
namespace App\Models;
|
|
|
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
use Illuminate\Database\Eloquent\Model;
|
|
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
|
|
use Illuminate\Database\Eloquent\Relations\HasMany;
|
|
use Illuminate\Support\Str;
|
|
|
|
class Soggetto extends Model
|
|
{
|
|
use HasFactory;
|
|
|
|
protected $table = 'soggetti';
|
|
|
|
/**
|
|
* The attributes that are mass assignable.
|
|
*
|
|
* @var array<int, string>
|
|
*/
|
|
protected $fillable = [
|
|
'old_id',
|
|
'nome',
|
|
'cognome',
|
|
'ragione_sociale',
|
|
'codice_fiscale',
|
|
'partita_iva',
|
|
'email',
|
|
'telefono',
|
|
'indirizzo',
|
|
'cap',
|
|
'citta',
|
|
'provincia',
|
|
'tipo',
|
|
'codice_univoco',
|
|
];
|
|
|
|
/**
|
|
* The units that belong to the subject.
|
|
*/
|
|
|
|
public function ticketsRichiesti(): HasMany
|
|
{
|
|
return $this->hasMany(Ticket::class, 'soggetto_richiedente_id', 'id');
|
|
}
|
|
|
|
public function rateEmessaResponsabile(): HasMany
|
|
{
|
|
return $this->hasMany(RataEmessa::class, 'id_soggetto_responsabile', 'id');
|
|
}
|
|
|
|
public function proprieta() {
|
|
return $this->hasMany(Proprieta::class);
|
|
}
|
|
|
|
protected static function booted()
|
|
{
|
|
static::creating(function ($soggetto) {
|
|
if (empty($soggetto->codice_univoco)) {
|
|
do {
|
|
$code = Str::upper(Str::random(8));
|
|
} while (self::where('codice_univoco', $code)->exists());
|
|
$soggetto->codice_univoco = $code;
|
|
}
|
|
});
|
|
}
|
|
} |