nov,27,2023 - 1:43pm
Cette révision appartient à :
Parent
7b2189b781
révision
f1b91b51aa
@ -5,7 +5,7 @@
|
|||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use App\Models\Course;
|
use App\Models\Course;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use App\Models\CourseCategory;
|
use App\Models\CourseCategory;
|
||||||
use App\Models\Instructor;
|
use App\Models\Instructor;
|
||||||
use Exception;
|
use Exception;
|
||||||
use File;
|
use File;
|
||||||
@ -47,7 +47,10 @@ public function store(Request $request)
|
|||||||
$course->type = $request->courseType;
|
$course->type = $request->courseType;
|
||||||
$course->price = $request->coursePrice;
|
$course->price = $request->coursePrice;
|
||||||
$course->subscription_price = $request->subscriptionPrice;
|
$course->subscription_price = $request->subscriptionPrice;
|
||||||
|
$course->start_from = $request->start_from;
|
||||||
|
$course->duration = $request->duration;
|
||||||
$course->difficulty = $request->courseDifficulty;
|
$course->difficulty = $request->courseDifficulty;
|
||||||
|
$course->course_code = $request->course_code;
|
||||||
$course->prerequisites_en = $request->prerequisites_en;
|
$course->prerequisites_en = $request->prerequisites_en;
|
||||||
$course->prerequisites_bn = $request->prerequisites_bn;
|
$course->prerequisites_bn = $request->prerequisites_bn;
|
||||||
$course->status = $request->status;
|
$course->status = $request->status;
|
||||||
@ -87,7 +90,7 @@ public function edit($id)
|
|||||||
return view('backend.course.edit', compact('courseCategory', 'instructor', 'course'));
|
return view('backend.course.edit', compact('courseCategory', 'instructor', 'course'));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Update the specified resource in storage.
|
* Update the specified resource in storage.
|
||||||
*/
|
*/
|
||||||
public function update(Request $request, $id)
|
public function update(Request $request, $id)
|
||||||
@ -103,7 +106,10 @@ public function update(Request $request, $id)
|
|||||||
$course->type = $request->courseType;
|
$course->type = $request->courseType;
|
||||||
$course->price = $request->coursePrice;
|
$course->price = $request->coursePrice;
|
||||||
$course->subscription_price = $request->subscriptionPrice;
|
$course->subscription_price = $request->subscriptionPrice;
|
||||||
|
$course->start_from = $request->start_from;
|
||||||
|
$course->duration = $request->duration;
|
||||||
$course->difficulty = $request->courseDifficulty;
|
$course->difficulty = $request->courseDifficulty;
|
||||||
|
$course->course_code = $request->course_code;
|
||||||
$course->prerequisites_en = $request->prerequisites_en;
|
$course->prerequisites_en = $request->prerequisites_en;
|
||||||
$course->prerequisites_bn = $request->prerequisites_bn;
|
$course->prerequisites_bn = $request->prerequisites_bn;
|
||||||
$course->status = $request->status;
|
$course->status = $request->status;
|
||||||
|
|||||||
113
app/Http/Controllers/Backend/Courses/MaterialController.php
Fichier normal
113
app/Http/Controllers/Backend/Courses/MaterialController.php
Fichier normal
@ -0,0 +1,113 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Backend\Courses;
|
||||||
|
|
||||||
|
use App\Models\Material;
|
||||||
|
use App\Http\Controllers\Controller;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use App\Models\Course;
|
||||||
|
use Exception;
|
||||||
|
use File;
|
||||||
|
|
||||||
|
class MaterialController extends Controller
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Display a listing of the resource.
|
||||||
|
*/
|
||||||
|
public function index()
|
||||||
|
{
|
||||||
|
$material = Material::paginate(10);
|
||||||
|
return view('backend.course.material.index', compact('material'));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Show the form for creating a new resource.
|
||||||
|
*/
|
||||||
|
public function create()
|
||||||
|
{
|
||||||
|
$course = Course::get();
|
||||||
|
return view('backend.course.material.create', compact('course'));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Store a newly created resource in storage.
|
||||||
|
*/
|
||||||
|
public function store(Request $request)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
$material = new Material;
|
||||||
|
$material->title = $request->materialTitle;
|
||||||
|
$material->course_id = $request->courseId;
|
||||||
|
$material->type = $request->materialType;
|
||||||
|
$material->content_url = $request->contentURL;
|
||||||
|
|
||||||
|
if ($material->save()) {
|
||||||
|
$this->notice::success('Data Saved');
|
||||||
|
return redirect()->route('material.index');
|
||||||
|
} else {
|
||||||
|
$this->notice::error('Please try again');
|
||||||
|
return redirect()->back()->withInput();
|
||||||
|
}
|
||||||
|
} catch (Exception $e) {
|
||||||
|
dd($e);
|
||||||
|
$this->notice::error('Please try again');
|
||||||
|
return redirect()->back()->withInput();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Display the specified resource.
|
||||||
|
*/
|
||||||
|
public function show(Material $material)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Show the form for editing the specified resource.
|
||||||
|
*/
|
||||||
|
public function edit($id)
|
||||||
|
{
|
||||||
|
$course = Course::get();
|
||||||
|
$material = Material::findOrFail(encryptor('decrypt', $id));
|
||||||
|
return view('backend.course.material.edit', compact('course', 'material'));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update the specified resource in storage.
|
||||||
|
*/
|
||||||
|
public function update(Request $request, $id)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
$material = Material::findOrFail(encryptor('decrypt', $id));
|
||||||
|
$material->title = $request->materialTitle;
|
||||||
|
$material->course_id = $request->courseId;
|
||||||
|
$material->type = $request->materialType;
|
||||||
|
$material->content_url = $request->contentURL;
|
||||||
|
|
||||||
|
if ($material->save()) {
|
||||||
|
$this->notice::success('Data Saved');
|
||||||
|
return redirect()->route('material.index');
|
||||||
|
} else {
|
||||||
|
$this->notice::error('Please try again');
|
||||||
|
return redirect()->back()->withInput();
|
||||||
|
}
|
||||||
|
} catch (Exception $e) {
|
||||||
|
dd($e);
|
||||||
|
$this->notice::error('Please try again');
|
||||||
|
return redirect()->back()->withInput();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove the specified resource from storage.
|
||||||
|
*/
|
||||||
|
public function destroy($id)
|
||||||
|
{
|
||||||
|
$data = Material::findOrFail(encryptor('decrypt', $id));
|
||||||
|
if ($data->delete()) {
|
||||||
|
$this->notice::error('Data Deleted!');
|
||||||
|
return redirect()->back();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,66 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Http\Controllers;
|
|
||||||
|
|
||||||
use App\Models\Material;
|
|
||||||
use App\Http\Controllers\Controller;
|
|
||||||
use Illuminate\Http\Request;
|
|
||||||
|
|
||||||
class MaterialController extends Controller
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* Display a listing of the resource.
|
|
||||||
*/
|
|
||||||
public function index()
|
|
||||||
{
|
|
||||||
//
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Show the form for creating a new resource.
|
|
||||||
*/
|
|
||||||
public function create()
|
|
||||||
{
|
|
||||||
//
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Store a newly created resource in storage.
|
|
||||||
*/
|
|
||||||
public function store(Request $request)
|
|
||||||
{
|
|
||||||
//
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Display the specified resource.
|
|
||||||
*/
|
|
||||||
public function show(Material $material)
|
|
||||||
{
|
|
||||||
//
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Show the form for editing the specified resource.
|
|
||||||
*/
|
|
||||||
public function edit(Material $material)
|
|
||||||
{
|
|
||||||
//
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Update the specified resource in storage.
|
|
||||||
*/
|
|
||||||
public function update(Request $request, Material $material)
|
|
||||||
{
|
|
||||||
//
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Remove the specified resource from storage.
|
|
||||||
*/
|
|
||||||
public function destroy(Material $material)
|
|
||||||
{
|
|
||||||
//
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -22,9 +22,12 @@ public function up(): void
|
|||||||
$table->enum('type', ['free', 'paid', 'subscription'])->default('paid');
|
$table->enum('type', ['free', 'paid', 'subscription'])->default('paid');
|
||||||
$table->decimal('price', 10, 2)->default(0.00)->nullable();
|
$table->decimal('price', 10, 2)->default(0.00)->nullable();
|
||||||
$table->decimal('subscription_price', 10, 2)->nullable();
|
$table->decimal('subscription_price', 10, 2)->nullable();
|
||||||
|
$table->timestamp('start_from')->nullable();
|
||||||
|
$table->integer('duration')->nullable();
|
||||||
$table->text('prerequisites_en')->nullable();
|
$table->text('prerequisites_en')->nullable();
|
||||||
$table->text('prerequisites_bn')->nullable();
|
$table->text('prerequisites_bn')->nullable();
|
||||||
$table->enum('difficulty', ['beginner', 'intermediate', 'advanced'])->nullable();
|
$table->enum('difficulty', ['beginner', 'intermediate', 'advanced'])->nullable();
|
||||||
|
$table->string('course_code')->nullable();
|
||||||
$table->string('image')->nullable();
|
$table->string('image')->nullable();
|
||||||
$table->boolean('status')->default(1)->comment('1 active, 0 inactive');
|
$table->boolean('status')->default(1)->comment('1 active, 0 inactive');
|
||||||
$table->string('language')->default('en');
|
$table->string('language')->default('en');
|
||||||
|
|||||||
@ -22,9 +22,9 @@ public function up(): void
|
|||||||
|
|
||||||
$table->foreign('course_id')->references('id')->on('courses')->onDelete('cascade');
|
$table->foreign('course_id')->references('id')->on('courses')->onDelete('cascade');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Reverse the migrations.
|
* Reverse the migrations.
|
||||||
*/
|
*/
|
||||||
public function down(): void
|
public function down(): void
|
||||||
|
|||||||
@ -118,6 +118,18 @@
|
|||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</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="col-lg-6 col-md-6 col-sm-12">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="form-label">Price</label>
|
<label class="form-label">Price</label>
|
||||||
@ -140,17 +152,23 @@
|
|||||||
</div>
|
</div>
|
||||||
<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">Difficulty</label>
|
<label class="form-label">Start From</label>
|
||||||
<select class="form-control" name="courseDifficulty">
|
<input type="date" class="form-control" name="start_from"
|
||||||
<option value="beginner" @if(old('courseDifficulty')=='beginner' ) selected
|
value="{{old('start_from')}}">
|
||||||
@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>
|
||||||
|
@if($errors->has('start_from'))
|
||||||
|
<span class="text-danger"> {{ $errors->first('start_from') }}</span>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="form-label">Duration</label>
|
||||||
|
<input type="number" class="form-control" name="duration"
|
||||||
|
value="{{old('duration')}}">
|
||||||
|
</div>
|
||||||
|
@if($errors->has('duration'))
|
||||||
|
<span class="text-danger"> {{ $errors->first('duration') }}</span>
|
||||||
|
@endif
|
||||||
</div>
|
</div>
|
||||||
<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">
|
||||||
@ -181,6 +199,15 @@
|
|||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="form-label">Course Code</label>
|
||||||
|
<input type="text" class="form-control" name="course_code" value="{{old('course_code')}}">
|
||||||
|
</div>
|
||||||
|
@if($errors->has('course_code'))
|
||||||
|
<span class="text-danger"> {{ $errors->first('course_code') }}</span>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
<div class="col-lg-12 col-md-12 col-sm-12">
|
<div class="col-lg-12 col-md-12 col-sm-12">
|
||||||
<label class="form-label">Image</label>
|
<label class="form-label">Image</label>
|
||||||
<div class="form-group fallback w-100">
|
<div class="form-group fallback w-100">
|
||||||
|
|||||||
@ -131,6 +131,25 @@
|
|||||||
<span class="text-danger"> {{ $errors->first('courseType') }}</span>
|
<span class="text-danger"> {{ $errors->first('courseType') }}</span>
|
||||||
@endif
|
@endif
|
||||||
</div>
|
</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', $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="col-lg-6 col-md-6 col-sm-12">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="form-label">Price</label>
|
<label class="form-label">Price</label>
|
||||||
@ -154,21 +173,24 @@
|
|||||||
</div>
|
</div>
|
||||||
<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">Difficulty</label>
|
<label class="form-label">Start From</label>
|
||||||
<select class="form-control" name="courseDifficulty">
|
<input type="date" class="form-control" name="start_from"
|
||||||
<option value="beginner" @if(old('courseDifficulty', $course->
|
value="{{old('start_from')}}">
|
||||||
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>
|
</div>
|
||||||
@if($errors->has('courseDifficulty'))
|
@if($errors->has('start_from'))
|
||||||
<span class="text-danger"> {{ $errors->first('courseDifficulty') }}</span>
|
<span class="text-danger"> {{ $errors->first('start_from',
|
||||||
|
$course->start_from) }}</span>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="form-label">Duration</label>
|
||||||
|
<input type="number" class="form-control" name="duration"
|
||||||
|
value="{{old('duration')}}">
|
||||||
|
</div>
|
||||||
|
@if($errors->has('duration'))
|
||||||
|
<span class="text-danger"> {{ $errors->first('duration',
|
||||||
|
$course->duration) }}</span>
|
||||||
@endif
|
@endif
|
||||||
</div>
|
</div>
|
||||||
<div class="col-lg-6 col-md-6 col-sm-12">
|
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||||
|
|||||||
117
resources/views/backend/course/material/create.blade.php
Fichier normal
117
resources/views/backend/course/material/create.blade.php
Fichier normal
@ -0,0 +1,117 @@
|
|||||||
|
@extends('backend.layouts.app')
|
||||||
|
@section('title', 'Add Course Material')
|
||||||
|
|
||||||
|
@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 Material</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('material.index')}}">Course Materials</a></li>
|
||||||
|
<li class="breadcrumb-item active"><a href="{{route('material.create')}}">Add Course Material</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('material.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="materialTitle"
|
||||||
|
value="{{old('materialTitle')}}">
|
||||||
|
</div>
|
||||||
|
@if($errors->has('materialTitle'))
|
||||||
|
<span class="text-danger"> {{ $errors->first('materialTitle') }}</span>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="form-label">Course</label>
|
||||||
|
<select class="form-control" name="courseId">
|
||||||
|
@forelse ($course as $c)
|
||||||
|
<option value="{{$c->id}}" {{old('courseId')==$c->id?'selected':''}}>
|
||||||
|
{{$c->title_en}}</option>
|
||||||
|
@empty
|
||||||
|
<option value="">No Course Found</option>
|
||||||
|
@endforelse
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
@if($errors->has('courseId'))
|
||||||
|
<span class="text-danger"> {{ $errors->first('courseId') }}</span>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="form-label">Material Type</label>
|
||||||
|
<select class="form-control" name="materialType">
|
||||||
|
<option value="video" @if(old('materialType')=='video' ) selected @endif>
|
||||||
|
Video
|
||||||
|
</option>
|
||||||
|
<option value="document" @if(old('materialType')=='document' ) selected
|
||||||
|
@endif>Document
|
||||||
|
</option>
|
||||||
|
<option value="quiz" @if(old('materialType')=='quiz' ) selected @endif>Quiz
|
||||||
|
</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="form-label">Content Url</label>
|
||||||
|
<textarea class="form-control"
|
||||||
|
name="contentURL">{{old('contentURL')}}</textarea>
|
||||||
|
</div>
|
||||||
|
@if($errors->has('contentURL'))
|
||||||
|
<span class="text-danger"> {{ $errors->first('contentURL') }}</span>
|
||||||
|
@endif
|
||||||
|
</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
|
||||||
124
resources/views/backend/course/material/edit.blade.php
Fichier normal
124
resources/views/backend/course/material/edit.blade.php
Fichier normal
@ -0,0 +1,124 @@
|
|||||||
|
@extends('backend.layouts.app')
|
||||||
|
@section('title', 'Edit Course Material Material')
|
||||||
|
|
||||||
|
@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 Material</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('material.index')}}">Course Materials</a></li>
|
||||||
|
<li class="breadcrumb-item active"><a href="javascript:void(0);">Edit Course Material</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('material.update',encryptor('encrypt', $material->id))}}" method="post"
|
||||||
|
enctype="multipart/form-data">
|
||||||
|
@csrf
|
||||||
|
@method('PATCH')
|
||||||
|
<input type="hidden" name="uptoken" value="{{encryptor('encrypt',$material->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="materialTitle"
|
||||||
|
value="{{old('materialTitle',$material->title_en)}}">
|
||||||
|
</div>
|
||||||
|
@if($errors->has('materialTitle'))
|
||||||
|
<span class="text-danger"> {{ $errors->first('materialTitle') }}</span>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="form-label">Course</label>
|
||||||
|
<select class="form-control" name="courseId">
|
||||||
|
@forelse ($course as $c)
|
||||||
|
<option value="{{$c->id}}" {{old('courseId', $material->course_id) ==
|
||||||
|
$c->id?'selected':''}}>
|
||||||
|
{{$c->title_en}}</option>
|
||||||
|
@empty
|
||||||
|
<option value="">No Course Material Material Found</option>
|
||||||
|
@endforelse
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
@if($errors->has('courseId'))
|
||||||
|
<span class="text-danger"> {{ $errors->first('courseId') }}</span>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="form-label">Material Type</label>
|
||||||
|
<select class="form-control" name="materialType">
|
||||||
|
<option value="video" @if(old('materialType', $material->type)=='video' ) selected
|
||||||
|
@endif>Video
|
||||||
|
</option>
|
||||||
|
<option value="document" @if(old('materialType', $material->type)=='document' ) selected
|
||||||
|
@endif>Document
|
||||||
|
</option>
|
||||||
|
<option value="quiz" @if(old('materialType', $material->type)
|
||||||
|
=='quiz' )
|
||||||
|
selected @endif>Quiz</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
@if($errors->has('materialType'))
|
||||||
|
<span class="text-danger"> {{ $errors->first('materialType') }}</span>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="form-label">Content Url</label>
|
||||||
|
<textarea class="form-control"
|
||||||
|
name="contentURL">{{old('contentURL',$material->contentURL)}}</textarea>
|
||||||
|
</div>
|
||||||
|
@if($errors->has('contentURL'))
|
||||||
|
<span class="text-danger"> {{ $errors->first('contentURL') }}</span>
|
||||||
|
@endif
|
||||||
|
</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
|
||||||
113
resources/views/backend/course/material/index.blade.php
Fichier normal
113
resources/views/backend/course/material/index.blade.php
Fichier normal
@ -0,0 +1,113 @@
|
|||||||
|
@extends('backend.layouts.app')
|
||||||
|
@section('title', 'Course Material 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 Material 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('material.index')}}">Course Materials</a></li>
|
||||||
|
<li class="breadcrumb-item active"><a href="{{route('material.index')}}">All Course Material</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="javascript:void(0);" 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 Course Materials List </h4>
|
||||||
|
<a href="{{route('material.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>{{__('Title')}}</th>
|
||||||
|
<th>{{__('Course')}}</th>
|
||||||
|
<th>{{__('Material Type')}}</th>
|
||||||
|
<th>{{__('Content Url')}}</th>
|
||||||
|
<th>{{__('Action')}}</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
@forelse ($material as $m)
|
||||||
|
<tr>
|
||||||
|
<td>{{$m->id}}</td>
|
||||||
|
<td>{{$m->title}}</td>
|
||||||
|
<td>{{$m->course?->title_en}}</td>
|
||||||
|
<td>
|
||||||
|
{{ $m->type == 'video' ? __('Video') : ($d->type == 'Document' ?
|
||||||
|
__('Paid') : __('Quiz')) }}
|
||||||
|
</td>
|
||||||
|
<td>{{$m->content_url}}</td>
|
||||||
|
<td>
|
||||||
|
<a href="{{route('material.edit', encryptor('encrypt',$m->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{{$m->id}}').submit()"><i
|
||||||
|
class="la la-trash-o"></i></a>
|
||||||
|
<form id="form{{$m->id}}"
|
||||||
|
action="{{route('material.destroy', encryptor('encrypt',$m->id))}}"
|
||||||
|
method="post">
|
||||||
|
@csrf
|
||||||
|
@method('DELETE')
|
||||||
|
</form>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
@empty
|
||||||
|
<tr>
|
||||||
|
<th colspan="6" class="text-center">No Course Material Found</th>
|
||||||
|
</tr>
|
||||||
|
@endforelse
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</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
|
||||||
Chargement…
Référencer dans un nouveau ticket
Block a user