@extends('dashboard.layouts.app') @section('content') @include('components.alert') @php $department = $task->staff->department ?? null; $currentStaffDepartmentSlug = Auth::user()?->staff?->department?->slug; $additionalInfoValues = ['']; if (old('additional_info')) { $additionalInfoValues = old('additional_info'); if (!is_array($additionalInfoValues)) { $additionalInfoValues = [$additionalInfoValues]; } } elseif (isset($task) && $task->additional_info) { if (is_array($task->additional_info)) { $additionalInfoValues = $task->additional_info; } elseif (is_string($task->additional_info)) { $additionalInfoValues = json_decode($task->additional_info, true) ?: ['']; } } if (empty($additionalInfoValues)) { $additionalInfoValues = ['']; } $selectedUrgentType = old('urgent_type'); if (!$selectedUrgentType) { $urgentPrefix = 'Urgent Type: '; foreach ($additionalInfoValues as $infoValue) { if (is_string($infoValue) && str_starts_with($infoValue, $urgentPrefix)) { $selectedUrgentType = trim(substr($infoValue, strlen($urgentPrefix))); break; } } } $assetAssignmentOptions = collect($availableAssets ?? [])->map(function ($asset) { return [ 'id' => $asset->id, 'label' => trim($asset->name . ($asset->product?->name ? ' - ' . $asset->product->name : '') . ($asset->serial_number ? ' - ' . $asset->serial_number : '')), 'name' => $asset->name, 'serial_number' => $asset->serial_number, 'product' => $asset->product?->name, ]; })->values(); $resignationAssetOptions = collect($resignationAssets ?? [])->map(function ($asset) { return [ 'id' => $asset->id, 'label' => trim($asset->name . ($asset->product?->name ? ' - ' . $asset->product->name : '') . ($asset->serial_number ? ' - ' . $asset->serial_number : '')), 'name' => $asset->name, 'serial_number' => $asset->serial_number, 'product' => $asset->product?->name, ]; })->values(); $resignedStaff = $resignation?->staff; @endphp
Back to Tasks
@csrf @method('PUT')
Task Overview

Review the main task information and update the primary details.

@if ($task->created_by == Auth::id())
@error('task_name')
{{ $message }}
@enderror
@endif @if (($task->created_by == Auth::id() && $task->task_type != 'New Staff') || $task->task_type == 'New Staff')
{{ strlen(old('description', $task->description ?? '')) }}/500 characters
@error('description')
{{ $message }}
@enderror
@endif
@if ($task->created_by == Auth::id())
Assignment

Control task ownership and optionally attach students to this task.

@error('staff_id')
{{ $message }}
@enderror
@include('dashboard.tasks.schedule-demo-student-modal', [ 'initialSelectedStudents' => old('student_ids') ? \App\Models\Student::whereIn('id', old('student_ids'))->get() : ($task->students ?? collect()), ])
@error('student_ids')
{{ $message }}
@enderror
@endif
Timeline & Priority

Define the schedule, reminder date, priority, and status rules for this task.

@error('start_date')
{{ $message }}
@enderror
@error('due_date')
{{ $message }}
@enderror
@error('reminder')
{{ $message }}
@enderror
{{-- @if ($task->task_type == 'New Staff') --}}
@if ($task->new_staff && !$task->new_staff->contract && $department && $department->slug == 'hr')
Contract data required
Please update the staff contract data to close this task here.
@else @endif
{{-- @endif --}}
Progress Tracking

Adjust the completion percentage and track the task state visually.

Just started
{{ old('progress', $task->progress) }}%
Completed
@if ($task->created_by == Auth::id())
Additional Settings

Configure the task type, review linked new staff data, and manage attachments.

@if ($task_type == 'select') @else @endif @error('task_type')
{{ $message }}
@enderror
@if ($task->task_type == 'New Staff' && isset($task->new_staff))
{{ $task->new_staff->first_name . ' ' . $task->new_staff->last_name }}
{{ $task->task_type }}
@endif
@error('attachments')
{{ $message }}
@enderror @error('attachments.*')
{{ $message }}
@enderror
@if (isset($attachments) && count($attachments) > 0)
Existing Attachments
@foreach ($attachments as $file) @php $extension = strtolower(pathinfo($file->file_path, PATHINFO_EXTENSION)); $isImage = in_array($extension, ['jpg', 'jpeg', 'png', 'gif', 'webp']); @endphp
@if ($isImage) {{ $file->original_name }} @else
@endif
{{ $file->original_name }}
View File
@endforeach
@endif
@endif @if ($currentStaffDepartmentSlug === 'it' && $task->task_type == 'New Staff' && $task->new_staff?->user_id)
Linked with Assets

Assign one or more In Store assets to {{ $task->new_staff->first_name }} {{ $task->new_staff->last_name }}.

@if ($newStaffAssignedAssets->isNotEmpty())
@foreach ($newStaffAssignedAssets as $assignedAsset)
{{ $assignedAsset->name }} {{ $assignedAsset->product?->name ?? 'Asset' }} @if ($assignedAsset->serial_number) - {{ $assignedAsset->serial_number }} @endif
@endforeach
@else
@endif
@endif @if ($currentStaffDepartmentSlug === 'it' && $task->task_type == 'Resignation' && $resignedStaff?->user_id)
Assets to Unlink

Unlink assets from {{ $resignedStaff->first_name }} {{ $resignedStaff->last_name }} and return them back to In Store.

@foreach ($resignationAssets as $assetOption) @php $assetProductName = $assetOption->product?->name ?? ''; $assetSerialNumber = $assetOption->serial_number ?? ''; @endphp
{{ $assetOption->name }}
@if ($assetProductName) {{ $assetProductName }} @endif @if ($assetSerialNumber) Serial: {{ $assetSerialNumber }} @endif @if (! $assetProductName && ! $assetSerialNumber) Linked to staff @endif
@endforeach
@endif @if ($task->new_staff && $department && ($department->slug == 'hr' || $department->slug == 'it'))
Additional Information

Add one or more extra fields to support onboarding or department-specific requirements.

@foreach ($additionalInfoValues as $info)
@endforeach
@endif
Cancel
@endsection @push('styles') @endpush @push('scripts') @endpush {{-- @push('scripts') @endpush --}}