- 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
80 lines
2.1 KiB
PHP
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;
|
|
}
|
|
});
|
|
}
|
|
} |