u
Cette révision appartient à :
Parent
60c7b4af33
révision
205957a42b
@ -5,6 +5,10 @@
|
|||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use App\Models\Instructor;
|
use App\Models\Instructor;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
use App\Models\Role;
|
||||||
|
use Illuminate\Support\Facades\Hash;
|
||||||
|
use Exception;
|
||||||
|
use File;
|
||||||
|
|
||||||
class InstructorController extends Controller
|
class InstructorController extends Controller
|
||||||
{
|
{
|
||||||
@ -13,7 +17,8 @@ class InstructorController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function index()
|
public function index()
|
||||||
{
|
{
|
||||||
//
|
$instructor = Instructor::paginate(10);
|
||||||
|
return view('backend.instructor.index', compact('instructor'));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -21,7 +26,8 @@ public function index()
|
|||||||
*/
|
*/
|
||||||
public function create()
|
public function create()
|
||||||
{
|
{
|
||||||
//
|
$role = Role::get();
|
||||||
|
return view('backend.instructor.create', compact('role'));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -29,7 +35,33 @@ public function create()
|
|||||||
*/
|
*/
|
||||||
public function store(Request $request)
|
public function store(Request $request)
|
||||||
{
|
{
|
||||||
//
|
try {
|
||||||
|
$instructor = new Instructor;
|
||||||
|
$instructor->name_en = $request->fullName_en;
|
||||||
|
$instructor->name_bn = $request->fullName_bn;
|
||||||
|
$instructor->contact_en = $request->contactNumber_en;
|
||||||
|
$instructor->contact_bn = $request->contactNumber_bn;
|
||||||
|
$instructor->email = $request->emailAddress;
|
||||||
|
$instructor->role_id = $request->roleId;
|
||||||
|
$instructor->bio = $request->bio;
|
||||||
|
$instructor->status = $request->status;
|
||||||
|
$instructor->password = Hash::make($request->fullName_bn);
|
||||||
|
$instructor->language = 'en';
|
||||||
|
$instructor->access_block = $request->access_block;
|
||||||
|
|
||||||
|
if ($request->hasFile('image')) {
|
||||||
|
$imageName = rand(111, 999) . time() . '.' . $request->image->extension();
|
||||||
|
$request->image->move(public_path('uploads/instructors'), $imageName);
|
||||||
|
$instructor->image = $imageName;
|
||||||
|
}
|
||||||
|
if ($instructor->save())
|
||||||
|
return redirect()->route('instructor.index')->with('success', 'Data Saved');
|
||||||
|
else
|
||||||
|
return redirect()->back()->withInput()->with('error', 'Please try again');
|
||||||
|
} catch (Exception $e) {
|
||||||
|
dd($e);
|
||||||
|
return redirect()->back()->withInput()->with('error', 'Please try again');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -59,8 +91,16 @@ public function update(Request $request, Instructor $instructor)
|
|||||||
/**
|
/**
|
||||||
* Remove the specified resource from storage.
|
* Remove the specified resource from storage.
|
||||||
*/
|
*/
|
||||||
public function destroy(Instructor $instructor)
|
public function destroy($id)
|
||||||
{
|
{
|
||||||
//
|
$data=Instructor::findOrFail(encryptor('decrypt',$id));
|
||||||
|
$image_path=public_path('uploads/instructors').$data->image;
|
||||||
|
|
||||||
|
if($data->delete()){
|
||||||
|
if(File::exists($image_path))
|
||||||
|
File::delete($image_path);
|
||||||
|
|
||||||
|
return redirect()->back();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -9,6 +9,7 @@
|
|||||||
use Exception;
|
use Exception;
|
||||||
use Illuminate\Support\Facades\Hash;
|
use Illuminate\Support\Facades\Hash;
|
||||||
use File;
|
use File;
|
||||||
|
use Carbon\Carbon;
|
||||||
|
|
||||||
class StudentController extends Controller
|
class StudentController extends Controller
|
||||||
{
|
{
|
||||||
@ -36,10 +37,6 @@ public function create()
|
|||||||
public function store(Request $request)
|
public function store(Request $request)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
$request->merge([
|
|
||||||
'birthDate' => \Carbon\Carbon::createFromFormat('d F, Y', $request->birthDate)->format('Y-m-d'),
|
|
||||||
]);
|
|
||||||
|
|
||||||
$student = new Student();
|
$student = new Student();
|
||||||
$student->name_en = $request->fullName_en;
|
$student->name_en = $request->fullName_en;
|
||||||
$student->name_bn = $request->fullName_bn;
|
$student->name_bn = $request->fullName_bn;
|
||||||
@ -84,6 +81,7 @@ public function edit($id)
|
|||||||
{
|
{
|
||||||
$role = Role::get();
|
$role = Role::get();
|
||||||
$student = Student::findOrFail(encryptor('decrypt', $id));
|
$student = Student::findOrFail(encryptor('decrypt', $id));
|
||||||
|
|
||||||
return view('backend.student.edit', compact('role', 'student'));
|
return view('backend.student.edit', compact('role', 'student'));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -93,9 +91,6 @@ public function edit($id)
|
|||||||
public function update(Request $request, $id)
|
public function update(Request $request, $id)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
// $request->merge([
|
|
||||||
// 'birthDate' => \Carbon\Carbon::createFromFormat('d F, Y', $request->birthDate)->format('Y-m-d'),
|
|
||||||
// ]);
|
|
||||||
|
|
||||||
$student = Student::findOrFail(encryptor('decrypt', $id));
|
$student = Student::findOrFail(encryptor('decrypt', $id));
|
||||||
$student->name_en = $request->fullName_en;
|
$student->name_en = $request->fullName_en;
|
||||||
|
|||||||
@ -8,4 +8,9 @@
|
|||||||
class Instructor extends Model
|
class Instructor extends Model
|
||||||
{
|
{
|
||||||
use HasFactory;
|
use HasFactory;
|
||||||
|
|
||||||
|
public function role()
|
||||||
|
{
|
||||||
|
return $this->belongsTo(Role::class);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -10,10 +10,17 @@ class Role extends Model
|
|||||||
use HasFactory;
|
use HasFactory;
|
||||||
|
|
||||||
// relation with user
|
// relation with user
|
||||||
public function users(){
|
public function users()
|
||||||
|
{
|
||||||
return $this->hasMany(User::class);
|
return $this->hasMany(User::class);
|
||||||
}
|
}
|
||||||
public function students(){
|
public function students()
|
||||||
|
{
|
||||||
return $this->hasMany(Student::class);
|
return $this->hasMany(Student::class);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function instructors()
|
||||||
|
{
|
||||||
|
$this->hasMany(Instructor::class);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
BIN
public/uploads/instructors/5411700934236.jpg
Fichier normal
BIN
public/uploads/instructors/5411700934236.jpg
Fichier normal
Fichier binaire non affiché.
|
Après Largeur: | Hauteur: | Taille: 18 KiB |
BIN
public/uploads/instructors/php3653.tmp
Fichier normal
BIN
public/uploads/instructors/php3653.tmp
Fichier normal
Fichier binaire non affiché.
|
Après Largeur: | Hauteur: | Taille: 18 KiB |
BIN
public/uploads/instructors/phpFB58.tmp
Fichier normal
BIN
public/uploads/instructors/phpFB58.tmp
Fichier normal
Fichier binaire non affiché.
|
Après Largeur: | Hauteur: | Taille: 18 KiB |
BIN
public/uploads/students/5611700924451.png
Fichier normal
BIN
public/uploads/students/5611700924451.png
Fichier normal
Fichier binaire non affiché.
|
Après Largeur: | Hauteur: | Taille: 204 KiB |
BIN
public/uploads/students/9991700926803.jpg
Fichier normal
BIN
public/uploads/students/9991700926803.jpg
Fichier normal
Fichier binaire non affiché.
|
Après Largeur: | Hauteur: | Taille: 23 KiB |
161
resources/views/backend/instructor/create.blade.php
Fichier normal
161
resources/views/backend/instructor/create.blade.php
Fichier normal
@ -0,0 +1,161 @@
|
|||||||
|
@extends('backend.layouts.app')
|
||||||
|
@section('title', 'Add Instructor')
|
||||||
|
|
||||||
|
@push('styles')
|
||||||
|
<!-- Pick date -->
|
||||||
|
<link rel="stylesheet" href="{{asset('public/vendor/pickadate/themes/default.css')}}">
|
||||||
|
<link rel="stylesheet" href="{{asset('public/vendor/pickadate/themes/default.date.css')}}">
|
||||||
|
@endpush
|
||||||
|
|
||||||
|
@section('content')
|
||||||
|
|
||||||
|
<div class="content-body">
|
||||||
|
<!-- row -->
|
||||||
|
<div class="container-fluid">
|
||||||
|
|
||||||
|
<div class="row page-titles mx-0">
|
||||||
|
<div class="col-sm-6 p-md-0">
|
||||||
|
<div class="welcome-text">
|
||||||
|
<h4>Add Instructor</h4>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-6 p-md-0 justify-content-sm-end mt-2 mt-sm-0 d-flex">
|
||||||
|
<ol class="breadcrumb">
|
||||||
|
<li class="breadcrumb-item"><a href="{{route('dashboard')}}">Home</a></li>
|
||||||
|
<li class="breadcrumb-item active"><a href="{{route('instructor.index')}}">Instructors</a></li>
|
||||||
|
<li class="breadcrumb-item active"><a href="{{route('instructor.create')}}">Add Instructor</a></li>
|
||||||
|
</ol>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-xl-12 col-xxl-12 col-sm-12">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-header">
|
||||||
|
<h5 class="card-title">Basic Info</h5>
|
||||||
|
</div>
|
||||||
|
<div class="card-body">
|
||||||
|
<form action="{{route('instructor.store')}}" method="post" enctype="multipart/form-data">
|
||||||
|
@csrf
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="form-label">Name</label>
|
||||||
|
<input type="text" class="form-control" name="fullName_en"
|
||||||
|
value="{{old('fullName_en')}}">
|
||||||
|
</div>
|
||||||
|
@if($errors->has('fullName_en'))
|
||||||
|
<span class="text-danger"> {{ $errors->first('fullName_en') }}</span>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="form-label">নাম (বাংলায়)</label>
|
||||||
|
<input type="text" class="form-control" name="fullName_bn"
|
||||||
|
value="{{old('fullName_bn')}}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="form-label">Phone Number</label>
|
||||||
|
<input type="tel" class="form-control" name="contactNumber_en"
|
||||||
|
value="{{old('contactNumber_en')}}">
|
||||||
|
</div>
|
||||||
|
@if($errors->has('contactNumber_en'))
|
||||||
|
<span class="text-danger"> {{ $errors->first('contactNumber_en') }}</span>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="form-label">ফোন নাম্বার (বাংলায়)</label>
|
||||||
|
<input type="tel" class="form-control" name="contactNumber_bn"
|
||||||
|
value="{{old('contactNumber_bn')}}">
|
||||||
|
</div>
|
||||||
|
@if($errors->has('contactNumber_bn'))
|
||||||
|
<span class="text-danger"> {{ $errors->first('contactNumber_bn') }}</span>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="form-label">Email</label>
|
||||||
|
<input type="email" class="form-control" name="emailAddress"
|
||||||
|
value="{{old('emailAddress')}}">
|
||||||
|
</div>
|
||||||
|
@if($errors->has('emailAddress'))
|
||||||
|
<span class="text-danger"> {{ $errors->first('emailAddress') }}</span>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="form-label">Role</label>
|
||||||
|
<select class="form-control" name="roleId">
|
||||||
|
@forelse ($role as $r)
|
||||||
|
<option value="{{$r->id}}" {{old('roleId')==$r->id?'selected':''}}>
|
||||||
|
{{$r->name}}</option>
|
||||||
|
@empty
|
||||||
|
<option value="">No Role Found</option>
|
||||||
|
@endforelse
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
@if($errors->has('roleId'))
|
||||||
|
<span class="text-danger"> {{ $errors->first('roleId') }}</span>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="form-label">Bio</label>
|
||||||
|
<textarea class="form-control" name="bio" value="{{old('bio')}}"></textarea>
|
||||||
|
</div>
|
||||||
|
@if($errors->has('bio'))
|
||||||
|
<span class="text-danger"> {{ $errors->first('bio') }}</span>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="form-label">Status</label>
|
||||||
|
<select class="form-control" name="status">
|
||||||
|
<option value="1" @if(old('status')==1) selected @endif>Active</option>
|
||||||
|
<option value="0" @if(old('status')==0) selected @endif>Inactive</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="form-label">Password</label>
|
||||||
|
<input type="password" class="form-control" name="password">
|
||||||
|
</div>
|
||||||
|
@if($errors->has('password'))
|
||||||
|
<span class="text-danger"> {{ $errors->first('password') }}</span>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-12 col-md-12 col-sm-12">
|
||||||
|
<label class="form-label">Image</label>
|
||||||
|
<div class="form-group fallback w-100">
|
||||||
|
<input type="file" class="dropify" data-default-file="" name="image">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-12 col-md-12 col-sm-12">
|
||||||
|
<button type="submit" class="btn btn-primary">Submit</button>
|
||||||
|
<button type="submit" class="btn btn-light">Cencel</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
@endsection
|
||||||
|
|
||||||
|
@push('scripts')
|
||||||
|
<!-- pickdate -->
|
||||||
|
<script src="{{asset('public/vendor/pickadate/picker.js')}}"></script>
|
||||||
|
<script src="{{asset('public/vendor/pickadate/picker.time.js')}}"></script>
|
||||||
|
<script src="{{asset('public/vendor/pickadate/picker.date.js')}}"></script>
|
||||||
|
|
||||||
|
<!-- Pickdate -->
|
||||||
|
<script src="{{asset('public/js/plugins-init/pickadate-init.js')}}"></script>
|
||||||
|
@endpush
|
||||||
177
resources/views/backend/instructor/edit.blade.php
Fichier normal
177
resources/views/backend/instructor/edit.blade.php
Fichier normal
@ -0,0 +1,177 @@
|
|||||||
|
@extends('backend.layouts.app')
|
||||||
|
@section('title', 'Edit Student')
|
||||||
|
|
||||||
|
@push('styles')
|
||||||
|
<!-- Pick date -->
|
||||||
|
<link rel="stylesheet" href="{{asset('public/vendor/pickadate/themes/default.css')}}">
|
||||||
|
<link rel="stylesheet" href="{{asset('public/vendor/pickadate/themes/default.date.css')}}">
|
||||||
|
@endpush
|
||||||
|
|
||||||
|
@section('content')
|
||||||
|
|
||||||
|
<div class="content-body">
|
||||||
|
<!-- row -->
|
||||||
|
<div class="container-fluid">
|
||||||
|
|
||||||
|
<div class="row page-titles mx-0">
|
||||||
|
<div class="col-sm-6 p-md-0">
|
||||||
|
<div class="welcome-text">
|
||||||
|
<h4>Edit Student</h4>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-6 p-md-0 justify-content-sm-end mt-2 mt-sm-0 d-flex">
|
||||||
|
<ol class="breadcrumb">
|
||||||
|
<li class="breadcrumb-item"><a href="{{route('dashboard')}}">Home</a></li>
|
||||||
|
<li class="breadcrumb-item active"><a href="{{route('student.index')}}">Students</a></li>
|
||||||
|
<li class="breadcrumb-item active"><a href="javascript:void(0);">Edit Student</a></li>
|
||||||
|
</ol>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-xl-12 col-xxl-12 col-sm-12">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-header">
|
||||||
|
<h5 class="card-title">Basic Info</h5>
|
||||||
|
</div>
|
||||||
|
<div class="card-body">
|
||||||
|
<form action="{{route('student.update',encryptor('encrypt', $student->id))}}" method="post" enctype="multipart/form-data">
|
||||||
|
@csrf
|
||||||
|
@method('PATCH')
|
||||||
|
<input type="hidden" name="uptoken" value="{{encryptor('encrypt',$student->id)}}">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="form-label">Name</label>
|
||||||
|
<input type="text" class="form-control" name="fullName_en"
|
||||||
|
value="{{old('fullName_en',$student->name_en)}}">
|
||||||
|
</div>
|
||||||
|
@if($errors->has('fullName_en'))
|
||||||
|
<span class="text-danger"> {{ $errors->first('fullName_en') }}</span>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="form-label">নাম (বাংলায়)</label>
|
||||||
|
<input type="text" class="form-control" name="fullName_bn"
|
||||||
|
value="{{old('fullName_bn',$student->name_bn)}}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="form-label">Phone Number</label>
|
||||||
|
<input type="tel" class="form-control" name="contactNumber_en"
|
||||||
|
value="{{old('contactNumber_en',$student->contact_en)}}">
|
||||||
|
</div>
|
||||||
|
@if($errors->has('contactNumber_en'))
|
||||||
|
<span class="text-danger"> {{ $errors->first('contactNumber_en') }}</span>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="form-label">ফোন নাম্বার (বাংলায়)</label>
|
||||||
|
<input type="tel" class="form-control" name="contactNumber_bn"
|
||||||
|
value="{{old('contactNumber_bn',$student->contact_bn)}}">
|
||||||
|
</div>
|
||||||
|
@if($errors->has('contactNumber_bn'))
|
||||||
|
<span class="text-danger"> {{ $errors->first('contactNumber_bn') }}</span>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="form-label">Email</label>
|
||||||
|
<input type="email" class="form-control" name="emailAddress"
|
||||||
|
value="{{old('emailAddress',$student->email)}}">
|
||||||
|
</div>
|
||||||
|
@if($errors->has('emailAddress'))
|
||||||
|
<span class="text-danger"> {{ $errors->first('emailAddress') }}</span>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="form-label">Role</label>
|
||||||
|
<select class="form-control" name="roleId">
|
||||||
|
@forelse ($role as $r)
|
||||||
|
<option value="{{$r->id}}" {{old('roleId', $student->role_id)==$r->id?'selected':''}}>
|
||||||
|
{{$r->name}}</option>
|
||||||
|
@empty
|
||||||
|
<option value="">No Role Found</option>
|
||||||
|
@endforelse
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
@if($errors->has('roleId'))
|
||||||
|
<span class="text-danger"> {{ $errors->first('roleId') }}</span>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="form-label">Date of Birth</label>
|
||||||
|
<input type="date" name="birthDate" value="{{old('birthDate',$student->date_of_birth)}}"
|
||||||
|
class="form-control" id="">
|
||||||
|
</div>
|
||||||
|
@if($errors->has('birthDate'))
|
||||||
|
<span class="text-danger"> {{ $errors->first('birthDate') }}</span>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="form-label">Gender</label>
|
||||||
|
<select class="form-control" name="gender">
|
||||||
|
<option value="male" @if(old('gender',$student->gender)=='male' ) selected @endif>Male
|
||||||
|
</option>
|
||||||
|
<option value="female" @if(old('gender',$student->gender)=='female' ) selected @endif>Fenale
|
||||||
|
</option>
|
||||||
|
<option value="other" @if(old('gender',$student->gender)=='other' ) selected @endif>Other
|
||||||
|
</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="form-label">Status</label>
|
||||||
|
<select class="form-control" name="status">
|
||||||
|
<option value="1" @if(old('status',$student->status)==1) selected @endif>Active</option>
|
||||||
|
<option value="0" @if(old('status',$student->status)==0) selected @endif>Inactive</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="form-label">Password</label>
|
||||||
|
<input type="password" class="form-control" name="password">
|
||||||
|
</div>
|
||||||
|
@if($errors->has('password'))
|
||||||
|
<span class="text-danger"> {{ $errors->first('password') }}</span>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-12 col-md-12 col-sm-12">
|
||||||
|
<label class="form-label">Image</label>
|
||||||
|
<div class="form-group fallback w-100">
|
||||||
|
<input type="file" class="dropify" data-default-file="" name="image">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-12 col-md-12 col-sm-12">
|
||||||
|
<button type="submit" class="btn btn-primary">Submit</button>
|
||||||
|
<button type="submit" class="btn btn-light">Cencel</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
@endsection
|
||||||
|
|
||||||
|
@push('scripts')
|
||||||
|
<!-- pickdate -->
|
||||||
|
<script src="{{asset('public/vendor/pickadate/picker.js')}}"></script>
|
||||||
|
<script src="{{asset('public/vendor/pickadate/picker.time.js')}}"></script>
|
||||||
|
<script src="{{asset('public/vendor/pickadate/picker.date.js')}}"></script>
|
||||||
|
|
||||||
|
<!-- Pickdate -->
|
||||||
|
<script src="{{asset('public/js/plugins-init/pickadate-init.js')}}"></script>
|
||||||
|
@endpush
|
||||||
182
resources/views/backend/instructor/index.blade.php
Fichier normal
182
resources/views/backend/instructor/index.blade.php
Fichier normal
@ -0,0 +1,182 @@
|
|||||||
|
@extends('backend.layouts.app')
|
||||||
|
@section('title', 'Instructor List')
|
||||||
|
|
||||||
|
@push('styles')
|
||||||
|
<!-- Datatable -->
|
||||||
|
<link href="{{asset('public/vendor/datatables/css/jquery.dataTables.min.css')}}" rel="stylesheet">
|
||||||
|
@endpush
|
||||||
|
|
||||||
|
@section('content')
|
||||||
|
|
||||||
|
<div class="content-body">
|
||||||
|
<!-- row -->
|
||||||
|
<div class="container-fluid">
|
||||||
|
|
||||||
|
<div class="row page-titles mx-0">
|
||||||
|
<div class="col-sm-6 p-md-0">
|
||||||
|
<div class="welcome-text">
|
||||||
|
<h4>Instructor List</h4>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-6 p-md-0 justify-content-sm-end mt-2 mt-sm-0 d-flex">
|
||||||
|
<ol class="breadcrumb">
|
||||||
|
<li class="breadcrumb-item"><a href="{{route('dashboard')}}">Home</a></li>
|
||||||
|
<li class="breadcrumb-item active"><a href="{{route('instructor.index')}}">Instructors</a></li>
|
||||||
|
<li class="breadcrumb-item active"><a href="{{route('instructor.index')}}">All Instructor</a></li>
|
||||||
|
</ol>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-lg-12">
|
||||||
|
<ul class="nav nav-pills mb-3">
|
||||||
|
<li class="nav-item"><a href="#list-view" data-toggle="tab"
|
||||||
|
class="nav-link btn-primary mr-1 show active">List View</a></li>
|
||||||
|
<li class="nav-item"><a href="#grid-view" data-toggle="tab" class="nav-link btn-primary">Grid
|
||||||
|
View</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-12">
|
||||||
|
<div class="row tab-content">
|
||||||
|
<div id="list-view" class="tab-pane fade active show col-lg-12">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-header">
|
||||||
|
<h4 class="card-title">All Instructors List </h4>
|
||||||
|
<a href="{{route('instructor.create')}}" class="btn btn-primary">+ Add new</a>
|
||||||
|
</div>
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table id="example3" class="display" style="min-width: 845px">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>{{__('#')}}</th>
|
||||||
|
<th>{{__('Name')}}</th>
|
||||||
|
<th>{{__('Email')}}</th>
|
||||||
|
<th>{{__('Contact')}}</th>
|
||||||
|
<th>{{__('Role')}}</th>
|
||||||
|
<th>{{__('Bio')}}</th>
|
||||||
|
<th>{{__('Status')}}</th>
|
||||||
|
<th>{{__('Action')}}</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
@forelse ($instructor as $d)
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<img class="rounded-circle" width="35" height="35"
|
||||||
|
src="{{asset('public/uploads/instructors/'.$d->image)}}" alt="">
|
||||||
|
</td>
|
||||||
|
<td><strong>{{$d->name_en}}</strong></td>
|
||||||
|
<td>{{$d->email}}</td>
|
||||||
|
<td>{{$d->contact_en}}</td>
|
||||||
|
<td>{{$d->role?->name}}</td>
|
||||||
|
<td>{{$d->contact_en}}</td>
|
||||||
|
<td>
|
||||||
|
<span class="badge {{$d->status==1?"
|
||||||
|
badge-success":"badge-danger"}}">@if($d->status==1){{__('Active')}}
|
||||||
|
@else{{__('Inactive')}} @endif</span>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<a href="{{route('instructor.edit', encryptor('encrypt',$d->id))}}"
|
||||||
|
class="btn btn-sm btn-primary" title="Edit"><i
|
||||||
|
class="la la-pencil"></i></a>
|
||||||
|
<a href="javascript:void(0);" class="btn btn-sm btn-danger"
|
||||||
|
title="Delete" onclick="$('#form{{$d->id}}').submit()"><i
|
||||||
|
class="la la-trash-o"></i></a>
|
||||||
|
<form id="form{{$d->id}}"
|
||||||
|
action="{{route('instructor.destroy', encryptor('encrypt',$d->id))}}"
|
||||||
|
method="post">
|
||||||
|
@csrf
|
||||||
|
@method('DELETE')
|
||||||
|
</form>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
@empty
|
||||||
|
<tr>
|
||||||
|
<th colspan="7" class="text-center">No Instructor Found</th>
|
||||||
|
</tr>
|
||||||
|
@endforelse
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="grid-view" class="tab-pane fade col-lg-12">
|
||||||
|
<div class="row">
|
||||||
|
@forelse ($instructor as $d)
|
||||||
|
<div class="col-lg-4 col-md-6 col-sm-6 col-12">
|
||||||
|
<div class="card card-profile">
|
||||||
|
<div class="card-header justify-content-end pb-0">
|
||||||
|
<div class="dropdown">
|
||||||
|
<button class="btn btn-link" type="button" data-toggle="dropdown">
|
||||||
|
<span class="dropdown-dots fs--1"></span>
|
||||||
|
</button>
|
||||||
|
<div class="dropdown-menu dropdown-menu-right border py-0">
|
||||||
|
<div class="py-2">
|
||||||
|
<a class="dropdown-item"
|
||||||
|
href="{{route('instructor.edit', encryptor('encrypt',$d->id))}}">Edit</a>
|
||||||
|
<a class="dropdown-item text-danger"
|
||||||
|
href="javascript:void(0);">Delete</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="card-body pt-2">
|
||||||
|
<div class="text-center">
|
||||||
|
<div class="profile-photo">
|
||||||
|
<img src="{{asset('public/uploads/instructors/'.$d->image)}}" width="100"
|
||||||
|
height="100" class="rounded-circle" alt="">
|
||||||
|
</div>
|
||||||
|
<h3 class="mt-4 mb-1">{{$d->name_en}}</h3>
|
||||||
|
<p class="text-muted">{{$d->role?->name}}</p>
|
||||||
|
<ul class="list-group mb-3 list-group-flush">
|
||||||
|
<li class="list-group-item px-0 d-flex justify-content-between">
|
||||||
|
<span>Phone No. :</span>
|
||||||
|
<strong>{{$d->contact_en}}</strong>
|
||||||
|
</li>
|
||||||
|
<li class="list-group-item px-0 d-flex justify-content-between">
|
||||||
|
<span class="mb-0">Email :</span>
|
||||||
|
<strong>{{$d->email}}</strong>
|
||||||
|
</li>
|
||||||
|
<li class="list-group-item px-0 d-flex justify-content-between">
|
||||||
|
<span class="mb-0">Status :</span>
|
||||||
|
<span class="badge {{$d->status==1?"
|
||||||
|
badge-success":"badge-danger"}}">@if($d->status==1){{__('Active')}}
|
||||||
|
@else{{__('Inactive')}} @endif</span>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<a class="btn btn-outline-primary btn-rounded mt-3 px-4"
|
||||||
|
href="about-instructor.html">Read More</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@empty
|
||||||
|
<div class="col-lg-4 col-md-6 col-sm-6 col-12">
|
||||||
|
<div class="card card-profile">
|
||||||
|
<div class="card-body pt-2">
|
||||||
|
<div class="text-center">
|
||||||
|
<p class="mt-3 px-4">Instructor Not Found</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@endforelse
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
@endsection
|
||||||
|
|
||||||
|
@push('scripts')
|
||||||
|
<!-- Datatable -->
|
||||||
|
<script src="{{asset('public/vendor/datatables/js/jquery.dataTables.min.js')}}"></script>
|
||||||
|
<script src="{{asset('public/js/plugins-init/datatables.init.js')}}"></script>
|
||||||
|
|
||||||
|
@endpush
|
||||||
@ -221,10 +221,10 @@ class="feather feather-log-out">
|
|||||||
<span class="nav-text">Instructors</span>
|
<span class="nav-text">Instructors</span>
|
||||||
</a>
|
</a>
|
||||||
<ul aria-expanded="false">
|
<ul aria-expanded="false">
|
||||||
<li><a href="all-professors.html">All Instructor</a></li>
|
<li><a href="{{route('instructor.index')}}">All Instructor</a></li>
|
||||||
<li><a href="add-professor.html">Add Instructor</a></li>
|
<li><a href="{{route('instructor.create')}}">Add Instructor</a></li>
|
||||||
<li><a href="edit-professor.html">Edit Instructor</a></li>
|
<li><a href="{{route('instructor.index')}}">Edit Instructor</a></li>
|
||||||
<li><a href="professor-profile.html">Instructor Profile</a></li>
|
<li><a href="{{route('instructor.index')}}">Instructor Profile</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li><a class="has-arrow" href="javascript:void()" aria-expanded="false">
|
<li><a class="has-arrow" href="javascript:void()" aria-expanded="false">
|
||||||
|
|||||||
@ -104,7 +104,7 @@
|
|||||||
<div class="col-lg-6 col-md-6 col-sm-12">
|
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="form-label">Date of Birth</label>
|
<label class="form-label">Date of Birth</label>
|
||||||
<input name="birthDate" value="{{old('birthDate')}}" class="datepicker-default form-control" id="datepicker1">
|
<input type="date" name="birthDate" value="{{old('birthDate')}}" class="form-control" id="">
|
||||||
</div>
|
</div>
|
||||||
@if($errors->has('birthDate'))
|
@if($errors->has('birthDate'))
|
||||||
<span class="text-danger"> {{ $errors->first('birthDate') }}</span>
|
<span class="text-danger"> {{ $errors->first('birthDate') }}</span>
|
||||||
|
|||||||
@ -106,8 +106,8 @@
|
|||||||
<div class="col-lg-6 col-md-6 col-sm-12">
|
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="form-label">Date of Birth</label>
|
<label class="form-label">Date of Birth</label>
|
||||||
<input name="birthDate" value="{{old('birthDate',$student->date_of_birth)}}"
|
<input type="date" name="birthDate" value="{{old('birthDate',$student->date_of_birth)}}"
|
||||||
class="datepicker-default form-control" id="datepicker1">
|
class="form-control" id="">
|
||||||
</div>
|
</div>
|
||||||
@if($errors->has('birthDate'))
|
@if($errors->has('birthDate'))
|
||||||
<span class="text-danger"> {{ $errors->first('birthDate') }}</span>
|
<span class="text-danger"> {{ $errors->first('birthDate') }}</span>
|
||||||
|
|||||||
@ -139,18 +139,16 @@ class="la la-trash-o"></i></a>
|
|||||||
<span class="mb-0">Email :</span>
|
<span class="mb-0">Email :</span>
|
||||||
<strong>{{$d->email}}</strong>
|
<strong>{{$d->email}}</strong>
|
||||||
</li>
|
</li>
|
||||||
|
<li class="list-group-item px-0 d-flex justify-content-between">
|
||||||
|
<span class="mb-0">Gender :</span>
|
||||||
|
<strong>{{$d->gender}}</strong>
|
||||||
|
</li>
|
||||||
<li class="list-group-item px-0 d-flex justify-content-between">
|
<li class="list-group-item px-0 d-flex justify-content-between">
|
||||||
<span class="mb-0">Status :</span>
|
<span class="mb-0">Status :</span>
|
||||||
<span class="badge {{$d->status==1?"
|
<span class="badge {{$d->status==1?"
|
||||||
badge-success":"badge-danger"}}">@if($d->status==1){{__('Active')}}
|
badge-success":"badge-danger"}}">@if($d->status==1){{__('Active')}}
|
||||||
@else{{__('Inactive')}} @endif</span>
|
@else{{__('Inactive')}} @endif</span>
|
||||||
</li>
|
</li>
|
||||||
<li class="list-group-item px-0 d-flex justify-content-between">
|
|
||||||
<span class="mb-0">Full Access :</span>
|
|
||||||
<span class="badge {{$d->full_access==1?"
|
|
||||||
badge-info":"badge-warning"}}">@if($d->full_access==1){{__('Yes')}}
|
|
||||||
@else{{__('No')}} @endif</span>
|
|
||||||
</li>
|
|
||||||
</ul>
|
</ul>
|
||||||
<a class="btn btn-outline-primary btn-rounded mt-3 px-4"
|
<a class="btn btn-outline-primary btn-rounded mt-3 px-4"
|
||||||
href="about-student.html">Read More</a>
|
href="about-student.html">Read More</a>
|
||||||
|
|||||||
@ -8,6 +8,7 @@
|
|||||||
use App\Http\Controllers\Backend\RoleController as role;
|
use App\Http\Controllers\Backend\RoleController as role;
|
||||||
use App\Http\Controllers\Backend\PermissionController as permission;
|
use App\Http\Controllers\Backend\PermissionController as permission;
|
||||||
use App\Http\Controllers\Backend\Students\StudentController as student;
|
use App\Http\Controllers\Backend\Students\StudentController as student;
|
||||||
|
use App\Http\Controllers\Backend\Instructors\InstructorController as instructor;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
@ -39,6 +40,7 @@
|
|||||||
Route::post('permission/{role}',[permission::class,'save'])->name('permission.save');
|
Route::post('permission/{role}',[permission::class,'save'])->name('permission.save');
|
||||||
Route::resource('courseCategory', courseCategory::class);
|
Route::resource('courseCategory', courseCategory::class);
|
||||||
Route::resource('student', student::class);
|
Route::resource('student', student::class);
|
||||||
|
Route::resource('instructor', instructor::class);
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Chargement…
Référencer dans un nouveau ticket
Block a user