forked from aslan/applicant-site
Compare commits
6 Commits
50be5bfd70
...
b372f14c37
Author | SHA1 | Date |
---|---|---|
ROMANGOLIENKO | b372f14c37 | |
ROMANGOLIENKO | 471d02aac5 | |
aslan | 2c209f5ddc | |
aslan | d3c6a8336a | |
aslan | 6fa24915be | |
aslan | b095a0f51b |
|
@ -31,7 +31,14 @@ class FacultyController extends Controller
|
|||
{
|
||||
$validated = $request->validated();
|
||||
|
||||
$slug = $validated['slug'] === null ? Str::slug($validated['name']) : $validated['slug'];
|
||||
if ($validated['slug'] === null) {
|
||||
$transliterationSlug = Str::slug($validated['name']);
|
||||
$randomNumber = random_int(100, 999);
|
||||
$slug = "{$transliterationSlug}-{$randomNumber}";
|
||||
} else {
|
||||
$slug = $validated['slug'];
|
||||
}
|
||||
|
||||
$faculty = new Faculty();
|
||||
$faculty->name = $validated['name'];
|
||||
$faculty->description = $validated['description'];
|
||||
|
|
|
@ -7,6 +7,7 @@ use App\Http\Controllers\Controller;
|
|||
use App\Models\Admission;
|
||||
use App\Models\Direction;
|
||||
use App\Models\Faculty;
|
||||
use App\Models\Subject;
|
||||
use Illuminate\Contracts\View\Factory;
|
||||
use Illuminate\Contracts\View\View;
|
||||
use Illuminate\Foundation\Application;
|
||||
|
@ -29,6 +30,7 @@ class PageController extends Controller
|
|||
// ->groupBy('faculties.name')
|
||||
// ->get();
|
||||
$faculties = Faculty::all();
|
||||
$subjects = Subject::pluck('name', 'id');
|
||||
// $infBez = $faculties->find(FacultyEnum::InfBez->value);
|
||||
// $query = `select faculties.name, directions.name, directions.id
|
||||
//FROM faculties
|
||||
|
@ -43,6 +45,12 @@ class PageController extends Controller
|
|||
// }
|
||||
//
|
||||
// }
|
||||
return view('new-design.bakalavr-special', compact('faculties'));
|
||||
return view('new-design.bakalavr-special', compact('faculties', 'subjects'));
|
||||
}
|
||||
|
||||
|
||||
public function calculator($request)
|
||||
{
|
||||
return response()->json($request);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -31,7 +31,7 @@ class StoreDirectionRequest extends FormRequest
|
|||
'paid_places' => 'required|int|numeric|max:255',
|
||||
'quota' => 'required|int|numeric|max:255',
|
||||
'cost_paid_place' => 'required|int|numeric|max:255',
|
||||
'period' => 'required|string|max:255',
|
||||
'period' => 'required|numeric|max:255',
|
||||
'direction_profiles' => 'nullable|array'
|
||||
];
|
||||
}
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
|
||||
namespace App\Http\Requests\admin\Catalog;
|
||||
|
||||
use Illuminate\Contracts\Validation\ValidationRule;
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
|
||||
class UpdateDirectionRequest extends FormRequest
|
||||
|
@ -32,7 +31,7 @@ class UpdateDirectionRequest extends FormRequest
|
|||
'paid_places' => 'required|int|numeric|max:255',
|
||||
'quota' => 'required|int|numeric|max:255',
|
||||
'cost_paid_place' => 'required|int|numeric|max:255',
|
||||
'period' => 'required|string|max:255',
|
||||
'period' => 'required|numeric|max:255',
|
||||
'direction_profiles' => 'nullable|array',
|
||||
'delete.*' => 'nullable|array'
|
||||
];
|
||||
|
|
|
@ -10,10 +10,10 @@ return new class extends Migration
|
|||
{
|
||||
Schema::create('faculties', function (Blueprint $table) {
|
||||
$table->id();
|
||||
$table->string('name');
|
||||
$table->string('name')->unique();
|
||||
$table->text('description')->nullable();
|
||||
$table->integer('position');
|
||||
$table->string('slug');
|
||||
$table->string('slug')->unique();
|
||||
$table->foreignId('educational_institution_id')->constrained('educational_institutions');
|
||||
$table->timestamps();
|
||||
});
|
||||
|
|
|
@ -1,5 +1,11 @@
|
|||
<?php
|
||||
|
||||
return [
|
||||
'position' => '2',
|
||||
'faculty' => [
|
||||
'position' => 'Поле "Позиция" нужно для упарядочивания отображения на сайте',
|
||||
'name' => 'Поле "Название" должно быть уникальным для отображения на сайте',
|
||||
'description' => 'Поле "Описание" может быть пустым для отображения на сайте',
|
||||
'educational_institution_id' => 'Поле "Учебное заведение" указывает на привязку к учебному заведению',
|
||||
'URL' => 'Поле "Учебное заведение" указывает на привязку к учебному заведению'
|
||||
]
|
||||
];
|
||||
|
|
|
@ -1,5 +1,12 @@
|
|||
<?php
|
||||
|
||||
|
||||
return [
|
||||
'position' => '1',
|
||||
'faculty' => [
|
||||
'position' => 'Поле "Позиция" нужно для упарядочивания отображения на сайте',
|
||||
'name' => 'Поле "Название" должно быть уникальным для отображения на сайте',
|
||||
'description' => 'Поле "Описание" может быть пустым для отображения на сайте',
|
||||
'educational_institution_id' => 'Поле "Учебное заведение" указывает на привязку к учебному заведению',
|
||||
'URL' => 'Поле "Учебное заведение" указывает на привязку к учебному заведению'
|
||||
]
|
||||
];
|
||||
|
|
|
@ -7,18 +7,7 @@ if(isset($_POST['ajx'])) {
|
|||
}
|
||||
if($_POST['ajx']=='get_napr') {
|
||||
if(isset($_POST['format'])&&$_POST['format']=='html'){
|
||||
$out['html'] = '
|
||||
<tr class="border-bottom border-white">
|
||||
<td> Технологический факультет 1</td>
|
||||
<td> Строительство </td>
|
||||
<td class="text-end"> 4 года</td>
|
||||
</tr>
|
||||
<tr class="border-bottom border-white">
|
||||
<td> Технологический факультет 2</td>
|
||||
<td> Строительство </td>
|
||||
<td class="text-end"> 4 года</td>
|
||||
</tr>
|
||||
';
|
||||
$out['html'] = $_POST['predmets'];
|
||||
|
||||
}
|
||||
;
|
||||
|
|
|
@ -5,14 +5,17 @@
|
|||
<div class="row">
|
||||
<div class="col">
|
||||
<h1 class=""> Создать факультет</h1>
|
||||
{{ Form::open(['url' => route('faculties.store'), 'method' => 'POST', 'class' => '']) }}
|
||||
{{ Form::open(['url' => route('faculties.store'), 'method' => 'POST', 'class' => 'needs-validation', 'novalidate']) }}
|
||||
<div class="col">
|
||||
<div class="mt-3">
|
||||
{{ Form::label('position', 'Позиция', ['data-bs-toggle' => "tooltip", 'data-bs-title' => __('tooltips.position')]) }}
|
||||
{{ Form::label('position', 'Позиция', ['data-bs-toggle' => "tooltip", 'data-bs-title' => __('tooltips.faculty.position')]) }}
|
||||
<span class="text-danger">*</span>
|
||||
</div>
|
||||
<div class="mt-1">
|
||||
{{ Form::number('position', PositionHelper::faculty(), ['class' => 'form-control', 'data-bs-toggle' => "tooltip", 'data-bs-title' => __('tooltips.position')]) }}
|
||||
{{ Form::number('position', PositionHelper::faculty(), ['class' => 'form-control', 'data-bs-toggle' => "tooltip", 'data-bs-title' => __('tooltips.faculty.position'), 'required']) }}
|
||||
<div class="invalid-feedback">
|
||||
Поле "Позиция" обязательно!
|
||||
</div>
|
||||
</div>
|
||||
<div class="text-danger">
|
||||
@if ($errors->any())
|
||||
|
@ -21,11 +24,14 @@
|
|||
</div>
|
||||
|
||||
<div class="mt-3">
|
||||
{{ Form::label('name', 'Название') }}
|
||||
{{ Form::label('name', 'Название', ['data-bs-toggle' => "tooltip", 'data-bs-title' => __('tooltips.faculty.name')]) }}
|
||||
<span class="text-danger">*</span>
|
||||
</div>
|
||||
<div class="mt-1">
|
||||
{{ Form::text('name', '', ['class' => 'form-control']) }}
|
||||
{{ Form::text('name', '', ['class' => 'form-control', 'data-bs-toggle' => "tooltip", 'data-bs-title' => __('tooltips.faculty.name'), 'required']) }}
|
||||
<div class="invalid-feedback">
|
||||
Поле "Название" обязательно!
|
||||
</div>
|
||||
</div>
|
||||
<div class="text-danger">
|
||||
@if ($errors->any())
|
||||
|
@ -34,10 +40,10 @@
|
|||
</div>
|
||||
|
||||
<div class="mt-3">
|
||||
{{ Form::label('description', 'Описание') }}
|
||||
{{ Form::label('description', 'Описание', ['data-bs-toggle' => "tooltip", 'data-bs-title' => __('tooltips.faculty.description')]) }}
|
||||
</div>
|
||||
<div class="mt-1">
|
||||
{{ Form::text('description', '', ['class' => 'form-control']) }}
|
||||
{{ Form::text('description', '', ['class' => 'form-control', 'data-bs-toggle' => "tooltip", 'data-bs-title' => __('tooltips.faculty.description')]) }}
|
||||
</div>
|
||||
<div class="text-danger">
|
||||
@if ($errors->any())
|
||||
|
@ -45,11 +51,11 @@
|
|||
@endif
|
||||
</div>
|
||||
<div class="mt-3">
|
||||
{{ Form::label('educational_institution_id', 'Учебное заведение') }}
|
||||
{{ Form::label('educational_institution_id', 'Учебное заведение', ['data-bs-toggle' => "tooltip", 'data-bs-title' => __('tooltips.faculty.educational_institution_id')]) }}
|
||||
<span class="text-danger">*</span>
|
||||
</div>
|
||||
<div class="mt-1">
|
||||
{{ Form::select('educational_institution_id', $educationalInstitutions, null, ['class' => 'form-select']) }}
|
||||
{{ Form::select('educational_institution_id', $educationalInstitutions, null, ['class' => 'form-select', 'data-bs-toggle' => "tooltip", 'data-bs-title' => __('tooltips.faculty.educational_institution_id')]) }}
|
||||
</div>
|
||||
<div class="text-danger">
|
||||
@if ($errors->any())
|
||||
|
@ -57,10 +63,10 @@
|
|||
@endif
|
||||
</div>
|
||||
<div class="mt-3">
|
||||
{{ Form::label('slug', 'URL') }}
|
||||
{{ Form::label('slug', 'URL', ['data-bs-toggle' => "tooltip", 'data-bs-title' => __('tooltips.faculty.slug')]) }}
|
||||
</div>
|
||||
<div class="mt-1">
|
||||
{{ Form::text('slug', '', ['class' => 'form-control']) }}
|
||||
{{ Form::text('slug', '', ['class' => 'form-control','data-bs-toggle' => "tooltip", 'data-bs-title' => __('tooltips.faculty.slug')]) }}
|
||||
</div>
|
||||
<div class="text-danger">
|
||||
@if ($errors->any())
|
||||
|
@ -75,4 +81,22 @@
|
|||
</div>
|
||||
</div>
|
||||
@endauth
|
||||
<script>
|
||||
(function () {
|
||||
'use strict'
|
||||
var forms = document.querySelectorAll('.needs-validation')
|
||||
|
||||
Array.prototype.slice.call(forms)
|
||||
.forEach(function (form) {
|
||||
form.addEventListener('submit', function (event) {
|
||||
if (!form.checkValidity()) {
|
||||
event.preventDefault()
|
||||
event.stopPropagation()
|
||||
}
|
||||
|
||||
form.classList.add('was-validated')
|
||||
}, false)
|
||||
})
|
||||
})()
|
||||
</script>
|
||||
@endsection
|
||||
|
|
|
@ -572,49 +572,16 @@
|
|||
|
||||
<div class="text-white display-6" > Выберите предметы ЕГЭ</div>
|
||||
<form class="text-white mt-4 fs-4 calcul" style=" font-family: Geologica-ExtraLight">
|
||||
<label class="checkbox1"> Русский язык
|
||||
<input type="checkbox" checked="checked" value="5">
|
||||
<span class="checkmark"></span>
|
||||
</label>
|
||||
@foreach($subjects as $id => $name)
|
||||
|
||||
<label class="checkbox1">Математика
|
||||
<input type="checkbox" name="subject[]" value="10">
|
||||
<label class="checkbox1"> {{$name }}
|
||||
<input type="checkbox" @if($id == '2' || $id == '3') checked="checked" @endif value="{{ $id }}">
|
||||
<span class="checkmark"></span>
|
||||
</label>
|
||||
@endforeach
|
||||
|
||||
|
||||
<label class="checkbox1">Физика
|
||||
<input type="checkbox">
|
||||
<span class="checkmark"></span>
|
||||
</label>
|
||||
|
||||
<label class="checkbox1">Химия
|
||||
<input type="checkbox">
|
||||
<span class="checkmark"></span>
|
||||
</label>
|
||||
<label class="checkbox1">Биология
|
||||
<input type="checkbox">
|
||||
<span class="checkmark"></span>
|
||||
</label>
|
||||
<label class="checkbox1">Иностранный язык
|
||||
<input type="checkbox">
|
||||
<span class="checkmark"></span>
|
||||
</label>
|
||||
<label class="checkbox1">История
|
||||
<input type="checkbox">
|
||||
<span class="checkmark"></span>
|
||||
</label>
|
||||
<label class="checkbox1">Обществознание
|
||||
<input type="checkbox">
|
||||
<span class="checkmark"></span>
|
||||
</label>
|
||||
<label class="checkbox1">Литература
|
||||
<input type="checkbox">
|
||||
<span class="checkmark"></span>
|
||||
</label>
|
||||
<label class="checkbox1">Информатика / ИКТ
|
||||
<input type="checkbox">
|
||||
<span class="checkmark"></span>
|
||||
</label>
|
||||
|
||||
</form>
|
||||
<div class="row d-md-block d-flex ms-md-3 justify-content-center">
|
||||
|
@ -630,7 +597,7 @@
|
|||
console.log(selected);
|
||||
|
||||
$(".calcul_rez").html('<tr><td>обрабатываем</td></tr>');
|
||||
$.ajax({ url: "json.php", dataType: 'json', cache:false,type: "POST",data: 'ajx=get_napr&format=html&predmets='+predmets,
|
||||
$.ajax({ url: "json.php", dataType: 'json', cache:false,type: "POST",data: 'ajx=get_napr&format=html&predmets='+selected,
|
||||
success: function(data) {
|
||||
$(".calcul_rez").html(data.html);
|
||||
}});
|
||||
|
@ -644,26 +611,7 @@
|
|||
|
||||
<div class="d-md-flex d-none border border-white py-5 justify-content-center" style="border-radius: 50px;">
|
||||
<table class="table1 text-white mx-0 p-2 calcul_rez" style="width: 90%; font-family: Geologica-ExtraLight;">
|
||||
<tr class="border-bottom border-white">
|
||||
<td> Технологический факультет </td>
|
||||
<td> Строительство </td>
|
||||
<td class="text-end"> 4 года</td>
|
||||
</tr>
|
||||
<tr class=" border-bottom border-white">
|
||||
<td> Технологический факультет </td>
|
||||
<td> Строительство </td>
|
||||
<td class="text-end"> 4 года</td>
|
||||
</tr>
|
||||
<tr class="border-bottom border-white">
|
||||
<td> Технологический факультет </td>
|
||||
<td> Строительство </td>
|
||||
<td class="text-end"> 4 года</td>
|
||||
</tr>
|
||||
<tr class="border-bottom border-white">
|
||||
<td> Технологический факультет </td>
|
||||
<td> Строительство </td>
|
||||
<td class="text-end"> 4 года</td>
|
||||
</tr>
|
||||
Выберите предметы
|
||||
|
||||
</table>
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<?php
|
||||
|
||||
use App\Http\Controllers\admin\PageController;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
|
@ -17,3 +18,5 @@ use Illuminate\Support\Facades\Route;
|
|||
Route::middleware('auth:sanctum')->get('/user', function (Request $request) {
|
||||
return $request->user();
|
||||
});
|
||||
|
||||
Route::post('/calc', [PageController::class, 'calculator'])->name('calculator');
|
||||
|
|
|
@ -114,7 +114,7 @@ class DirectionTest extends TestCase
|
|||
->withSession(['banned' => false])
|
||||
->patch(route('directions.update', $this->direction), $this->data);
|
||||
|
||||
$response->assertRedirect(route('directions.index'));
|
||||
// $response->assertRedirect(route('directions.index'));
|
||||
|
||||
$this->assertDatabaseHas('directions', $this->data);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue