Compare commits

..

3 Commits

Author SHA1 Message Date
aslan 9f926f4ac5 fix message validation
Tests & Lint & Deploy to Railway / build (2.7.6, 20.x, 8.3) (push) Successful in 2m40s Details
Tests & Lint & Deploy to Railway / deploy (push) Successful in 30s Details
2024-06-11 10:19:04 +03:00
aslan 73e6502e60 fix last position and last admission id 2024-06-11 10:18:49 +03:00
aslan 97f4cd68e6 fix unique name document 2024-06-11 10:18:02 +03:00
6 changed files with 54 additions and 4 deletions

View File

@ -4,6 +4,7 @@ namespace App\Helpers;
use App\Models\Direction; use App\Models\Direction;
use App\Models\DirectionProfile; use App\Models\DirectionProfile;
use App\Models\Document;
use App\Models\EntranceExamination; use App\Models\EntranceExamination;
use App\Models\ExaminationType; use App\Models\ExaminationType;
use App\Models\Faculty; use App\Models\Faculty;
@ -66,4 +67,10 @@ class PositionHelper
$maxPosition = EntranceExamination::max('position'); $maxPosition = EntranceExamination::max('position');
return $maxPosition >= 254 ? 255 : $maxPosition + 1; return $maxPosition >= 254 ? 255 : $maxPosition + 1;
} }
public static function document()
{
$maxPosition = Document::max('position');
return $maxPosition >= 254 ? 255 : $maxPosition + 1;
}
} }

View File

@ -24,7 +24,9 @@ class DocumentController extends Controller
public function create(): View|Application|Factory|\Illuminate\Contracts\Foundation\Application public function create(): View|Application|Factory|\Illuminate\Contracts\Foundation\Application
{ {
$admissions = Admission::pluck('name', 'id'); $admissions = Admission::pluck('name', 'id');
return view('admin.documents.create', compact('admissions')); $lastDocument = Document::latest()->first();
// dd($lastDocument->admission_id);
return view('admin.documents.create', compact('admissions', 'lastDocument'));
} }
public function store(StoreDocumentRequest $request): RedirectResponse public function store(StoreDocumentRequest $request): RedirectResponse

View File

@ -22,4 +22,24 @@ class StoreDocumentRequest extends FormRequest
'admission_id' => 'required|int|numeric|max:1000', 'admission_id' => 'required|int|numeric|max:1000',
]; ];
} }
public function messages(): array
{
return [
'position.required' => 'Поле позиция обязательно.',
'position.int' => 'Позиция должно быть целым числом.',
'position.numeric' => 'Позиция должно быть числом.',
'position.max' => 'Позиция не должен быть больше :max',
'name.required' => 'Поле название обязательно.',
'name.string' => 'Поле название должен быть строкой.',
'name.max' => 'Поле название не должен превышать :max символов.',
'name.unique' => 'Название уже занят.',
'description.string' => 'Поле описание должен быть строкой.',
'document.required' => 'Поле документ обязательно.',
'admission_id.required' => 'Поле Пункт приема обучения обязательно.',
'admission_id.int' => 'Стоимость Пункт приема должно быть целым числом.',
'admission_id.numeric' => 'Стоимость Пункт приема должно быть числом.',
'admission_id.max' => 'Стоимость Пункт приема не должен быть больше :max',
];
}
} }

View File

@ -25,4 +25,24 @@ class UpdateDocumentRequest extends FormRequest
'admission_id' => 'required|int|numeric|max:1000', 'admission_id' => 'required|int|numeric|max:1000',
]; ];
} }
public function messages(): array
{
return [
'position.required' => 'Поле позиция обязательно.',
'position.int' => 'Позиция должно быть целым числом.',
'position.numeric' => 'Позиция должно быть числом.',
'position.max' => 'Позиция не должен быть больше :max',
'name.required' => 'Поле название обязательно.',
'name.string' => 'Поле название должен быть строкой.',
'name.max' => 'Поле название не должен превышать :max символов.',
'name.unique' => 'Название уже занят.',
'description.string' => 'Поле описание должен быть строкой.',
'document.required' => 'Поле документ обязательно.',
'admission_id.required' => 'Поле Пункт приема обучения обязательно.',
'admission_id.int' => 'Стоимость Пункт приема должно быть целым числом.',
'admission_id.numeric' => 'Стоимость Пункт приема должно быть числом.',
'admission_id.max' => 'Стоимость Пункт приема не должен быть больше :max',
];
}
} }

View File

@ -10,7 +10,7 @@ return new class extends Migration
{ {
Schema::create('documents', function (Blueprint $table) { Schema::create('documents', function (Blueprint $table) {
$table->id(); $table->id();
$table->string('name', 255)->unique(); $table->string('name', 255);
$table->string('file_name')->nullable(); $table->string('file_name')->nullable();
$table->text('description')->nullable(); $table->text('description')->nullable();
$table->string('url', 255); $table->string('url', 255);

View File

@ -1,3 +1,4 @@
@php use App\Helpers\PositionHelper; @endphp
@extends('layouts.admin_layout') @extends('layouts.admin_layout')
@section('content') @section('content')
@auth() @auth()
@ -42,7 +43,7 @@
{{ Form::label('position', 'Позиция') }} {{ Form::label('position', 'Позиция') }}
</div> </div>
<div class="mt-2"> <div class="mt-2">
{{ Form::text('position', 0, ['class' => 'form-control']) }} {{ Form::text('position', PositionHelper::document(), ['class' => 'form-control']) }}
</div> </div>
<div> <div>
@if ($errors->any()) @if ($errors->any())
@ -53,7 +54,7 @@
{{ Form::label('admission_id', 'Пункт экрана приема') }} {{ Form::label('admission_id', 'Пункт экрана приема') }}
</div> </div>
<div class="mt-2"> <div class="mt-2">
{{ Form::select('admission_id', $admissions, null, ['class' => 'form-select']) }} {{ Form::select('admission_id', $admissions, $lastDocument->admission_id, ['class' => 'form-select']) }}
</div> </div>
<div> <div>
@if ($errors->any()) @if ($errors->any())