feat: add age requirement field to vacancies, defaulting to 16

Signed-off-by: miguel456 <me@nogueira.codes>
This commit is contained in:
Miguel Nogueira 2022-10-23 18:14:31 +01:00
parent 043fcd102a
commit 3d219ea429
No known key found for this signature in database
GPG Key ID: 3C6A7E29AF26D370
8 changed files with 40 additions and 5 deletions

View File

@ -70,7 +70,8 @@ class VacancyController extends Controller
'discordRoleID' => $request->discordRole,
'vacancyFormID' => $request->vacancyFormID,
'vacancyCount' => $request->vacancyCount,
'requiresDiscord' => $request->requireDiscordAccount == 'on'
'requiresDiscord' => $request->requireDiscordAccount == 'on',
'requiredAge' => $request->requiredAge
]);
@ -144,6 +145,7 @@ class VacancyController extends Controller
$vacancy->vacancyDescription = $request->vacancyDescription;
$vacancy->vacancyCount = $request->vacancyCount;
$vacancy->requiresDiscord = $request->requireDiscordAccount == 'on';
$vacancy->requiredAge = $request->requiredAge;
$vacancy->save();

View File

@ -47,7 +47,8 @@ class VacancyEditRequest extends FormRequest
'vacancyDescription' => 'required|string',
'vacancyFullDescription' => 'nullable|string',
'vacancyCount' => 'required|integer|min:1',
'requireDiscordAccount' => 'required|string'
'requireDiscordAccount' => 'required|string',
'requiredAge' => 'required|integer|numeric|min:13|max:100'
];
}
}

View File

@ -52,7 +52,8 @@ class VacancyRequest extends FormRequest
'discordRole' => 'nullable|string',
'vacancyCount' => 'required|integer',
'vacancyFormID' => 'required|integer',
'requireDiscordAccount' => 'required|string'
'requireDiscordAccount' => 'required|string',
'requiredAge' => 'required|integer|numeric|min:13|max:100'
];
}
}

View File

@ -44,7 +44,8 @@ class Vacancy extends Model
'vacancyStatus',
'vacancySlug',
'team_id',
'requiresDiscord'
'requiresDiscord',
'requiredAge'
];

View File

@ -0,0 +1,22 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class AddRequiredAgeToVacancies extends Migration
{
public function up()
{
Schema::table('vacancies', function (Blueprint $table) {
$table->integer('requiredAge')->default(16)->after('vacancyStatus');
});
}
public function down()
{
Schema::table('vacancies', function (Blueprint $table) {
$table->dropColumn('requiredAge');
});
}
}

View File

@ -110,6 +110,10 @@
<label for="remainingSlots">{{__('Remaining slots')}}</label>
<input type="text" class="form-control" value="{{ $vacancy->vacancyCount }}" id="remainingSlots" name="vacancyCount" />
<label for="requiredAge">{{__('Minimum age')}}</label>
<input type="number" min="13" max="100" class="form-control" value="{{ $vacancy->requiredAge }}" id="requiredAge" name="requiredAge" />
<div class="form-check mt-4">
<input type="hidden" value="off" name="requireDiscordAccount">
<input class="form-check-input" type="checkbox" id="requireDiscordAccount" name="requireDiscordAccount" @if($vacancy->requiresDiscord) checked @endif>

View File

@ -88,6 +88,10 @@
<label for="vacancyCount">{{__('Free slots')}}</label>
<input rel="txtTooltip" title="{{__('The number of free slots decreases each time an applicant is approved for this vacancy.')}}" data-toggle="tooltip" data-placement="bottom" type="text" id="vacancyCount" name="vacancyCount" class="form-control">
<label for="requiredAge">{{__('Minimum age')}}</label>
<input rel="txtTooltip" title="{{__('How old must users be to apply for this vacancy?')}}" data-toggle="tooltip" data-placement="bottom" type="number" min="13" max="100" id="requiredAge" name="requiredAge" class="form-control">
<div class="form-check mt-4">
<input type="hidden" value="off" name="requireDiscordAccount">
<input class="form-check-input" type="checkbox" value="" id="requireDiscordAccount" name="requireDiscordAccount">

View File

@ -80,7 +80,7 @@
<p class="text-bold">{{__('You are applying for: :vacancyNameValue', ['vacancyNameValue' => $vacancy->vacancyName])}}</p>
<p>{{__("We're glad you've decided to apply. Generally, applications take 48 hours to be processed and reviewed. Depending on the circumstances and the volume of applications, you may receive an answer in a shorter time.")}}</p>
<p>{{__('Please fill out the form below. Keep all answers concise and complete. Please keep in mind that the age requirement is at least :ageUpperLimitSettingValue years old.', ['ageUpperLimitSettingValue' => '16']) }}.</p>
<p>{{__('Please fill out the form below. Keep all answers concise and complete. Please keep in mind that you must be at least :ageUpperLimitSettingValue years old to apply.', ['ageUpperLimitSettingValue' => $vacancy->requiredAge]) }}</p>
<p class="text-bold">{{__('Asking about your application will result in instant denial. Everything you need to know is here.')}}.</p>
<p><i class="fab fa-markdown"></i> {!! __('All fields support <a target="_blank" href="https://www.markdownguide.org/cheat-sheet/">Markdown</a>') !!}</p>