diff --git a/app/Http/Controllers/Admin/ScoringGuideController.php b/app/Http/Controllers/Admin/ScoringGuideController.php index a357c79..080367d 100644 --- a/app/Http/Controllers/Admin/ScoringGuideController.php +++ b/app/Http/Controllers/Admin/ScoringGuideController.php @@ -86,7 +86,6 @@ class ScoringGuideController extends Controller $validateData['for_advance'] = 0; $validateData['for_seating'] = 1; } - SubscoreDefinition::create([ 'scoring_guide_id' => $guide->id, 'name' => $validateData['name'], diff --git a/app/Http/Requests/SubscoreDefinitionRequest.php b/app/Http/Requests/SubscoreDefinitionRequest.php index 8b188be..be04568 100644 --- a/app/Http/Requests/SubscoreDefinitionRequest.php +++ b/app/Http/Requests/SubscoreDefinitionRequest.php @@ -21,6 +21,15 @@ class SubscoreDefinitionRequest extends FormRequest * * @return array|string> */ + protected function prepareForValidation() + { + // Handle checkboxes + $this->merge([ + 'for_seating' => $this->has('for_seating') ? true : false, + 'for_advance' => $this->has('for_advance') ? true : false, + ]); + } + public function rules(): array { $guideId = $this->route('guide')->id; // get the guide ID from route model binding @@ -36,19 +45,13 @@ class SubscoreDefinitionRequest extends FormRequest ], 'max_score' => ['required', 'integer'], 'weight' => ['required', 'integer'], - 'for_seating' => ['sometimes', 'nullable'], - 'for_advance' => ['sometimes', 'nullable'], + 'for_seating' => ['boolean'], + 'for_advance' => ['boolean'], ]; } protected function passedValidation() { - // Normalize the boolean inputs - $this->merge([ - 'for_seating' => $this->has('for_seating') ? (bool) $this->input('for_seating') : false, - 'for_advance' => $this->has('for_advance') ? (bool) $this->input('for_advance') : false, - ]); - // Apply your custom logic if (! auditionSetting('advanceTo')) { $this->merge(['for_seating' => true]);