#126 - vacation request reminders

This commit is contained in:
Adrian Hopek
2022-04-25 15:18:48 +02:00
parent d60dc75f99
commit dcce188419
11 changed files with 227 additions and 12 deletions

View File

@@ -21,7 +21,6 @@ class Holiday extends Model
use HasFactory;
protected $guarded = [];
protected $casts = [
"date" => "date",
];

View File

@@ -26,9 +26,7 @@ class Profile extends Model
use HasAvatar;
protected $primaryKey = "user_id";
protected $guarded = [];
protected $casts = [
"employment_form" => EmploymentForm::class,
"employment_date" => "date",

View File

@@ -33,18 +33,15 @@ class User extends Authenticatable
use SoftDeletes;
protected $guarded = [];
protected $casts = [
"role" => Role::class,
"last_active_at" => "datetime",
"employment_form" => EmploymentForm::class,
"employment_date" => "date",
];
protected $hidden = [
"remember_token",
];
protected $with = [
"profile",
];

View File

@@ -11,6 +11,7 @@ use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Support\Arr;
use Illuminate\Support\Carbon;
use Illuminate\Support\Collection;
use Spatie\ModelStates\HasStates;
@@ -41,7 +42,6 @@ class VacationRequest extends Model
use HasStates;
protected $guarded = [];
protected $casts = [
"type" => VacationType::class,
"state" => VacationRequestState::class,
@@ -85,6 +85,13 @@ class VacationRequest extends Model
return $query->whereNotState("state", $states);
}
public function scopeType(Builder $query, VacationType|array $types): Builder
{
$types = Arr::wrap($types);
return $query->whereIn("type", $types);
}
public function scopeOverlapsWith(Builder $query, self $vacationRequest): Builder
{
return $query->where("from", "<=", $vacationRequest->to)

View File

@@ -22,7 +22,6 @@ class VacationRequestActivity extends Model
use HasFactory;
protected $guarded = [];
protected $casts = [
"from" => VacationRequestState::class,
"to" => VacationRequestState::class,