from django.db import models
from judge.models.course import Course
from django.views.generic import ListView

__all__ = [
    "CourseList",
    "CourseDetail",
    "CourseResource",
    "CourseResourceDetail",
    "CourseStudentResults",
    "CourseEdit",
    "CourseResourceDetailEdit",
    "CourseResourceEdit",    
]

course_directory_file = ""

class CourseListMixin(object):
    def get_queryset(self):
        return Course.objects.filter(is_open = "true").values()

class CourseList(ListView):
    model = Course
    template_name = "course/list.html"
    queryset = Course.objects.filter(is_public=True).filter(is_open=True)
    def get_context_data(self, **kwargs):
        context = super(CourseList,self).get_context_data(**kwargs)
        available , enrolling = [] , []
        for course in Course.objects.filter(is_public=True).filter(is_open=True):
            if Course.is_accessible_by(course, self.request.profile):
                enrolling.append(course)
            else:
                available.append(course)
        context["available"] = available
        context["enrolling"] = enrolling
        return context