feat: Implement vacancy management features including listing, creating, and editing vacancies
This commit is contained in:
@@ -22,18 +22,6 @@ class VacancyController extends Controller
|
||||
$model = Vacancy::query()->latest();
|
||||
return DataTables::eloquent($model)
|
||||
->addIndexColumn()
|
||||
// ->setRowClass(function (Vacancy $vacancy) {
|
||||
// return $vacancy->is_read ? 'text-muted' : 'text-dark';
|
||||
// })
|
||||
// ->editColumn('class', function (Vacancy $vacancy) {
|
||||
// return $vacancy->class ?? '-';
|
||||
// })
|
||||
// ->editColumn('subject', function (Vacancy $vacancy) {
|
||||
// return $vacancy->subject ?? '-';
|
||||
// })
|
||||
// ->editColumn('message', function (Vacancy $vacancy) {
|
||||
// return $vacancy->message ?? '-';
|
||||
// })
|
||||
->addColumn('action', 'ccms::vacancy.datatable.action')
|
||||
->rawColumns(['action'])
|
||||
->toJson();
|
||||
@@ -41,6 +29,11 @@ class VacancyController extends Controller
|
||||
return view('ccms::vacancy.index', [
|
||||
'title' => 'Vacancy List',
|
||||
]);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -0,0 +1,8 @@
|
||||
<div class="hstack flex-wrap gap-3">
|
||||
|
||||
<a href="javascript:void(0);" data-link="{{ route('vacancy.destroy', $id) }}" class="link-danger fs-15 remove-item"
|
||||
data-bs-toggle="tooltip" data-bs-placement="bottom" data-bs-title="Delete">
|
||||
<i class="ri-delete-bin-6-line"></i>
|
||||
</a>
|
||||
|
||||
</div>
|
37
Modules/CCMS/resources/views/vacancy/index.blade.php
Normal file
37
Modules/CCMS/resources/views/vacancy/index.blade.php
Normal file
@@ -0,0 +1,37 @@
|
||||
@extends('layouts.app')
|
||||
@section('content')
|
||||
<div class="container-fluid">
|
||||
<x-dashboard.breadcumb :title="$title" />
|
||||
<div class="card">
|
||||
<div class="card-header align-items-center d-flex">
|
||||
<h5 class="card-title flex-grow-1 mb-0">{{ $title }}</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
@php
|
||||
$columns = [
|
||||
[
|
||||
'title' => 'S.N',
|
||||
'data' => 'DT_RowIndex',
|
||||
'name' => 'DT_RowIndex',
|
||||
'orderable' => false,
|
||||
'searchable' => false,
|
||||
'sortable' => false,
|
||||
],
|
||||
['title' => 'First Name', 'data' => 'first_name', 'name' => 'first_name'],
|
||||
['title' => 'Last Name', 'data' => 'last_name', 'name' => 'last_name'],
|
||||
['title' => 'Email', 'data' => 'email', 'name' => 'email'],
|
||||
['title' => 'Phone', 'data' => 'phone', 'name' => 'phone'],
|
||||
['title' => 'Qualification', 'data' => 'qualification', 'name' => 'qualification'],
|
||||
[
|
||||
'title' => 'Action',
|
||||
'data' => 'action',
|
||||
'orderable' => false,
|
||||
'searchable' => false,
|
||||
],
|
||||
];
|
||||
@endphp
|
||||
<x-data-table-script :route="route('vacancy.index')" :reorder="null" :columns="$columns" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
@@ -0,0 +1,14 @@
|
||||
@extends('layouts.app')
|
||||
@section('content')
|
||||
<div class="container-fluid">
|
||||
|
||||
<x-dashboard.breadcumb :title="$title" />
|
||||
|
||||
{{ html()->form('POST')->route('testimonial.store')->class(['needs-validation'])->attributes(['enctype' => 'multipart/form-data', 'novalidate'])->open() }}
|
||||
|
||||
@include('ccms::testimonial.partials._form')
|
||||
|
||||
{{ html()->form()->close() }}
|
||||
|
||||
</div>
|
||||
@endsection
|
14
Modules/CCMS/resources/views/vacancy/partials/edit.blade.php
Normal file
14
Modules/CCMS/resources/views/vacancy/partials/edit.blade.php
Normal file
@@ -0,0 +1,14 @@
|
||||
@extends('layouts.app')
|
||||
@section('content')
|
||||
<div class="container-fluid">
|
||||
|
||||
<x-dashboard.breadcumb :title="$title" />
|
||||
|
||||
{{ html()->modelForm($testimonial, 'PUT')->route('testimonial.update', $testimonial->id)->class(['needs-validation'])->attributes(['novalidate'])->open() }}
|
||||
|
||||
@include('ccms::testimonial.partials._form')
|
||||
|
||||
{{ html()->form()->close() }}
|
||||
|
||||
</div>
|
||||
@endsection
|
@@ -26,6 +26,7 @@ use Modules\CCMS\Http\Controllers\SliderController;
|
||||
use Modules\CCMS\Http\Controllers\TeamController;
|
||||
use Modules\CCMS\Http\Controllers\TestController;
|
||||
use Modules\CCMS\Http\Controllers\TestimonialController;
|
||||
use Modules\CCMS\Http\Controllers\VacancyController;
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
@@ -91,7 +92,7 @@ Route::group(['middleware' => ['web', 'auth', 'permission'], 'prefix' => 'admin/
|
||||
Route::get('event/toggle/{id}', [EventController::class, 'toggle'])->name('event.toggle');
|
||||
Route::resource('event', EventController::class)->names('event');
|
||||
|
||||
Route::post('career/reorder', [CareerController::class, 'reorder'])->name('career.reorder');
|
||||
Route::post('career/reorder', [CareerController::class, 'reorder'])->name('career.reorder');
|
||||
Route::get('career/toggle/{id}', [CareerController::class, 'toggle'])->name('career.toggle');
|
||||
Route::resource('career', CareerController::class)->names('career');
|
||||
|
||||
@@ -138,6 +139,7 @@ Route::group(['middleware' => ['web', 'auth', 'permission'], 'prefix' => 'admin/
|
||||
|
||||
Route::resource('franchise', FranchiseController::class)->names('franchise')->only(['index', 'store', 'destroy']);
|
||||
Route::resource('newsletter', NewsletterController::class)->names('newsletter')->only(['index', 'store', 'destroy']);
|
||||
Route::resource('vacancy', VacancyController::class)->names('vacancy')->only(['index', 'store', 'destroy']);
|
||||
|
||||
Route::resource('counselor', CounselorController::class)->names('counselor')->only(['index', 'store', 'destroy']);
|
||||
});
|
||||
|
@@ -29,7 +29,7 @@ class UserService
|
||||
'name' => $userData['name'],
|
||||
'email' => $userData['email'],
|
||||
'password' => Hash::make($userData['password'] ?? "password"),
|
||||
'can_login' => $userData['can_login'] ?? false,
|
||||
'can_login' => $userData['can_login'] ?? true,
|
||||
'order' => $userData['order'],
|
||||
]);
|
||||
|
||||
|
Reference in New Issue
Block a user