28 nov 2023, 10:50pm
Cette révision appartient à :
Parent
d6c02c40f9
révision
64a83c1ca5
@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Http\Controllers;
|
namespace App\Http\Controllers\Backend\Communication;
|
||||||
|
|
||||||
use App\Models\Discussion;
|
use App\Models\Discussion;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
@ -13,7 +13,8 @@ class DiscussionController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function index()
|
public function index()
|
||||||
{
|
{
|
||||||
//
|
$discussion = Discussion::paginate(10);
|
||||||
|
return view('backend.communication.discussion.index', compact('discussion'));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Http\Controllers;
|
namespace App\Http\Controllers\Backend\Communication;
|
||||||
|
|
||||||
use App\Models\Message;
|
use App\Models\Message;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
@ -13,7 +13,8 @@ class MessageController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function index()
|
public function index()
|
||||||
{
|
{
|
||||||
//
|
$message = Message::paginate(10);
|
||||||
|
return view('backend.communication.message.index', compact('message'));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -18,7 +18,7 @@ class CourseController extends Controller
|
|||||||
public function index()
|
public function index()
|
||||||
{
|
{
|
||||||
$course = Course::paginate(10);
|
$course = Course::paginate(10);
|
||||||
return view('backend.course.index', compact('course'));
|
return view('backend.course.courses.index', compact('course'));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -28,7 +28,7 @@ public function create()
|
|||||||
{
|
{
|
||||||
$courseCategory = CourseCategory::get();
|
$courseCategory = CourseCategory::get();
|
||||||
$instructor = Instructor::get();
|
$instructor = Instructor::get();
|
||||||
return view('backend.course.create', compact('courseCategory', 'instructor'));
|
return view('backend.course.courses.create', compact('courseCategory', 'instructor'));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -87,7 +87,7 @@ public function edit($id)
|
|||||||
$courseCategory = CourseCategory::get();
|
$courseCategory = CourseCategory::get();
|
||||||
$instructor = Instructor::get();
|
$instructor = Instructor::get();
|
||||||
$course = Course::findOrFail(encryptor('decrypt', $id));
|
$course = Course::findOrFail(encryptor('decrypt', $id));
|
||||||
return view('backend.course.edit', compact('courseCategory', 'instructor', 'course'));
|
return view('backend.course.courses.edit', compact('courseCategory', 'instructor', 'course'));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -1,11 +1,11 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Http\Controllers;
|
namespace App\Http\Controllers\Backend\Quizzes;
|
||||||
|
|
||||||
use App\Models\Answer;
|
use App\Models\Answer;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
class AnswerController extends Controller
|
class AnswerController extends Controller
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
@ -13,8 +13,8 @@ class AnswerController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function index()
|
public function index()
|
||||||
{
|
{
|
||||||
$answer = Quiz::paginate(10);
|
$answer = Answer::paginate(10);
|
||||||
return view('backend.quiz.answer.index');
|
return view('backend.quiz.answer.index',compact('answer'));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
110
app/Http/Controllers/Backend/Quizzes/OptionController.php
Fichier normal
110
app/Http/Controllers/Backend/Quizzes/OptionController.php
Fichier normal
@ -0,0 +1,110 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Backend\Quizzes;
|
||||||
|
|
||||||
|
use App\Models\Option;
|
||||||
|
use App\Http\Controllers\Controller;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use App\Models\Question;
|
||||||
|
use Exception;
|
||||||
|
|
||||||
|
class OptionController extends Controller
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Display a listing of the resource.
|
||||||
|
*/
|
||||||
|
public function index()
|
||||||
|
{
|
||||||
|
$option = Option::paginate(20);
|
||||||
|
return view('backend.quiz.option.index', compact('option'));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Show the form for creating a new resource.
|
||||||
|
*/
|
||||||
|
public function create()
|
||||||
|
{
|
||||||
|
$question = Question::get();
|
||||||
|
return view('backend.quiz.option.create', compact('question'));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Store a newly created resource in storage.
|
||||||
|
*/
|
||||||
|
public function store(Request $request)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
$option = new Option;
|
||||||
|
$option->question_id = $request->questionId;
|
||||||
|
$option->option_text = $request->optionText;
|
||||||
|
$option->is_correct = $request->is_correct;
|
||||||
|
|
||||||
|
if ($option->save()) {
|
||||||
|
$this->notice::success('Data Saved');
|
||||||
|
return redirect()->route('option.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(Option $option)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Show the form for editing the specified resource.
|
||||||
|
*/
|
||||||
|
public function edit($id)
|
||||||
|
{
|
||||||
|
$question = Question::get();
|
||||||
|
$option = Option::findOrFail(encryptor('decrypt', $id));
|
||||||
|
return view('backend.quiz.option.edit', compact('question', 'option'));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update the specified resource in storage.
|
||||||
|
*/
|
||||||
|
public function update(Request $request, $id)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
$option = Option::findOrFail(encryptor('decrypt', $id));
|
||||||
|
$option->question_id = $request->questionId;
|
||||||
|
$option->option_text = $request->optionText;
|
||||||
|
$option->is_correct = $request->is_correct;
|
||||||
|
|
||||||
|
if ($option->save()) {
|
||||||
|
$this->notice::success('Data Saved');
|
||||||
|
return redirect()->route('option.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 = Option::findOrFail(encryptor('decrypt', $id));
|
||||||
|
if ($data->delete()) {
|
||||||
|
$this->notice::error('Data Deleted!');
|
||||||
|
return redirect()->back();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Http\Controllers\Backend\Quizzes;
|
namespace App\Http\Controllers\Backend\Quizzes;
|
||||||
|
|
||||||
use App\Models\Question;
|
use App\Models\Question;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
|
|||||||
@ -16,7 +16,7 @@ class QuizController extends Controller
|
|||||||
public function index()
|
public function index()
|
||||||
{
|
{
|
||||||
$quiz = Quiz::paginate(10);
|
$quiz = Quiz::paginate(10);
|
||||||
return view('backend.quiz.index', compact('quiz'));
|
return view('backend.quiz.quizzes.index', compact('quiz'));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -25,7 +25,7 @@ public function index()
|
|||||||
public function create()
|
public function create()
|
||||||
{
|
{
|
||||||
$course = Course::get();
|
$course = Course::get();
|
||||||
return view('backend.quiz.create', compact('course'));
|
return view('backend.quiz.quizzes.create', compact('course'));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -67,7 +67,7 @@ public function edit($id)
|
|||||||
{
|
{
|
||||||
$course = Course::get();
|
$course = Course::get();
|
||||||
$quiz = Quiz::findOrFail(encryptor('decrypt', $id));
|
$quiz = Quiz::findOrFail(encryptor('decrypt', $id));
|
||||||
return view('backend.quiz.edit', compact('course', 'quiz'));
|
return view('backend.quiz.quizzes.edit', compact('course', 'quiz'));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Http\Controllers;
|
namespace App\Http\Controllers\Backend\Reviews;
|
||||||
|
|
||||||
use App\Models\Review;
|
use App\Models\Review;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
@ -13,7 +13,8 @@ class ReviewController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function index()
|
public function index()
|
||||||
{
|
{
|
||||||
//
|
$review=Review::paginate(20);
|
||||||
|
return view('backend.review.index', compact('review'));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Http\Controllers\Backend;
|
namespace App\Http\Controllers\Backend\Setting;
|
||||||
|
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Http\Controllers\Backend;
|
namespace App\Http\Controllers\Backend\Setting;
|
||||||
|
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Http\Controllers\Backend;
|
namespace App\Http\Controllers\Backend\Setting;
|
||||||
|
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use App\Models\Permission;
|
use App\Models\Permission;
|
||||||
@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Http\Controllers\Backend;
|
namespace App\Http\Controllers\Backend\Setting;
|
||||||
|
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use App\Models\Role;
|
use App\Models\Role;
|
||||||
@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Http\Controllers\Backend;
|
namespace App\Http\Controllers\Backend\Setting;
|
||||||
|
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
@ -8,4 +8,14 @@
|
|||||||
class Answer extends Model
|
class Answer extends Model
|
||||||
{
|
{
|
||||||
use HasFactory;
|
use HasFactory;
|
||||||
|
|
||||||
|
public function student()
|
||||||
|
{
|
||||||
|
return $this->belongsTo(Student::class);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function question()
|
||||||
|
{
|
||||||
|
return $this->belongsTo(Question::class);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -28,4 +28,14 @@ public function quiz()
|
|||||||
{
|
{
|
||||||
return $this->hasMany(Quiz::class);
|
return $this->hasMany(Quiz::class);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function review()
|
||||||
|
{
|
||||||
|
return $this->hasMany(Review::class);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function discussion()
|
||||||
|
{
|
||||||
|
return $this->hasMany(Discussion::class);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -8,4 +8,14 @@
|
|||||||
class Discussion extends Model
|
class Discussion extends Model
|
||||||
{
|
{
|
||||||
use HasFactory;
|
use HasFactory;
|
||||||
|
|
||||||
|
public function user()
|
||||||
|
{
|
||||||
|
return $this->belongsTo(User::class);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function course()
|
||||||
|
{
|
||||||
|
return $this->belongsTo(Course::class);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -8,4 +8,9 @@
|
|||||||
class Message extends Model
|
class Message extends Model
|
||||||
{
|
{
|
||||||
use HasFactory;
|
use HasFactory;
|
||||||
|
|
||||||
|
public function user()
|
||||||
|
{
|
||||||
|
return $this->belongsTo(User::class);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
16
app/Models/Option.php
Fichier normal
16
app/Models/Option.php
Fichier normal
@ -0,0 +1,16 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Models;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||||
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
|
||||||
|
class Option extends Model
|
||||||
|
{
|
||||||
|
use HasFactory;
|
||||||
|
|
||||||
|
public function question()
|
||||||
|
{
|
||||||
|
return $this->belongsTo(Question::class);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -12,4 +12,13 @@ class Question extends Model
|
|||||||
public function quiz(){
|
public function quiz(){
|
||||||
return $this->belongsTo(Quiz::class);
|
return $this->belongsTo(Quiz::class);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function option(){
|
||||||
|
return $this->hasMany(Option::class);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function answer()
|
||||||
|
{
|
||||||
|
return $this->hasMany(Answer::class);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -8,4 +8,14 @@
|
|||||||
class Review extends Model
|
class Review extends Model
|
||||||
{
|
{
|
||||||
use HasFactory;
|
use HasFactory;
|
||||||
|
|
||||||
|
public function student()
|
||||||
|
{
|
||||||
|
return $this->belongsTo(Student::class);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function course()
|
||||||
|
{
|
||||||
|
return $this->belongsTo(Course::class);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -13,4 +13,14 @@ public function role()
|
|||||||
{
|
{
|
||||||
return $this->belongsTo(Role::class);
|
return $this->belongsTo(Role::class);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function answer()
|
||||||
|
{
|
||||||
|
return $this->hasMany(Answer::class);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function review()
|
||||||
|
{
|
||||||
|
return $this->hasMany(Review::class);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -35,4 +35,14 @@ public function role()
|
|||||||
{
|
{
|
||||||
return $this->belongsTo(Role::class);
|
return $this->belongsTo(Role::class);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function discussion()
|
||||||
|
{
|
||||||
|
return $this->hasMany(Discussion::class);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function message()
|
||||||
|
{
|
||||||
|
return $this->hasMany(Message::class);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
33
database/migrations/2023_11_26_153660_create_options_table.php
Fichier normal
33
database/migrations/2023_11_26_153660_create_options_table.php
Fichier normal
@ -0,0 +1,33 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
return new class extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*/
|
||||||
|
public function up(): void
|
||||||
|
{
|
||||||
|
Schema::create('options', function (Blueprint $table) {
|
||||||
|
$table->id();
|
||||||
|
$table->unsignedBigInteger('question_id')->index();
|
||||||
|
$table->string('option_text');
|
||||||
|
$table->boolean('is_correct')->default(false);
|
||||||
|
$table->timestamps();
|
||||||
|
$table->softDeletes();
|
||||||
|
|
||||||
|
$table->foreign('question_id')->references('id')->on('questions')->onDelete('cascade');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*/
|
||||||
|
public function down(): void
|
||||||
|
{
|
||||||
|
Schema::dropIfExists('options');
|
||||||
|
}
|
||||||
|
};
|
||||||
@ -14,7 +14,7 @@ public function up(): void
|
|||||||
Schema::create('answers', function (Blueprint $table) {
|
Schema::create('answers', function (Blueprint $table) {
|
||||||
$table->id();
|
$table->id();
|
||||||
$table->unsignedBigInteger('student_id')->index();
|
$table->unsignedBigInteger('student_id')->index();
|
||||||
$table->unsignedBigInteger('question_id')->index();
|
$table->unsignedBigInteger('question_id')->index();
|
||||||
$table->text('answer')->nullable();
|
$table->text('answer')->nullable();
|
||||||
$table->timestamps();
|
$table->timestamps();
|
||||||
$table->softDeletes();
|
$table->softDeletes();
|
||||||
|
|||||||
@ -17,7 +17,7 @@ public function up(): void
|
|||||||
$table->unsignedBigInteger('course_id')->index();
|
$table->unsignedBigInteger('course_id')->index();
|
||||||
$table->integer('rating');
|
$table->integer('rating');
|
||||||
$table->text('comment')->nullable();
|
$table->text('comment')->nullable();
|
||||||
$table->timestamps();
|
$table->timestamps();
|
||||||
$table->softDeletes();
|
$table->softDeletes();
|
||||||
|
|
||||||
$table->foreign('student_id')->references('id')->on('students')->onDelete('cascade');
|
$table->foreign('student_id')->references('id')->on('students')->onDelete('cascade');
|
||||||
|
|||||||
@ -21,7 +21,7 @@ public function up(): void
|
|||||||
$table->softDeletes();
|
$table->softDeletes();
|
||||||
|
|
||||||
$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
|
$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
|
||||||
$table->foreign('course_id')->references('id')->on('courses')->onDelete('cascade');
|
$table->foreign('course_id')->references('id')->on('courses')->onDelete('cascade');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -20,7 +20,7 @@ public function up(): void
|
|||||||
$table->softDeletes();
|
$table->softDeletes();
|
||||||
|
|
||||||
$table->foreign('sender_id')->references('id')->on('users')->onDelete('cascade');
|
$table->foreign('sender_id')->references('id')->on('users')->onDelete('cascade');
|
||||||
$table->foreign('receiver_id')->references('id')->on('users')->onDelete('cascade');
|
$table->foreign('receiver_id')->references('id')->on('users')->onDelete('cascade');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -139,12 +139,21 @@ CREATE TABLE questions (
|
|||||||
FOREIGN KEY (quiz_id) REFERENCES quizzes(id)
|
FOREIGN KEY (quiz_id) REFERENCES quizzes(id)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
-- Introduced a new table for multiple-choice options
|
||||||
|
CREATE TABLE options (
|
||||||
|
id INT PRIMARY KEY AUTO_INCREMENT,
|
||||||
|
question_id INT,
|
||||||
|
option_text VARCHAR(255) NOT NULL,
|
||||||
|
is_correct BOOLEAN DEFAULT false,
|
||||||
|
FOREIGN KEY (question_id) REFERENCES questions(id)
|
||||||
|
);
|
||||||
|
|
||||||
-- User_answers table stores user responses to quiz questions
|
-- User_answers table stores user responses to quiz questions
|
||||||
CREATE TABLE user_answers (
|
CREATE TABLE user_answers (
|
||||||
id INT PRIMARY KEY AUTO_INCREMENT,
|
id INT PRIMARY KEY AUTO_INCREMENT,
|
||||||
student_id INT,
|
student_id INT,
|
||||||
question_id INT,
|
question_id INT,
|
||||||
answer TEXT,
|
answer TEXT,
|
||||||
is_correct BOOLEAN,
|
is_correct BOOLEAN,
|
||||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||||
FOREIGN KEY (student_id) REFERENCES students(id),
|
FOREIGN KEY (student_id) REFERENCES students(id),
|
||||||
|
|||||||
109
resources/views/backend/communication/discussion/index.blade.php
Fichier normal
109
resources/views/backend/communication/discussion/index.blade.php
Fichier normal
@ -0,0 +1,109 @@
|
|||||||
|
@extends('backend.layouts.app')
|
||||||
|
@section('title', 'Discussion 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>Discussion 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('discussion.index')}}">Discussions</a></li>
|
||||||
|
<li class="breadcrumb-item active"><a href="{{route('discussion.index')}}">All Discussion</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 Discussions List </h4>
|
||||||
|
</div>
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table id="example3" class="display" style="min-width: 845px">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>{{__('User')}}</th>
|
||||||
|
<th>{{__('Role')}}</th>
|
||||||
|
<th>{{__('Course')}}</th>
|
||||||
|
<th>{{__('Title')}}</th>
|
||||||
|
<th>{{__('Comment')}}</th>
|
||||||
|
<th>{{__('Action')}}</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
@forelse ($discussion as $d)
|
||||||
|
<tr>
|
||||||
|
<td>{{$d->user?->name_en}}</td>
|
||||||
|
<td>{{$d->user?->role?->name}}</td>
|
||||||
|
<td>{{$d->course?->title_en}}</td>
|
||||||
|
<td>{{$d->title}}</td>
|
||||||
|
<td>{{$d->content}}</td>
|
||||||
|
<td>
|
||||||
|
<a href="{{route('discussion.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('discussion.destroy', encryptor('encrypt',$d->id))}}"
|
||||||
|
method="post">
|
||||||
|
@csrf
|
||||||
|
@method('DELETE')
|
||||||
|
</form>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
@empty
|
||||||
|
<tr>
|
||||||
|
<th colspan="6" class="text-center"><h1>No Discussion Found</h1></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
|
||||||
109
resources/views/backend/communication/message/index.blade.php
Fichier normal
109
resources/views/backend/communication/message/index.blade.php
Fichier normal
@ -0,0 +1,109 @@
|
|||||||
|
@extends('backend.layouts.app')
|
||||||
|
@section('title', 'Message 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>Message 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('message.index')}}">Messages</a></li>
|
||||||
|
<li class="breadcrumb-item active"><a href="{{route('message.index')}}">All Message</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 Messages List </h4>
|
||||||
|
</div>
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table id="example3" class="display" style="min-width: 845px">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>{{__('#')}}</th>
|
||||||
|
<th>{{__('Sender')}}</th>
|
||||||
|
<th>{{__('Receiver')}}</th>
|
||||||
|
<th>{{__('Message')}}</th>
|
||||||
|
<th>{{__('Action')}}</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
@forelse ($message as $m)
|
||||||
|
<tr>
|
||||||
|
<td>{{$m->id}}</td>
|
||||||
|
<td>{{$m->user?->name_en}}</td>
|
||||||
|
<td>{{$m->user?->name_en}}</td>
|
||||||
|
<td>{{$m->content}}</td>
|
||||||
|
<td>
|
||||||
|
<a href="{{route('message.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('message.destroy', encryptor('encrypt',$m->id))}}"
|
||||||
|
method="post">
|
||||||
|
@csrf
|
||||||
|
@method('DELETE')
|
||||||
|
</form>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
@empty
|
||||||
|
<tr>
|
||||||
|
<th colspan="5" class="text-center">
|
||||||
|
<h1>No Message Found</h1>
|
||||||
|
</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
|
||||||
@ -230,23 +230,15 @@ class="las la-chalkboard-teacher"></i>Instructors</a>
|
|||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li><a class="has-arrow" href="javascript:void()" aria-expanded="false">
|
|
||||||
<i class="las la-money-check"></i>
|
|
||||||
<span class="nav-text">Payments</span>
|
|
||||||
</a>
|
|
||||||
<ul aria-expanded="false">
|
|
||||||
<li><a href="javascript:void()"><i class="las la-circle"></i>Course Fees</a></li>
|
|
||||||
<li><a href="javascript:void()"><i class="las la-circle"></i>Subscription Fees</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li><a class="has-arrow" href="javascript:void()" aria-expanded="false">
|
<li><a class="has-arrow" href="javascript:void()" aria-expanded="false">
|
||||||
<i class="las la-tasks"></i>
|
<i class="las la-tasks"></i>
|
||||||
<span class="nav-text">Quizzes</span>
|
<span class="nav-text">Quizzes</span>
|
||||||
</a>
|
</a>
|
||||||
<ul aria-expanded="false">
|
<ul aria-expanded="false">
|
||||||
<li><a href="{{route('quiz.index')}}"><i class="las la-circle"></i>All Quizzes</a></li>
|
<li><a href="{{route('quiz.index')}}"><i class="las la-icons"></i>All Quizzes</a></li>
|
||||||
<li><a href="{{route('question.index')}}"><i class="las la-circle"></i>Questions</a></li>
|
<li><a href="{{route('question.index')}}"><i class="las la-question-circle"></i>Questions</a></li>
|
||||||
<li><a href="javascript:void()"><i class="las la-circle"></i>Answers</a></li>
|
<li><a href="{{route('option.index')}}"><i class="las la-stream"></i>Options</a></li>
|
||||||
|
<li><a href="{{route('answer.index')}}"><i class="las la-font"></i>Answers</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">
|
||||||
@ -254,18 +246,26 @@ class="las la-chalkboard-teacher"></i>Instructors</a>
|
|||||||
<span class="nav-text">Reviews</span>
|
<span class="nav-text">Reviews</span>
|
||||||
</a>
|
</a>
|
||||||
<ul aria-expanded="false">
|
<ul aria-expanded="false">
|
||||||
<li><a href="javascript:void()"><i class="las la-circle"></i>All Review</a></li>
|
<li><a href="{{route('review.index')}}"><i class="las la-wave-square"></i>All Review</a></li>
|
||||||
<li><a href="javascript:void()"><i class="las la-circle"></i>Ratings</a></li>
|
<li><a href="{{route('review.index')}}"><i class="las la-star"></i>Ratings</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">
|
||||||
<i class="las la-users"></i>
|
<i class="las la-comment"></i>
|
||||||
<span class="nav-text">Forum</span>
|
<span class="nav-text">Forum</span>
|
||||||
</a>
|
</a>
|
||||||
<ul aria-expanded="false">
|
<ul aria-expanded="false">
|
||||||
<li><a href="javascript:void()">Discussion</a></li>
|
<li><a href="{{route('discussion.index')}}"><i class="las la-comment-alt"></i>Discussion</a></li>
|
||||||
<li><a href="javascript:void()">Comments</a></li>
|
<li><a href="{{route('message.index')}}"><i class="las la-envelope"></i>Messages</a></li>
|
||||||
<li><a href="javascript:void()">Messages</a></li>
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li><a class="has-arrow" href="javascript:void()" aria-expanded="false">
|
||||||
|
<i class="las la-money-check"></i>
|
||||||
|
<span class="nav-text">Payments</span>
|
||||||
|
</a>
|
||||||
|
<ul aria-expanded="false">
|
||||||
|
<li><a href="javascript:void()"><i class="las la-money-bill"></i>Course Fees</a></li>
|
||||||
|
<li><a href="javascript:void()"><i class="lab la-gg-circle"></i>Subscription Fees</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
@ -54,24 +54,25 @@ class="nav-link btn-primary">Grid
|
|||||||
<th>{{__('Student')}}</th>
|
<th>{{__('Student')}}</th>
|
||||||
<th>{{__('Question')}}</th>
|
<th>{{__('Question')}}</th>
|
||||||
<th>{{__('Answer')}}</th>
|
<th>{{__('Answer')}}</th>
|
||||||
<th>{{__('Action')}}</th>
|
<th>{{__('Action')}}</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
@forelse ($quiz as $q)
|
@forelse ($answer as $a)
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{$q->id}}</td>
|
<td>{{$a->id}}</td>
|
||||||
<td>{{$q->title}}</td>
|
<td>{{$a->student?->name_en}}</td>
|
||||||
<td>{{$q->student?->name_en}}</td>
|
<td>{{$a->question?->content}}</td>
|
||||||
|
<td>{{$a->answer}}</td>
|
||||||
<td>
|
<td>
|
||||||
<a href="{{route('answer.edit', encryptor('encrypt',$q->id))}}"
|
<a href="{{route('answer.edit', encryptor('encrypt',$a->id))}}"
|
||||||
class="btn btn-sm btn-primary" title="Edit"><i
|
class="btn btn-sm btn-primary" title="Edit"><i
|
||||||
class="la la-pencil"></i></a>
|
class="la la-pencil"></i></a>
|
||||||
<a href="javascript:void(0);" class="btn btn-sm btn-danger"
|
<a href="javascript:void(0);" class="btn btn-sm btn-danger"
|
||||||
title="Delete" onclick="$('#form{{$q->id}}').submit()"><i
|
title="Delete" onclick="$('#form{{$a->id}}').submit()"><i
|
||||||
class="la la-trash-o"></i></a>
|
class="la la-trash-o"></i></a>
|
||||||
<form id="form{{$q->id}}"
|
<form id="form{{$a->id}}"
|
||||||
action="{{route('answer.destroy', encryptor('encrypt',$q->id))}}"
|
action="{{route('answer.destroy', encryptor('encrypt',$a->id))}}"
|
||||||
method="post">
|
method="post">
|
||||||
@csrf
|
@csrf
|
||||||
@method('DELETE')
|
@method('DELETE')
|
||||||
@ -80,7 +81,7 @@ class="la la-trash-o"></i></a>
|
|||||||
</tr>
|
</tr>
|
||||||
@empty
|
@empty
|
||||||
<tr>
|
<tr>
|
||||||
<th colspan="4" class="text-center">No Answer Found</th>
|
<th colspan="5" class="text-center"><h1>No Answer Found</h1></th>
|
||||||
</tr>
|
</tr>
|
||||||
@endforelse
|
@endforelse
|
||||||
</tbody>
|
</tbody>
|
||||||
|
|||||||
100
resources/views/backend/quiz/option/create.blade.php
Fichier normal
100
resources/views/backend/quiz/option/create.blade.php
Fichier normal
@ -0,0 +1,100 @@
|
|||||||
|
@extends('backend.layouts.app')
|
||||||
|
@section('title', 'Add Option')
|
||||||
|
|
||||||
|
@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 Option</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('option.index')}}">Options</a></li>
|
||||||
|
<li class="breadcrumb-item active"><a href="{{route('option.create')}}">Add Option</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('option.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">Question</label>
|
||||||
|
<select class="form-control" name="questionId">
|
||||||
|
@forelse ($question as $q)
|
||||||
|
<option value="{{$q->id}}" {{old('questionId')==$q->id?'selected':''}}>
|
||||||
|
{{$q->content}}</option>
|
||||||
|
@empty
|
||||||
|
<option value="">No Question Found</option>
|
||||||
|
@endforelse
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
@if($errors->has('questionId'))
|
||||||
|
<span class="text-danger"> {{ $errors->first('questionId') }}</span>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="form-label">Option</label>
|
||||||
|
<input type="text" class="form-control" name="optionText" value="{{old('optionText')}}">
|
||||||
|
</div>
|
||||||
|
@if($errors->has('optionText'))
|
||||||
|
<span class="text-danger"> {{ $errors->first('optionText') }}</span>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="form-label">Is Correct</label>
|
||||||
|
<select class="form-control" name="is_correct">
|
||||||
|
<option value="1" @if(old('is_correct')==1) selected @endif>Correct</option>
|
||||||
|
<option value="0" @if(old('is_correct')==0) selected @endif>Wrong</option>
|
||||||
|
</select>
|
||||||
|
</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
|
||||||
103
resources/views/backend/quiz/option/edit.blade.php
Fichier normal
103
resources/views/backend/quiz/option/edit.blade.php
Fichier normal
@ -0,0 +1,103 @@
|
|||||||
|
@extends('backend.layouts.app')
|
||||||
|
@section('title', 'Edit Option')
|
||||||
|
|
||||||
|
@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 Option</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('option.index')}}">Options</a></li>
|
||||||
|
<li class="breadcrumb-item active"><a href="javascript:void(0);">Edit Option</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('option.update',encryptor('encrypt', $option->id))}}" method="post"
|
||||||
|
enctype="multipart/form-data">
|
||||||
|
@csrf
|
||||||
|
@method('PATCH')
|
||||||
|
<input type="hidden" name="uptoken" value="{{encryptor('encrypt',$option->id)}}">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="form-label">Question</label>
|
||||||
|
<select class="form-control" name="questionId">
|
||||||
|
@forelse ($question as $q)
|
||||||
|
<option value="{{$q->id}}" {{old('questionId', $option->question_id) ==
|
||||||
|
$q->id?'selected':''}}>
|
||||||
|
{{$q->content}}</option>
|
||||||
|
@empty
|
||||||
|
<option value="">No Question Found</option>
|
||||||
|
@endforelse
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
@if($errors->has('questionId'))
|
||||||
|
<span class="text-danger"> {{ $errors->first('questionId') }}</span>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="form-label">Option</label>
|
||||||
|
<input type="text" class="form-control" name="optionText" value="{{old('optionText',$option->option_text)}}">
|
||||||
|
</div>
|
||||||
|
@if($errors->has('optionText'))
|
||||||
|
<span class="text-danger"> {{ $errors->first('optionText') }}</span>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-6 col-md-6 col-sm-12">
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="form-label">Is Correct</label>
|
||||||
|
<select class="form-control" name="is_correct">
|
||||||
|
<option value="1" @if(old('is_correct',$option->is_correct)==1) selected @endif>Correct</option>
|
||||||
|
<option value="0" @if(old('is_correct',$option->is_correct)==0) selected @endif>Wrong</option>
|
||||||
|
</select>
|
||||||
|
</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
|
||||||
111
resources/views/backend/quiz/option/index.blade.php
Fichier normal
111
resources/views/backend/quiz/option/index.blade.php
Fichier normal
@ -0,0 +1,111 @@
|
|||||||
|
@extends('backend.layouts.app')
|
||||||
|
@section('title', 'Option 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>Option 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('option.index')}}">Options</a></li>
|
||||||
|
<li class="breadcrumb-item active"><a href="{{route('option.index')}}">All Option</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 Options List </h4>
|
||||||
|
<a href="{{route('option.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>{{__('Question')}}</th>
|
||||||
|
<th>{{__('Option')}}</th>
|
||||||
|
<th>{{__('Is Correct')}}</th>
|
||||||
|
<th>{{__('Action')}}</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
@forelse ($option as $o)
|
||||||
|
<tr>
|
||||||
|
<td>{{$o->id}}</td>
|
||||||
|
<td>{{$o->question?->content}}</td>
|
||||||
|
<td>{{$o->option_text}}</td>
|
||||||
|
<td>
|
||||||
|
<span class="badge {{$o->is_correct==1?"
|
||||||
|
badge-success":"badge-danger"}}">{{ $o->is_correct == 1 ? 'Correct' : 'Wrong' }}</span>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<a href="{{route('option.edit', encryptor('encrypt',$o->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{{$o->id}}').submit()"><i
|
||||||
|
class="la la-trash-o"></i></a>
|
||||||
|
<form id="form{{$o->id}}"
|
||||||
|
action="{{route('option.destroy', encryptor('encrypt',$o->id))}}"
|
||||||
|
method="post">
|
||||||
|
@csrf
|
||||||
|
@method('DELETE')
|
||||||
|
</form>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
@empty
|
||||||
|
<tr>
|
||||||
|
<th colspan="4" class="text-center">No Option 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
|
||||||
@ -62,7 +62,7 @@
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="form-label">Qestion Type</label>
|
<label class="form-label">Qestion Type</label>
|
||||||
<select class="form-control" name="questionType">
|
<select class="form-control" name="questionType">
|
||||||
<option value="video" @if(old('questionType', $question->type)=='video' ) selected
|
<option value="multiple_choice" @if(old('questionType', $question->type)=='multiple_choice' ) selected
|
||||||
@endif>Multiple Choice
|
@endif>Multiple Choice
|
||||||
</option>
|
</option>
|
||||||
<option value="true_false" @if(old('questionType', $question->type)=='true_false' ) selected
|
<option value="true_false" @if(old('questionType', $question->type)=='true_false' ) selected
|
||||||
|
|||||||
111
resources/views/backend/review/index.blade.php
Fichier normal
111
resources/views/backend/review/index.blade.php
Fichier normal
@ -0,0 +1,111 @@
|
|||||||
|
@extends('backend.layouts.app')
|
||||||
|
@section('title', 'Review 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>Review 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('review.index')}}">Reviews</a></li>
|
||||||
|
<li class="breadcrumb-item active"><a href="{{route('review.index')}}">All Review</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 Reviews List </h4>
|
||||||
|
</div>
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table id="example3" class="display" style="min-width: 845px">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>{{__('#')}}</th>
|
||||||
|
<th>{{__('Rating')}}</th>
|
||||||
|
<th>{{__('Comment')}}</th>
|
||||||
|
<th>{{__('Course')}}</th>
|
||||||
|
<th>{{__('Student')}}</th>
|
||||||
|
<th>{{__('Action')}}</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
@forelse ($review as $r)
|
||||||
|
<tr>
|
||||||
|
<td>{{$r->id}}</td>
|
||||||
|
<td>{{$r->rating}}</td>
|
||||||
|
<td>{{$r->comment}}</td>
|
||||||
|
<td>{{$r->course?->title_en}}</td>
|
||||||
|
<td>{{$r->student?->name_en}}</td>
|
||||||
|
<td>
|
||||||
|
<a href="{{route('review.edit', encryptor('encrypt',$r->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{{$r->id}}').submit()"><i
|
||||||
|
class="la la-trash-o"></i></a>
|
||||||
|
<form id="form{{$r->id}}"
|
||||||
|
action="{{route('review.destroy', encryptor('encrypt',$r->id))}}"
|
||||||
|
method="post">
|
||||||
|
@csrf
|
||||||
|
@method('DELETE')
|
||||||
|
</form>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
@empty
|
||||||
|
<tr>
|
||||||
|
<th colspan="5" class="text-center">
|
||||||
|
<h1>No Review Found</h1>
|
||||||
|
</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
|
||||||
@ -109,7 +109,7 @@
|
|||||||
@if($errors->has('birthDate'))
|
@if($errors->has('birthDate'))
|
||||||
<span class="text-danger"> {{ $errors->first('birthDate') }}</span>
|
<span class="text-danger"> {{ $errors->first('birthDate') }}</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">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="form-label">Gender</label>
|
<label class="form-label">Gender</label>
|
||||||
|
|||||||
@ -35,7 +35,8 @@
|
|||||||
<h5 class="card-title">Basic Info</h5>
|
<h5 class="card-title">Basic Info</h5>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<form action="{{route('student.update',encryptor('encrypt', $student->id))}}" method="post" enctype="multipart/form-data">
|
<form action="{{route('student.update',encryptor('encrypt', $student->id))}}" method="post"
|
||||||
|
enctype="multipart/form-data">
|
||||||
@csrf
|
@csrf
|
||||||
@method('PATCH')
|
@method('PATCH')
|
||||||
<input type="hidden" name="uptoken" value="{{encryptor('encrypt',$student->id)}}">
|
<input type="hidden" name="uptoken" value="{{encryptor('encrypt',$student->id)}}">
|
||||||
@ -92,7 +93,8 @@
|
|||||||
<label class="form-label">Role</label>
|
<label class="form-label">Role</label>
|
||||||
<select class="form-control" name="roleId">
|
<select class="form-control" name="roleId">
|
||||||
@forelse ($role as $r)
|
@forelse ($role as $r)
|
||||||
<option value="{{$r->id}}" {{old('roleId', $student->role_id)==$r->id?'selected':''}}>
|
<option value="{{$r->id}}" {{old('roleId', $student->
|
||||||
|
role_id)==$r->id?'selected':''}}>
|
||||||
{{$r->name}}</option>
|
{{$r->name}}</option>
|
||||||
@empty
|
@empty
|
||||||
<option value="">No Role Found</option>
|
<option value="">No Role Found</option>
|
||||||
@ -106,8 +108,9 @@
|
|||||||
<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 type="date" name="birthDate" value="{{old('birthDate',$student->date_of_birth)}}"
|
<input type="date" name="birthDate"
|
||||||
class="form-control" id="">
|
value="{{old('birthDate',$student->date_of_birth)}}" 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>
|
||||||
@ -117,11 +120,14 @@ class="form-control" id="">
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="form-label">Gender</label>
|
<label class="form-label">Gender</label>
|
||||||
<select class="form-control" name="gender">
|
<select class="form-control" name="gender">
|
||||||
<option value="male" @if(old('gender',$student->gender)=='male' ) selected @endif>Male
|
<option value="male" @if(old('gender',$student->gender)=='male' ) selected
|
||||||
|
@endif>Male
|
||||||
</option>
|
</option>
|
||||||
<option value="female" @if(old('gender',$student->gender)=='female' ) selected @endif>Fenale
|
<option value="female" @if(old('gender',$student->gender)=='female' )
|
||||||
|
selected @endif>Fenale
|
||||||
</option>
|
</option>
|
||||||
<option value="other" @if(old('gender',$student->gender)=='other' ) selected @endif>Other
|
<option value="other" @if(old('gender',$student->gender)=='other' ) selected
|
||||||
|
@endif>Other
|
||||||
</option>
|
</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
@ -130,8 +136,10 @@ class="form-control" id="">
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="form-label">Status</label>
|
<label class="form-label">Status</label>
|
||||||
<select class="form-control" name="status">
|
<select class="form-control" name="status">
|
||||||
<option value="1" @if(old('status',$student->status)==1) selected @endif>Active</option>
|
<option value="1" @if(old('status',$student->status)==1) selected
|
||||||
<option value="0" @if(old('status',$student->status)==0) selected @endif>Inactive</option>
|
@endif>Active</option>
|
||||||
|
<option value="0" @if(old('status',$student->status)==0) selected
|
||||||
|
@endif>Inactive</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<title>{{ENV('APP_NAME')}} | @yield('title')</title>
|
<title>{{ENV('APP_NAME')}} | @yield('title', 'Home')</title>
|
||||||
<meta content="width=device-width, initial-scale=1.0" name="viewport">
|
<meta content="width=device-width, initial-scale=1.0" name="viewport">
|
||||||
<meta content="" name="keywords">
|
<meta content="" name="keywords">
|
||||||
<meta content="" name="description">
|
<meta content="" name="description">
|
||||||
|
|||||||
@ -1,18 +1,23 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
use Illuminate\Support\Facades\Route;
|
use Illuminate\Support\Facades\Route;
|
||||||
use App\Http\Controllers\Backend\AuthenticationController as auth;
|
use App\Http\Controllers\Backend\Setting\AuthenticationController as auth;
|
||||||
use App\Http\Controllers\Backend\UserController as user;
|
use App\Http\Controllers\Backend\Setting\UserController as user;
|
||||||
use App\Http\Controllers\Backend\DashboardController as dashboard;
|
use App\Http\Controllers\Backend\Setting\DashboardController as dashboard;
|
||||||
use App\Http\Controllers\Backend\Courses\CourseCategoryController as courseCategory;
|
use App\Http\Controllers\Backend\Setting\RoleController as role;
|
||||||
use App\Http\Controllers\Backend\RoleController as role;
|
use App\Http\Controllers\Backend\Setting\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;
|
use App\Http\Controllers\Backend\Instructors\InstructorController as instructor;
|
||||||
|
use App\Http\Controllers\Backend\Courses\CourseCategoryController as courseCategory;
|
||||||
use App\Http\Controllers\Backend\Courses\CourseController as course;
|
use App\Http\Controllers\Backend\Courses\CourseController as course;
|
||||||
use App\Http\Controllers\Backend\Courses\MaterialController as material;
|
use App\Http\Controllers\Backend\Courses\MaterialController as material;
|
||||||
use App\Http\Controllers\Backend\Quizzes\QuizController as quiz;
|
use App\Http\Controllers\Backend\Quizzes\QuizController as quiz;
|
||||||
use App\Http\Controllers\Backend\Quizzes\QuestionController as question;
|
use App\Http\Controllers\Backend\Quizzes\QuestionController as question;
|
||||||
|
use App\Http\Controllers\Backend\Quizzes\OptionController as option;
|
||||||
|
use App\Http\Controllers\Backend\Quizzes\AnswerController as answer;
|
||||||
|
use App\Http\Controllers\Backend\Reviews\ReviewController as review;
|
||||||
|
use App\Http\Controllers\Backend\Communication\DiscussionController as discussion;
|
||||||
|
use App\Http\Controllers\Backend\Communication\MessageController as message;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
@ -47,6 +52,11 @@
|
|||||||
Route::resource('material', material::class);
|
Route::resource('material', material::class);
|
||||||
Route::resource('quiz', quiz::class);
|
Route::resource('quiz', quiz::class);
|
||||||
Route::resource('question', question::class);
|
Route::resource('question', question::class);
|
||||||
|
Route::resource('option', option::class);
|
||||||
|
Route::resource('answer', answer::class);
|
||||||
|
Route::resource('review', review::class);
|
||||||
|
Route::resource('discussion', discussion::class);
|
||||||
|
Route::resource('message', message::class);
|
||||||
Route::get('permission/{role}', [permission::class, 'index'])->name('permission.list');
|
Route::get('permission/{role}', [permission::class, 'index'])->name('permission.list');
|
||||||
Route::post('permission/{role}', [permission::class, 'save'])->name('permission.save');
|
Route::post('permission/{role}', [permission::class, 'save'])->name('permission.save');
|
||||||
});
|
});
|
||||||
|
|||||||
Chargement…
Référencer dans un nouveau ticket
Block a user