DONE: layout letter with letterhead and footer, notification for newly...

This commit is contained in:
ISMAIL MASSERAN
2026-06-28 02:16:49 +00:00
parent 94ecbe5887
commit 034ecf947f
400 changed files with 29802 additions and 5446 deletions
+39 -2
View File
@@ -16,14 +16,17 @@ use Spatie\Permission\PermissionRegistrar;
use Spatie\Permission\Traits\HasPermissions;
use Spatie\Permission\Traits\HasRoles;
use App\Services\ActiveRoleService;
use App\Traits\HasVisibility;
use Lab404\Impersonate\Models\Impersonate;
use Modules\Role\Entities\Role;
use Modules\User\Entities\Address;
use Modules\User\Entities\BankDetail;
use Modules\User\Entities\Employment;
use Modules\User\Entities\Heir;
class User extends Authenticatable
{
/** @use HasFactory<\Modules\Auth\Database\Factories\UserFactory> */
use HasApiTokens, HasFactory, HasPermissions, HasRoles, HasUuids, Impersonate, LogsActivity, Notifiable, SoftDeletes, HasVisibility;
use HasApiTokens, HasFactory, HasPermissions, HasRoles, HasUuids, Impersonate, LogsActivity, Notifiable, SoftDeletes;
protected $table = 'users';
@@ -44,6 +47,13 @@ class User extends Authenticatable
'two_factor_secret',
'two_factor_recovery_codes',
'two_factor_confirmed_at',
'gender',
'marriage_status',
'member_number',
'member_type',
'join_date',
'birth_date',
'birth_place',
];
/**
@@ -70,6 +80,13 @@ class User extends Authenticatable
'email_verified_at' => 'datetime',
'password' => 'hashed',
'status' => 'string',
'gender' => 'string',
'marriage_status' => 'string',
'member_number' => 'integer',
'member_type' => 'string',
'join_date' => 'date',
'birth_date' => 'date',
'birth_place' => 'string',
];
}
@@ -82,6 +99,26 @@ class User extends Authenticatable
return ActiveRoleService::getActiveRole($this);
}
public function addresses()
{
return $this->hasMany(Address::class);
}
public function employments()
{
return $this->hasMany(Employment::class);
}
public function bankDetails()
{
return $this->hasMany(BankDetail::class);
}
public function heirs()
{
return $this->hasMany(Heir::class);
}
public function hasPermissionAction($action): bool
{
$role = $this->activeRole();