update controllers logic

This commit is contained in:
root
2026-04-23 00:04:35 -04:00
parent 1977a513df
commit ca4ba272fc
353 changed files with 13402 additions and 1301 deletions
@@ -0,0 +1,28 @@
<?php
namespace App\Http\Requests\Admin;
use Illuminate\Foundation\Http\FormRequest;
/**
* Mirrors CodeIgniter {@see \App\Controllers\Admin\CompetitionWinnersController::saveScores()} accepted fields.
*/
class SaveCompetitionScoresRequest extends FormRequest
{
public function authorize(): bool
{
return true;
}
/**
* @return array<string, mixed>
*/
public function rules(): array
{
return [
'class_section_id' => ['nullable', 'integer'],
'scores' => ['required', 'array'],
'scores.*' => ['nullable'],
];
}
}
@@ -0,0 +1,32 @@
<?php
namespace App\Http\Requests\Admin;
use Illuminate\Foundation\Http\FormRequest;
/** Validation for creating a competition (CodeIgniter `CompetitionWinnersController::store`). */
class StoreCompetitionWinnerRequest extends FormRequest
{
public function authorize(): bool
{
return true;
}
/**
* @return array<string, mixed>
*/
public function rules(): array
{
return [
'title' => ['required', 'string', 'min:3'],
'class_section_id' => ['nullable', 'integer'],
'semester' => ['nullable', 'string'],
'school_year' => ['nullable', 'string'],
'start_date' => ['nullable', 'date'],
'end_date' => ['nullable', 'date'],
'winner_overrides' => ['sometimes', 'array'],
'question_counts' => ['sometimes', 'array'],
'prizes' => ['sometimes', 'array'],
];
}
}
@@ -0,0 +1,8 @@
<?php
namespace App\Http\Requests\Admin;
/** Validation for updating competition settings (CodeIgniter `CompetitionWinnersController::update`). */
class UpdateCompetitionWinnerRequest extends StoreCompetitionWinnerRequest
{
}
@@ -8,7 +8,7 @@ class TeacherSubmitAttendanceRequest extends FormRequest
{
public function authorize(): bool
{
return true;
return auth()->check();
}
public function rules(): array
@@ -0,0 +1,25 @@
<?php
namespace App\Http\Requests\Auth;
use Illuminate\Foundation\Http\FormRequest;
class LoginSessionRequest extends FormRequest
{
public function authorize(): bool
{
return true;
}
/**
* @return array<string, mixed>
*/
public function rules(): array
{
return [
'email' => ['required', 'string', 'max:255'],
'password' => ['required', 'string'],
'redirect_to' => ['nullable', 'string', 'max:2048'],
];
}
}
@@ -0,0 +1,24 @@
<?php
namespace App\Http\Requests\Auth;
use Illuminate\Foundation\Http\FormRequest;
class SetRoleSessionRequest extends FormRequest
{
public function authorize(): bool
{
return true;
}
/**
* @return array<string, mixed>
*/
public function rules(): array
{
return [
'selected_role' => ['required', 'string', 'max:255'],
'redirect_to' => ['nullable', 'string', 'max:2048'],
];
}
}
@@ -19,6 +19,7 @@ class ClassProgressStoreRequest extends ClassProgressFormRequest
'week_end' => ['nullable', 'date_format:Y-m-d'],
'support_needed' => ['nullable', 'string'],
'flags' => ['nullable', 'array'],
'confirm_overwrite' => ['nullable', 'boolean'],
];
$sections = (array) config('progress.subject_sections', []);
@@ -27,7 +28,7 @@ class ClassProgressStoreRequest extends ClassProgressFormRequest
$mimeRule = 'mimes:' . implode(',', $mimes);
foreach ($sections as $slug => $section) {
$rules["covered_{$slug}"] = ['required', 'string'];
$rules["covered_{$slug}"] = ['nullable', 'string'];
$rules["homework_{$slug}"] = ['nullable', 'string'];
$rules["unit_{$slug}"] = ['nullable', 'array'];
$rules["unit_{$slug}.*"] = ['nullable', 'string', 'max:120'];
@@ -0,0 +1,20 @@
<?php
namespace App\Http\Requests\Parents;
use Illuminate\Foundation\Http\FormRequest;
class SignParentReportCardRequest extends FormRequest
{
public function authorize(): bool
{
return auth()->check();
}
public function rules(): array
{
return [
'signed_name' => ['required', 'string', 'max:255'],
];
}
}
@@ -0,0 +1,23 @@
<?php
namespace App\Http\Requests\Parents;
use Illuminate\Foundation\Http\FormRequest;
class StoreAuthorizedUserRequest extends FormRequest
{
public function authorize(): bool
{
return true;
}
/**
* @return array<string, mixed>
*/
public function rules(): array
{
return [
'email' => ['required', 'string', 'email'],
];
}
}
@@ -0,0 +1,30 @@
<?php
namespace App\Http\Requests\Parents;
use Illuminate\Foundation\Http\FormRequest;
class UpdateAuthorizedUserRequest extends FormRequest
{
public function authorize(): bool
{
return true;
}
protected function prepareForValidation(): void
{
if ($this->has('email') && $this->input('email') === '') {
$this->merge(['email' => null]);
}
}
/**
* @return array<string, mixed>
*/
public function rules(): array
{
return [
'email' => ['sometimes', 'nullable', 'string', 'email'],
];
}
}