added leave request, profile and staff members controllers

This commit is contained in:
Kwesi Banson Jnr
2026-08-20 09:30:43 +00:00
parent 1c4d32833a
commit 81d26dc138
152 changed files with 1627 additions and 152101 deletions

View File

@@ -0,0 +1,24 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class LeaveRequest extends Model
{
protected $casts = [
'start_date' => 'date',
'end_date' => 'date',
];
protected $guarded = ['id'];
public function staff()
{
return $this->belongsTo(StaffMember::class, 'staff_member_id');
}
// In StaffMember.php
public function leaveRequests()
{
return $this->hasMany(LeaveRequest::class, 'staff_member_id');
}
}

View File

@@ -0,0 +1,16 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class StaffDependent extends Model
{
protected $table = 'staff_dependents';
protected $guarded = [];
public function staff()
{
return $this->belongsTo(StaffMember::class, 'staff_id');
}
}

View File

@@ -21,9 +21,16 @@ class StaffMember extends Authenticatable
'password',
];
public function leaveRequests() {
return $this->hasMany(LeaveRequest::class, 'staff_member_id');
}
public function dependents() {
return $this->hasMany(StaffDependent::class, 'staff_id');
}
// 4. Cast dates correctly
protected $casts = [
'dob' => 'date',
// 'dob' => 'date',
'hire_date' => 'datetime',
'password' => 'hashed', // Laravel 10+ password casting
];