Skip to content

Commit

Permalink
Fix Update Employee and StoreUser
Browse files Browse the repository at this point in the history
  • Loading branch information
KirinZero0 committed Feb 21, 2025
1 parent 4fc992c commit 1d217a0
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 7 deletions.
21 changes: 19 additions & 2 deletions app/Actions/HumanResources/Employee/UpdateEmployee.php
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,25 @@ class UpdateEmployee extends OrgAction

public function handle(Employee $employee, array $modelData): Employee
{
$stateData = [];
if(Arr::get($modelData, 'state.state')) {
$state = Arr::get($modelData, 'state.state');
data_set($stateData, 'state', $state);
}
if(Arr::get($modelData, 'state.employment_start_at')){
$startAt = Arr::get($modelData, 'state.employment_start_at');
data_set($stateData, 'employment_start_at', $startAt);
}

if(Arr::get($modelData, 'state.employment_end_at')) {
$endAt = Arr::get($modelData, 'state.employment_end_at');
data_set($stateData, 'employment_end_at', $endAt);
}

data_set($modelData, 'state', $stateData['state']);
data_set($modelData, 'employment_start_at', $stateData['employment_start_at']);
data_set($modelData, 'employment_end_at', $stateData['employment_end_at']);

if (Arr::has($modelData, 'job_positions')) {

$jobPositions = Arr::pull($modelData, 'job_positions', []);
Expand All @@ -61,7 +79,6 @@ public function handle(Employee $employee, array $modelData): Employee
data_forget($modelData, 'auth_type');
data_forget($modelData, 'user_model_status');


$employee = $this->update($employee, $modelData, ['data', 'salary']);

if (Arr::hasAny($employee->getChanges(), ['worker_number', 'worker_number', 'contact_name', 'work_email', 'job_title', 'email'])) {
Expand All @@ -81,7 +98,6 @@ public function handle(Employee $employee, array $modelData): Employee

UpdateUser::run($user, $credentials);
}

return $employee;
}

Expand Down Expand Up @@ -120,6 +136,7 @@ public function rules(): array
],
'state.state' => ['sometimes', 'required', new Enum(EmployeeStateEnum::class)],
'state.employment_start_at' => ['sometimes', 'nullable', 'date'],
'state.employment_end_at' => ['sometimes', 'nullable', 'date'],
'work_email' => [
'sometimes',
'nullable',
Expand Down
12 changes: 7 additions & 5 deletions app/Actions/SysAdmin/User/StoreUser.php
Original file line number Diff line number Diff line change
Expand Up @@ -46,11 +46,13 @@ public function handle(Guest|Employee $parent, array $modelData = []): User
$user = User::create($modelData);
$user->stats()->create();

$parent->update(
[
'user_id' => $user->id
]
);
if($parent instanceof Guest) {
$parent->update(
[
'user_id' => $user->id
]
);
}

foreach (TimeSeriesFrequencyEnum::cases() as $frequency) {
$user->timeSeries()->create(['frequency' => $frequency]);
Expand Down

0 comments on commit 1d217a0

Please sign in to comment.