netgescon-master/app/Models/Amministratore.php
Pikappa2 cb49fbfe70 Implementato dark mode completo e salvataggio impostazioni utente
- 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
2025-07-05 19:22:51 +02:00

80 lines
2.1 KiB
PHP

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany; // Aggiunto per condomini()
use Illuminate\Database\Eloquent\SoftDeletes; // Aggiunto per soft deletes
use Illuminate\Support\Str;
class Amministratore extends Model
{
use HasFactory;
/**
* The table associated with the model.
*
* @var string
*/
protected $table = 'amministratori'; // Specifica il nome corretto della tabella
protected $primaryKey = 'id_amministratore';
/**
* The attributes that are mass assignable.
*
* @var array<int, string>
*/
protected $fillable = [
'user_id',
'nome',
'cognome',
'denominazione_studio',
'partita_iva',
'codice_fiscale_studio',
'indirizzo_studio',
'cap_studio',
'citta_studio',
'provincia_studio',
'telefono_studio',
'email_studio',
'pec_studio',
'codice_univoco',
];
/**
* Get the user associated with the Amministratore.
*/
public function user(): BelongsTo
{
return $this->belongsTo(User::class, 'user_id');
}
/**
* Get the condomini for the Amministratore.
*/
public function stabili(): HasMany
{
return $this->hasMany(Stabile::class, 'amministratore_id', 'id_amministratore');
}
/**
* Get the fornitori for the Amministratore.
*/
public function fornitori(): HasMany
{
return $this->hasMany(Fornitore::class, 'amministratore_id', 'id_amministratore');
}
protected static function booted()
{
static::creating(function ($amministratore) {
if (empty($amministratore->codice_univoco)) {
do {
$code = Str::upper(Str::random(8));
} while (self::where('codice_univoco', $code)->exists());
$amministratore->codice_univoco = $code;
}
});
}
}