Anons79 Mini Shell

Directory : /home/aplikasiposinfo/.trash/app.4/Http/Controllers/
Upload File :
Current File : /home/aplikasiposinfo/.trash/app.4/Http/Controllers/CourseController.php

<?php

namespace App\Http\Controllers;

use App\Http\Requests\CreateCourseRequest;
use App\Http\Requests\UpdateCourseRequest;
use App\Http\Controllers\AppBaseController;
use App\Repositories\CourseRepository;
use Illuminate\Http\Request;
use App\Models\CourseLevel;
use App\Models\CourseKategori;
use App\Models\ModuleChapter;
use App\Models\Module;
use Laracasts\Flash\Flash;
use Illuminate\Support\Facades\DB;

class CourseController extends AppBaseController
{
    /** @var CourseRepository $courseRepository*/
    private $courseRepository;

    public function __construct(CourseRepository $courseRepo)
    {
        $this->middleware('permission:courses.index', ['only' => ['index','show']]);
        $this->middleware('permission:courses.create', ['only' => ['create','store']]);
        $this->middleware('permission:courses.edit', ['only' => ['edit','update']]);
        $this->middleware('permission:courses.destroy', ['only' => ['destroy']]);
        $this->courseRepository = $courseRepo;
    }

    /**
     * Display a listing of the Course.
     */
    public function index(Request $request)
    {
        $courses = $this->courseRepository->paginate(10);
//        $modulChapter =
        return view('courses.index')
            ->with('courses', $courses);
    }

    /**
     * Show the form for creating a new Course.
     */
    public function create()
    {
        $CourseLevel=CourseLevel::pluck('name','id');
        $CourseKategori=CourseKategori::pluck('name','id');
        return view('courses.create', compact('CourseLevel','CourseKategori'));
    }

    /**
     * Store a newly created Course in storage.
     */
    public function store(CreateCourseRequest $request)
    {
        $input = $request->all();
//            DB::beginTransaction();
//        try {
                $course = $this->courseRepository->create($input);
                $course->addFromMediaLibraryRequest($request->media)
                    ->toMediaCollection();
//                $moduleChapte=ModuleChapter::create([
//                    'name',
//                    'course_id'
//                ]);
//                $modul=Module::create([
//                    'title',
//                    'content',
//                    'estimated_time_minutes',
//                    'passing_score',
//                    'tolerance',
//                    'course_id',
//                    'module_chapter_id',
//                    'slug',
//                    'order',
//                    'module_type_id',
//                    'module_parent_id',
//                ]);
//            DB::commit();
//            Flash::success('Course saved successfully.');
//        }catch (\Exception $exception){
//            DB::rollBack();
//            Flash::error('Tambah Data Gagal. error:'.$exception);
//            return redirect(route('courses.index'));
//        }
        return redirect(route('courses.index'));
    }

    /**
     * Display the specified Course.
     */
    public function show($id)
    {
        $course = $this->courseRepository->find($id);

        if (empty($course)) {
            Flash::error('Course not found');

            return redirect(route('courses.index'));
        }

        return view('courses.show')->with('course', $course);
    }

    /**
     * Show the form for editing the specified Course.
     */
    public function edit($id)
    {
        $course = $this->courseRepository->find($id);
        $CourseLevel=CourseLevel::pluck('name','id');
        $CourseKategori=CourseKategori::pluck('name','id');
        if (empty($course)) {
            Flash::error('Course not found');

            return redirect(route('courses.index'));
        }

        return view('courses.edit', compact('CourseLevel', 'CourseKategori'))->with('course', $course);
    }

    /**
     * Update the specified Course in storage.
     */
    public function update($id, UpdateCourseRequest $request)
    {
        $course = $this->courseRepository->find($id);

        if (empty($course)) {
            Flash::error('Course not found');

            return redirect(route('courses.index'));
        }

        $course = $this->courseRepository->update($request->all(), $id);
        $course->syncFromMediaLibraryRequest($request->media)
            ->toMediaCollection();
        Flash::success('Course updated successfully.');

        return redirect(route('courses.index'));
    }

    /**
     * Remove the specified Course from storage.
     *
     * @throws \Exception
     */
    public function destroy($id)
    {
        $course = $this->courseRepository->find($id);

        if (empty($course)) {
            Flash::error('Course not found');

            return redirect(route('courses.index'));
        }

        $this->courseRepository->delete($id);

        Flash::success('Course deleted successfully.');

        return redirect(route('courses.index'));
    }
}

Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]