from django.contrib.messages.views import SuccessMessageMixin
from django.views.generic import CreateView, ListView, UpdateView, DeleteView
from django.urls import reverse_lazy
from .models import *
from .forms import *


# Car category
class Index(ListView):
    model = Course
    template_name = "backend/course/index.html"

    def get_queryset(self):
        queryset = super().get_queryset()
        keyword = self.request.GET.get('keyword')
        if keyword:
            queryset = queryset.filter(title__icontains=keyword)
        return queryset.order_by('orderBy', 'id')


class Create(SuccessMessageMixin, CreateView):
    model = Course
    template_name = "backend/course/form.html"
    form_class = CourseForm
    success_message = "Course Created Successfully."
    success_url = reverse_lazy('course:index')


class Update(SuccessMessageMixin, UpdateView):
    model = Course
    template_name = "backend/course/form.html"
    form_class = CourseForm
    success_message = "Course Updated Successfully."
    success_url = reverse_lazy('course:index')


class Delete(SuccessMessageMixin, DeleteView):
    model = Course
    template_name = "backend/layouts/deletePopUp.html"
    success_message = "Course Deleted Successfully."
    success_url = reverse_lazy('course:index')
