26 nov 2023
@ -17,7 +17,7 @@ class CourseCategoryController extends Controller
|
||||
public function index()
|
||||
{
|
||||
$data = CourseCategory::paginate(10);
|
||||
return view('backend.courses.courseCategory.index', compact('data'));
|
||||
return view('backend.course.courseCategory.index', compact('data'));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -25,7 +25,7 @@ public function index()
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
return view('backend.courses.courseCategory.create');
|
||||
return view('backend.course.courseCategory.create');
|
||||
}
|
||||
|
||||
/**
|
||||
@ -67,7 +67,7 @@ public function show(CourseCategory $courseCategory)
|
||||
public function edit($id)
|
||||
{
|
||||
$data = CourseCategory::findOrFail($id);
|
||||
return view('backend.courses.courseCategory.edit', compact('data'));
|
||||
return view('backend.course.courseCategory.edit', compact('data'));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -5,6 +5,10 @@
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\Course;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Models\CourseCategory;
|
||||
use App\Models\Instructor;
|
||||
use Exception;
|
||||
use File;
|
||||
|
||||
class CourseController extends Controller
|
||||
{
|
||||
@ -13,7 +17,8 @@ class CourseController extends Controller
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
//
|
||||
$course = Course::paginate(10);
|
||||
return view('backend.course.index', compact('course'));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -21,7 +26,9 @@ public function index()
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
//
|
||||
$courseCategory = CourseCategory::get();
|
||||
$instructor = Instructor::get();
|
||||
return view('backend.course.create', compact('courseCategory', 'instructor'));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -29,7 +36,35 @@ public function create()
|
||||
*/
|
||||
public function store(Request $request)
|
||||
{
|
||||
//
|
||||
try {
|
||||
$course = new Course;
|
||||
$course->title_en = $request->courseTitle_en;
|
||||
$course->title_bn = $request->courseTitle_bn;
|
||||
$course->description_en = $request->courseDescription_en;
|
||||
$course->description_bn = $request->courseDescription_bn;
|
||||
$course->category_id = $request->categoryId;
|
||||
$course->instructor_id = $request->instructorId;
|
||||
$course->type = $request->courseType;
|
||||
$course->price = $request->coursePrice;
|
||||
$course->subscription_price = $request->subscriptionPrice;
|
||||
$course->difficulty = $request->courseDifficulty;
|
||||
$course->prerequisites = $request->prerequisites;
|
||||
$course->status = $request->status;
|
||||
$course->language = 'en';
|
||||
|
||||
if ($request->hasFile('image')) {
|
||||
$imageName = rand(111, 999) . time() . '.' . $request->image->extension();
|
||||
$request->image->move(public_path('uploads/courses'), $imageName);
|
||||
$course->image = $imageName;
|
||||
}
|
||||
if ($course->save())
|
||||
return redirect()->route('course.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');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@ -43,24 +78,63 @@ public function show(Course $course)
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
*/
|
||||
public function edit(Course $course)
|
||||
public function edit($id)
|
||||
{
|
||||
//
|
||||
$courseCategory = CourseCategory::get();
|
||||
$instructor = Instructor::get();
|
||||
$course = Course::findOrFail(encryptor('decrypt', $id));
|
||||
return view('backend.course.edit', compact('courseCategory', 'instructor', 'course'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*/
|
||||
public function update(Request $request, Course $course)
|
||||
public function update(Request $request, $id)
|
||||
{
|
||||
//
|
||||
try {
|
||||
$course = Course::findOrFail(encryptor('decrypt', $id));
|
||||
$course->title_en = $request->courseTitle_en;
|
||||
$course->title_bn = $request->courseTitle_bn;
|
||||
$course->description_en = $request->courseDescription_en;
|
||||
$course->description_bn = $request->courseDescription_bn;
|
||||
$course->category_id = $request->categoryId;
|
||||
$course->instructor_id = $request->instructorId;
|
||||
$course->type = $request->courseType;
|
||||
$course->price = $request->coursePrice;
|
||||
$course->subscription_price = $request->subscriptionPrice;
|
||||
$course->difficulty = $request->courseDifficulty;
|
||||
$course->prerequisites = $request->prerequisites;
|
||||
$course->status = $request->status;
|
||||
$course->language = 'en';
|
||||
|
||||
if ($request->hasFile('image')) {
|
||||
$imageName = rand(111, 999) . time() . '.' . $request->image->extension();
|
||||
$request->image->move(public_path('uploads/courses'), $imageName);
|
||||
$course->image = $imageName;
|
||||
}
|
||||
if ($course->save())
|
||||
return redirect()->route('course.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');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*/
|
||||
public function destroy(Course $course)
|
||||
public function destroy($id)
|
||||
{
|
||||
//
|
||||
$data = Course::findOrFail(encryptor('decrypt', $id));
|
||||
$image_path = public_path('uploads/courses') . $data->image;
|
||||
|
||||
if ($data->delete()) {
|
||||
if (File::exists($image_path))
|
||||
File::delete($image_path);
|
||||
|
||||
return redirect()->back();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -75,17 +75,45 @@ public function show(Instructor $instructor)
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
*/
|
||||
public function edit(Instructor $instructor)
|
||||
public function edit($id)
|
||||
{
|
||||
//
|
||||
$role = Role::get();
|
||||
$instructor = Instructor::findOrFail(encryptor('decrypt', $id));
|
||||
return view('backend.instructor.edit', compact('role', 'instructor'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*/
|
||||
public function update(Request $request, Instructor $instructor)
|
||||
public function update(Request $request, $id)
|
||||
{
|
||||
//
|
||||
try {
|
||||
$instructor = Instructor::findOrFail(encryptor('decrypt', $id));
|
||||
$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');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -8,4 +8,13 @@
|
||||
class Course extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
|
||||
public function courseCategory()
|
||||
{
|
||||
return $this->belongsTo(CourseCategory::class, 'category_id', 'id');
|
||||
}
|
||||
public function instructor()
|
||||
{
|
||||
return $this->belongsTo(Instructor::class);
|
||||
}
|
||||
}
|
||||
|
||||
@ -8,4 +8,8 @@
|
||||
class CourseCategory extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
|
||||
public function course(){
|
||||
return $this->hasMany(Course::class);
|
||||
}
|
||||
}
|
||||
|
||||
@ -13,4 +13,8 @@ public function role()
|
||||
{
|
||||
return $this->belongsTo(Role::class);
|
||||
}
|
||||
|
||||
public function courses(){
|
||||
return $this->hasMany(Course::class);
|
||||
}
|
||||
}
|
||||
|
||||
@ -19,9 +19,8 @@ public function up(): void
|
||||
$table->text('description_bn')->nullable();
|
||||
$table->unsignedBigInteger('category_id')->index();
|
||||
$table->unsignedBigInteger('instructor_id')->index();
|
||||
$table->decimal('price', 10, 2)->default(0.00);
|
||||
$table->boolean('is_free')->default(false);
|
||||
$table->boolean('is_subscription_based')->default(false);
|
||||
$table->enum('type', ['free', 'paid', 'subscription'])->default('paid');
|
||||
$table->decimal('price', 10, 2)->default(0.00)->nullable();
|
||||
$table->decimal('subscription_price', 10, 2)->nullable();
|
||||
$table->text('prerequisites')->nullable();
|
||||
$table->enum('difficulty', ['beginner', 'intermediate', 'advanced'])->nullable();
|
||||
|
||||
BIN
public/uploads/courses/2181700980174.jpg
Fichier normal
|
Après Largeur: | Hauteur: | Taille: 22 KiB |
BIN
public/uploads/courses/2841700979421.jpg
Fichier normal
|
Après Largeur: | Hauteur: | Taille: 130 KiB |
BIN
public/uploads/courses/4211700982883.jpg
Fichier normal
|
Après Largeur: | Hauteur: | Taille: 187 KiB |
BIN
public/uploads/courses/4791700981519.jpg
Fichier normal
|
Après Largeur: | Hauteur: | Taille: 130 KiB |
BIN
public/uploads/courses/5251700979338.jpg
Fichier normal
|
Après Largeur: | Hauteur: | Taille: 130 KiB |
BIN
public/uploads/courses/6261700979642.jpg
Fichier normal
|
Après Largeur: | Hauteur: | Taille: 22 KiB |
BIN
public/uploads/courses/7851700979325.jpg
Fichier normal
|
Après Largeur: | Hauteur: | Taille: 130 KiB |
BIN
public/uploads/instructors/5371700969723.jpg
Fichier normal
|
Après Largeur: | Hauteur: | Taille: 23 KiB |
BIN
public/uploads/instructors/7141700979525.jpg
Fichier normal
|
Après Largeur: | Hauteur: | Taille: 18 KiB |
206
resources/views/backend/course/create.blade.php
Fichier normal
@ -0,0 +1,206 @@
|
||||
@extends('backend.layouts.app')
|
||||
@section('title', 'Add Course')
|
||||
|
||||
@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 Course</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('course.index')}}">Courses</a></li>
|
||||
<li class="breadcrumb-item active"><a href="{{route('course.create')}}">Add Course</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('course.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">Title</label>
|
||||
<input type="text" class="form-control" name="courseTitle_en"
|
||||
value="{{old('courseTitle_en')}}">
|
||||
</div>
|
||||
@if($errors->has('courseTitle_en'))
|
||||
<span class="text-danger"> {{ $errors->first('courseTitle_en') }}</span>
|
||||
@endif
|
||||
</div>
|
||||
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||
<div class="form-group">
|
||||
<label class="form-label">Title (বাংলায়)</label>
|
||||
<input type="text" class="form-control" name="courseTitle_bn"
|
||||
value="{{old('courseTitle_bn')}}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||
<div class="form-group">
|
||||
<label class="form-label">Description</label>
|
||||
<input type="text" class="form-control" name="courseDescription_en"
|
||||
value="{{old('courseDescription_en')}}">
|
||||
</div>
|
||||
@if($errors->has('courseDescription_en'))
|
||||
<span class="text-danger"> {{ $errors->first('courseDescription_en') }}</span>
|
||||
@endif
|
||||
</div>
|
||||
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||
<div class="form-group">
|
||||
<label class="form-label">Description (বাংলায়)</label>
|
||||
<input type="tel" class="form-control" name="courseDescription_bn"
|
||||
value="{{old('courseDescription_bn')}}">
|
||||
</div>
|
||||
@if($errors->has('courseDescription_bn'))
|
||||
<span class="text-danger"> {{ $errors->first('courseDescription_bn') }}</span>
|
||||
@endif
|
||||
</div>
|
||||
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||
<div class="form-group">
|
||||
<label class="form-label">Category</label>
|
||||
<select class="form-control" name="categoryId">
|
||||
@forelse ($courseCategory as $c)
|
||||
<option value="{{$c->id}}" {{old('categoryId')==$c->id?'selected':''}}>
|
||||
{{$c->category_name}}</option>
|
||||
@empty
|
||||
<option value="">No Category Found</option>
|
||||
@endforelse
|
||||
</select>
|
||||
</div>
|
||||
@if($errors->has('categoryId'))
|
||||
<span class="text-danger"> {{ $errors->first('categoryId') }}</span>
|
||||
@endif
|
||||
</div>
|
||||
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||
<div class="form-group">
|
||||
<label class="form-label">Instructor</label>
|
||||
<select class="form-control" name="instructorId">
|
||||
@forelse ($instructor as $i)
|
||||
<option value="{{$i->id}}" {{old('instructorId')==$i->id?'selected':''}}>
|
||||
{{$i->name_en}}</option>
|
||||
@empty
|
||||
<option value="">No Instructor Found</option>
|
||||
@endforelse
|
||||
</select>
|
||||
</div>
|
||||
@if($errors->has('instructorId'))
|
||||
<span class="text-danger"> {{ $errors->first('instructorId') }}</span>
|
||||
@endif
|
||||
</div>
|
||||
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||
<div class="form-group">
|
||||
<label class="form-label">Type</label>
|
||||
<select class="form-control" name="courseType">
|
||||
<option value="free" @if(old('courseType')=='free' ) selected @endif>Free
|
||||
</option>
|
||||
<option value="paid" @if(old('courseType')=='paid' ) selected @endif>Paid
|
||||
</option>
|
||||
<option value="subscription" @if(old('courseType')=='subscription' )
|
||||
selected @endif>Subscription-based</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||
<div class="form-group">
|
||||
<label class="form-label">Price</label>
|
||||
<input type="number" class="form-control" name="coursePrice"
|
||||
value="{{old('coursePrice')}}">
|
||||
</div>
|
||||
@if($errors->has('coursePrice'))
|
||||
<span class="text-danger"> {{ $errors->first('coursePrice') }}</span>
|
||||
@endif
|
||||
</div>
|
||||
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||
<div class="form-group">
|
||||
<label class="form-label">Subscription Price</label>
|
||||
<input type="number" class="form-control" name="subscription_price"
|
||||
value="{{old('subscription_price')}}">
|
||||
</div>
|
||||
@if($errors->has('subscription_price'))
|
||||
<span class="text-danger"> {{ $errors->first('subscription_price') }}</span>
|
||||
@endif
|
||||
</div>
|
||||
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||
<div class="form-group">
|
||||
<label class="form-label">Difficulty</label>
|
||||
<select class="form-control" name="courseDifficulty">
|
||||
<option value="beginner" @if(old('courseDifficulty')=='beginner' ) selected
|
||||
@endif>Beginner</option>
|
||||
<option value="intermediate" @if(old('courseDifficulty')=='intermediate' )
|
||||
selected @endif>Intermediate</option>
|
||||
<option value="advanced" @if(old('courseDifficulty')=='advanced' ) selected
|
||||
@endif>Advanced
|
||||
</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||
<div class="form-group">
|
||||
<label class="form-label">Prerequisites</label>
|
||||
<textarea class="form-control" name="prerequisites"
|
||||
value="{{old('prerequisites')}}"></textarea>
|
||||
</div>
|
||||
@if($errors->has('prerequisites'))
|
||||
<span class="text-danger"> {{ $errors->first('prerequisites') }}</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-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
|
||||
234
resources/views/backend/course/edit.blade.php
Fichier normal
@ -0,0 +1,234 @@
|
||||
@extends('backend.layouts.app')
|
||||
@section('title', 'Edit 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>Edit Course</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('course.index')}}">Courses</a></li>
|
||||
<li class="breadcrumb-item active"><a href="javascript:void(0);">Edit Course</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('course.update',encryptor('encrypt', $course->id))}}" method="post"
|
||||
enctype="multipart/form-data">
|
||||
@csrf
|
||||
@method('PATCH')
|
||||
<input type="hidden" name="uptoken" value="{{encryptor('encrypt',$course->id)}}">
|
||||
<div class="row">
|
||||
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||
<div class="form-group">
|
||||
<label class="form-label">Title</label>
|
||||
<input type="text" class="form-control" name="courseTitle_en"
|
||||
value="{{old('courseTitle_en',$course->title_en)}}">
|
||||
</div>
|
||||
@if($errors->has('courseTitle_en'))
|
||||
<span class="text-danger"> {{ $errors->first('courseTitle_en') }}</span>
|
||||
@endif
|
||||
</div>
|
||||
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||
<div class="form-group">
|
||||
<label class="form-label">Title (বাংলায়)</label>
|
||||
<input type="text" class="form-control" name="courseTitle_bn"
|
||||
value="{{old('courseTitle_bn',$course->title_bn)}}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||
<div class="form-group">
|
||||
<label class="form-label">Description</label>
|
||||
<input type="text" class="form-control" name="courseDescription_en"
|
||||
value="{{old('courseDescription_en',$course->description_en)}}">
|
||||
</div>
|
||||
@if($errors->has('courseDescription_en'))
|
||||
<span class="text-danger"> {{ $errors->first('courseDescription_en') }}</span>
|
||||
@endif
|
||||
</div>
|
||||
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||
<div class="form-group">
|
||||
<label class="form-label">Description (বাংলায়)</label>
|
||||
<input type="text" class="form-control" name="courseDescription_bn"
|
||||
value="{{old('courseDescription_bn',$course->description_bn)}}">
|
||||
</div>
|
||||
@if($errors->has('courseDescription_bn'))
|
||||
<span class="text-danger"> {{ $errors->first('courseDescription_bn') }}</span>
|
||||
@endif
|
||||
</div>
|
||||
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||
<div class="form-group">
|
||||
<label class="form-label">Category</label>
|
||||
<select class="form-control" name="categoryId">
|
||||
@forelse ($courseCategory as $c)
|
||||
<option value="{{$c->id}}" {{old('categoryId', $course->category_id) ==
|
||||
$c->id?'selected':''}}>
|
||||
{{$c->category_name}}</option>
|
||||
@empty
|
||||
<option value="">No Category Found</option>
|
||||
@endforelse
|
||||
</select>
|
||||
</div>
|
||||
@if($errors->has('categoryId'))
|
||||
<span class="text-danger"> {{ $errors->first('categoryId') }}</span>
|
||||
@endif
|
||||
</div>
|
||||
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||
<div class="form-group">
|
||||
<label class="form-label">Instructor</label>
|
||||
<select class="form-control" name="instructorId">
|
||||
@forelse ($instructor as $i)
|
||||
<option value="{{$i->id}}" {{old('instructorId', $course->instructor_id) ==
|
||||
$i->id?'selected':''}}>
|
||||
{{$i->name_en}}</option>
|
||||
@empty
|
||||
<option value="">No Instructor Found</option>
|
||||
@endforelse
|
||||
</select>
|
||||
</div>
|
||||
@if($errors->has('instructorId'))
|
||||
<span class="text-danger"> {{ $errors->first('instructorId') }}</span>
|
||||
@endif
|
||||
</div>
|
||||
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||
<div class="form-group">
|
||||
<label class="form-label">Type</label>
|
||||
<select class="form-control" name="courseType">
|
||||
<option value="free" @if(old('courseType', $course->type)=='free' ) selected
|
||||
@endif>Free
|
||||
</option>
|
||||
<option value="paid" @if(old('courseType', $course->type)=='paid' ) selected
|
||||
@endif>Paid
|
||||
</option>
|
||||
<option value="subscription" @if(old('courseType', $course->type)
|
||||
=='subscription' )
|
||||
selected @endif>Subscription-based</option>
|
||||
</select>
|
||||
</div>
|
||||
@if($errors->has('courseType'))
|
||||
<span class="text-danger"> {{ $errors->first('courseType') }}</span>
|
||||
@endif
|
||||
</div>
|
||||
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||
<div class="form-group">
|
||||
<label class="form-label">Price</label>
|
||||
<input type="number" class="form-control" name="coursePrice"
|
||||
value="{{old('coursePrice', $course->price)}}">
|
||||
</div>
|
||||
@if($errors->has('coursePrice'))
|
||||
<span class="text-danger"> {{ $errors->first('coursePrice') }}</span>
|
||||
@endif
|
||||
</div>
|
||||
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||
<div class="form-group">
|
||||
<label class="form-label">Subscription Price</label>
|
||||
<input type="number" class="form-control" name="subscription_price"
|
||||
value="{{old('subscription_price')}}">
|
||||
</div>
|
||||
@if($errors->has('subscription_price'))
|
||||
<span class="text-danger"> {{ $errors->first('subscription_price',
|
||||
$course->subscription_price) }}</span>
|
||||
@endif
|
||||
</div>
|
||||
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||
<div class="form-group">
|
||||
<label class="form-label">Difficulty</label>
|
||||
<select class="form-control" name="courseType">
|
||||
<option value="beginner" @if(old('courseDifficulty', $course->
|
||||
difficulty)=='beginner' ) selected @endif>Beginner
|
||||
</option>
|
||||
<option value="intermediate" @if(old('courseDifficulty', $course->
|
||||
difficulty)=='intermediate' ) selected @endif>Intermediate
|
||||
</option>
|
||||
<option value="advanced" @if(old('courseDifficulty', $course->
|
||||
difficulty)=='advanced' )
|
||||
selected @endif>Advanced</option>
|
||||
</select>
|
||||
</div>
|
||||
@if($errors->has('courseDifficulty'))
|
||||
<span class="text-danger"> {{ $errors->first('courseDifficulty') }}</span>
|
||||
@endif
|
||||
</div>
|
||||
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||
<div class="form-group">
|
||||
<label class="form-label">Prerequisites</label>
|
||||
<textarea class="form-control"
|
||||
name="prerequisites">{{old('prerequisites',$course->prerequisites)}}</textarea>
|
||||
</div>
|
||||
@if($errors->has('prerequisites'))
|
||||
<span class="text-danger"> {{ $errors->first('prerequisites') }}</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',$course->status)==1) selected
|
||||
@endif>Active</option>
|
||||
<option value="0" @if(old('status',$course->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
|
||||
119
resources/views/backend/course/index.blade.php
Fichier normal
@ -0,0 +1,119 @@
|
||||
@extends('backend.layouts.app')
|
||||
@section('title', 'Course 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>Course 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('course.index')}}">Instructors</a></li>
|
||||
<li class="breadcrumb-item active"><a href="{{route('course.index')}}">All Course</a></li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<div class="row tab-content">
|
||||
<div class="card-header">
|
||||
<a href="{{route('course.create')}}" class="btn btn-primary">+ Add new</a>
|
||||
</div>
|
||||
<div class="col-lg-12">
|
||||
<div class="row">
|
||||
@forelse ($course as $d)
|
||||
<div class="col-lg-4 col-md-4 col-sm-6">
|
||||
<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('course.edit', encryptor('encrypt',$d->id))}}">Edit</a>
|
||||
<a class="dropdown-item text-danger" href="javascript:void(0);" onclick="$('#form{{$d->id}}').submit()">Delete</a>
|
||||
<form id="form{{$d->id}}" action="{{route('course.destroy', encryptor('encrypt',$d->id))}}" method="post">
|
||||
@csrf
|
||||
@method('DELETE')
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body pt-2">
|
||||
<div class="text-center">
|
||||
<div class="">
|
||||
<img src="{{asset('public/uploads/courses/'.$d->image)}}" class="w-100" height="200" alt="">
|
||||
</div>
|
||||
<h3 class="mt-4 mb-1">{{$d->title_en}}</h3>
|
||||
<ul class="list-group mb-3 list-group-flush">
|
||||
<li class="list-group-item px-0 d-flex justify-content-between">
|
||||
<span>Difficulty</span>
|
||||
<strong>{{ $d->difficulty == 'beginner' ? __('Beginner') : ($d->gender == 'intermediate' ? __('Intermediate') : __('Advanced')) }}</strong>
|
||||
</li>
|
||||
<li class="list-group-item px-0 d-flex justify-content-between">
|
||||
<span class="mb-0">Instructor :</span>
|
||||
<strong>{{$d->instructor?->name_en}}</strong>
|
||||
</li>
|
||||
<li class="list-group-item px-0 d-flex justify-content-between">
|
||||
<span class="mb-0">Category :</span>
|
||||
<strong>{{$d->courseCategory?->category_name}}</strong>
|
||||
</li>
|
||||
<li class="list-group-item px-0 d-flex justify-content-between">
|
||||
<span class="mb-0">Type :</span>
|
||||
<strong>{{ $d->type == 'free' ? __('Free') : ($d->gender == 'paid' ? __('Paid') :
|
||||
__('Subscription')) }}</strong>
|
||||
</li>
|
||||
<li class="list-group-item px-0 d-flex justify-content-between">
|
||||
<span class="mb-0">Price :</span>
|
||||
<strong>${{$d->price}}</strong>
|
||||
</li>
|
||||
</ul>
|
||||
<a class="btn btn-outline-primary btn-rounded mt-3 px-4" href="about-student.html">Read More</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@empty
|
||||
<div class="col-lg-6 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">Course 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
|
||||
@ -1,5 +1,5 @@
|
||||
@extends('backend.layouts.app')
|
||||
@section('title', 'Edit Student')
|
||||
@section('title', 'Edit Instructor')
|
||||
|
||||
@push('styles')
|
||||
<!-- Pick date -->
|
||||
@ -16,14 +16,14 @@
|
||||
<div class="row page-titles mx-0">
|
||||
<div class="col-sm-6 p-md-0">
|
||||
<div class="welcome-text">
|
||||
<h4>Edit Student</h4>
|
||||
<h4>Edit 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('student.index')}}">Students</a></li>
|
||||
<li class="breadcrumb-item active"><a href="javascript:void(0);">Edit Student</a></li>
|
||||
<li class="breadcrumb-item active"><a href="{{route('instructor.index')}}">Instructors</a></li>
|
||||
<li class="breadcrumb-item active"><a href="javascript:void(0);">Edit Instructor</a></li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
@ -35,16 +35,17 @@
|
||||
<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">
|
||||
<form action="{{route('instructor.update',encryptor('encrypt', $instructor->id))}}"
|
||||
method="post" enctype="multipart/form-data">
|
||||
@csrf
|
||||
@method('PATCH')
|
||||
<input type="hidden" name="uptoken" value="{{encryptor('encrypt',$student->id)}}">
|
||||
<input type="hidden" name="uptoken" value="{{encryptor('encrypt',$instructor->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)}}">
|
||||
value="{{old('fullName_en',$instructor->name_en)}}">
|
||||
</div>
|
||||
@if($errors->has('fullName_en'))
|
||||
<span class="text-danger"> {{ $errors->first('fullName_en') }}</span>
|
||||
@ -54,14 +55,14 @@
|
||||
<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)}}">
|
||||
value="{{old('fullName_bn',$instructor->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)}}">
|
||||
value="{{old('contactNumber_en',$instructor->contact_en)}}">
|
||||
</div>
|
||||
@if($errors->has('contactNumber_en'))
|
||||
<span class="text-danger"> {{ $errors->first('contactNumber_en') }}</span>
|
||||
@ -71,7 +72,7 @@
|
||||
<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)}}">
|
||||
value="{{old('contactNumber_bn',$instructor->contact_bn)}}">
|
||||
</div>
|
||||
@if($errors->has('contactNumber_bn'))
|
||||
<span class="text-danger"> {{ $errors->first('contactNumber_bn') }}</span>
|
||||
@ -81,7 +82,7 @@
|
||||
<div class="form-group">
|
||||
<label class="form-label">Email</label>
|
||||
<input type="email" class="form-control" name="emailAddress"
|
||||
value="{{old('emailAddress',$student->email)}}">
|
||||
value="{{old('emailAddress',$instructor->email)}}">
|
||||
</div>
|
||||
@if($errors->has('emailAddress'))
|
||||
<span class="text-danger"> {{ $errors->first('emailAddress') }}</span>
|
||||
@ -92,7 +93,8 @@
|
||||
<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':''}}>
|
||||
<option value="{{$r->id}}" {{old('roleId', $instructor->
|
||||
role_id)==$r->id?'selected':''}}>
|
||||
{{$r->name}}</option>
|
||||
@empty
|
||||
<option value="">No Role Found</option>
|
||||
@ -105,33 +107,21 @@
|
||||
</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="">
|
||||
<label class="form-label">Bio</label>
|
||||
<textarea class="form-control" name="bio">{{old('bio',$instructor->bio)}}</textarea>
|
||||
</div>
|
||||
@if($errors->has('birthDate'))
|
||||
<span class="text-danger"> {{ $errors->first('birthDate') }}</span>
|
||||
@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">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>
|
||||
<option value="1" @if(old('status',$instructor->status)==1) selected
|
||||
@endif>Active</option>
|
||||
<option value="0" @if(old('status',$instructor->status)==0) selected
|
||||
@endif>Inactive</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -70,7 +70,7 @@ class="nav-link btn-primary mr-1 show active">List View</a></li>
|
||||
<td>{{$d->email}}</td>
|
||||
<td>{{$d->contact_en}}</td>
|
||||
<td>{{$d->role?->name}}</td>
|
||||
<td>{{$d->contact_en}}</td>
|
||||
<td>{{$d->bio}}</td>
|
||||
<td>
|
||||
<span class="badge {{$d->status==1?"
|
||||
badge-success":"badge-danger"}}">@if($d->status==1){{__('Active')}}
|
||||
|
||||
@ -254,10 +254,10 @@ class="feather feather-log-out">
|
||||
<span class="nav-text">Courses</span>
|
||||
</a>
|
||||
<ul aria-expanded="false">
|
||||
<li><a href="all-courses.html">All Courses</a></li>
|
||||
<li><a href="add-courses.html">Add Courses</a></li>
|
||||
<li><a href="edit-courses.html">Edit Courses</a></li>
|
||||
<li><a href="about-courses.html">About Courses</a></li>
|
||||
<li><a href="{{route('course.index')}}">All Courses</a></li>
|
||||
<li><a href="{{route('course.create')}}">Add Courses</a></li>
|
||||
<li><a href="{{route('course.index')}}">Edit Courses</a></li>
|
||||
<li><a href="{{route('course.index')}}">About Courses</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="has-arrow" href="javascript:void()" aria-expanded="false">
|
||||
|
||||
@ -45,7 +45,7 @@
|
||||
<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
|
||||
<li class="nav-item"><a href="javascript:void()" data-toggle="tab" class="nav-link btn-primary">Grid
|
||||
View</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@ -108,69 +108,6 @@ class="nav-link btn-primary mr-1 show active">List View</a></li>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
{{-- <div id="grid-view" class="tab-pane fade col-lg-12">
|
||||
<div class="row">
|
||||
@forelse ($data 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('user.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/users/'.$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?->type}}</p>
|
||||
<ul class="list-group mb-3 list-group-flush">
|
||||
<li class="list-group-item px-0 d-flex justify-content-between">
|
||||
<span>#Sl.</span><strong>{{$d->id}}</strong>
|
||||
</li>
|
||||
<li class="list-group-item px-0 d-flex justify-content-between">
|
||||
<span class="mb-0">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">Created At.
|
||||
:</span><strong>{{$d->created_at}}</strong>
|
||||
</li>
|
||||
</ul>
|
||||
<a class="btn btn-outline-primary btn-rounded mt-3 px-4"
|
||||
href="about-student.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">User Not Found</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endforelse
|
||||
</div>
|
||||
</div> --}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -32,8 +32,8 @@
|
||||
<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>
|
||||
<li class="nav-item"><a href="javascript:void()" data-toggle="tab" class="nav-link btn-primary">
|
||||
Grid View</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col-lg-12">
|
||||
|
||||
@ -9,6 +9,7 @@
|
||||
use App\Http\Controllers\Backend\PermissionController as permission;
|
||||
use App\Http\Controllers\Backend\Students\StudentController as student;
|
||||
use App\Http\Controllers\Backend\Instructors\InstructorController as instructor;
|
||||
use App\Http\Controllers\Backend\Courses\CourseController as course;
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
@ -36,12 +37,12 @@
|
||||
Route::middleware(['checkrole'])->prefix('admin')->group(function () {
|
||||
Route::resource('user', user::class);
|
||||
Route::resource('role', role::class);
|
||||
Route::get('permission/{role}',[permission::class,'index'])->name('permission.list');
|
||||
Route::post('permission/{role}',[permission::class,'save'])->name('permission.save');
|
||||
Route::resource('courseCategory', courseCategory::class);
|
||||
Route::resource('student', student::class);
|
||||
Route::resource('instructor', instructor::class);
|
||||
|
||||
Route::resource('courseCategory', courseCategory::class);
|
||||
Route::resource('course', course::class);
|
||||
Route::get('permission/{role}', [permission::class, 'index'])->name('permission.list');
|
||||
Route::post('permission/{role}', [permission::class, 'save'])->name('permission.save');
|
||||
});
|
||||
|
||||
|
||||
@ -55,4 +56,3 @@
|
||||
// Route::get('/dashboard', function () {
|
||||
// return view('welcome');
|
||||
// })->name('dashboard');
|
||||
|
||||