diff --git a/app/Http/Requests/ProjectManagement/StoreIssueRequest.php b/app/Http/Requests/ProjectManagement/StoreIssueRequest.php index 68b33de2..55fe325a 100644 --- a/app/Http/Requests/ProjectManagement/StoreIssueRequest.php +++ b/app/Http/Requests/ProjectManagement/StoreIssueRequest.php @@ -27,6 +27,9 @@ public function rules(): array 'description' => 'nullable|string|max:5000', 'type' => 'nullable|in:'.implode(',', array_keys(AdminPmIssue::getTypes())), 'status' => 'nullable|in:'.implode(',', array_keys(AdminPmIssue::getStatuses())), + 'start_date' => 'nullable|date', + 'due_date' => 'nullable|date|after_or_equal:start_date', + 'estimated_hours' => 'nullable|integer|min:0|max:9999', ]; } @@ -42,6 +45,9 @@ public function attributes(): array 'description' => '이슈 설명', 'type' => '타입', 'status' => '상태', + 'start_date' => '시작일', + 'due_date' => '마감일', + 'estimated_hours' => '예상 시간', ]; } diff --git a/app/Http/Requests/ProjectManagement/UpdateIssueRequest.php b/app/Http/Requests/ProjectManagement/UpdateIssueRequest.php index 80fbe0f4..b5f77801 100644 --- a/app/Http/Requests/ProjectManagement/UpdateIssueRequest.php +++ b/app/Http/Requests/ProjectManagement/UpdateIssueRequest.php @@ -27,6 +27,9 @@ public function rules(): array 'description' => 'nullable|string|max:5000', 'type' => 'sometimes|in:'.implode(',', array_keys(AdminPmIssue::getTypes())), 'status' => 'sometimes|in:'.implode(',', array_keys(AdminPmIssue::getStatuses())), + 'start_date' => 'nullable|date', + 'due_date' => 'nullable|date|after_or_equal:start_date', + 'estimated_hours' => 'nullable|integer|min:0|max:9999', ]; } @@ -42,6 +45,9 @@ public function attributes(): array 'description' => '이슈 설명', 'type' => '타입', 'status' => '상태', + 'start_date' => '시작일', + 'due_date' => '마감일', + 'estimated_hours' => '예상 시간', ]; } diff --git a/app/Models/Admin/AdminPmIssue.php b/app/Models/Admin/AdminPmIssue.php index 569d7f60..366ef800 100644 --- a/app/Models/Admin/AdminPmIssue.php +++ b/app/Models/Admin/AdminPmIssue.php @@ -37,6 +37,9 @@ class AdminPmIssue extends Model 'description', 'type', 'status', + 'start_date', + 'due_date', + 'estimated_hours', 'is_urgent', 'created_by', 'updated_by', @@ -46,6 +49,9 @@ class AdminPmIssue extends Model protected $casts = [ 'project_id' => 'integer', 'task_id' => 'integer', + 'start_date' => 'date', + 'due_date' => 'date', + 'estimated_hours' => 'integer', 'is_urgent' => 'boolean', 'created_by' => 'integer', 'updated_by' => 'integer', diff --git a/resources/views/project-management/projects/show.blade.php b/resources/views/project-management/projects/show.blade.php index f0ba941b..2b4346fb 100644 --- a/resources/views/project-management/projects/show.blade.php +++ b/resources/views/project-management/projects/show.blade.php @@ -283,6 +283,25 @@ class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:rin +