diff --git a/apps/course/views.py b/apps/course/views.py index d343e17c..4d3a9a67 100644 --- a/apps/course/views.py +++ b/apps/course/views.py @@ -167,7 +167,7 @@ class CourseEditView(TemplateView): self.object = Course.objects.create( author=request.user, ) - if request.user != self.object.author and request.user.role not in [User.ADMIN_ROLE, User.AUTHOR_ROLE]: + if request.user != self.object.author and request.user.role < User.AUTHOR_ROLE: raise Http404 return super().get(request) @@ -178,34 +178,6 @@ class CourseEditView(TemplateView): return context -@method_decorator(login_required, name='dispatch') -class CourseLiveEditView(TemplateView): - template_name = 'course/course_edit.html' - - def get(self, request, pk=None): - drafts = Course.objects.filter( - author=request.user, status=Course.DRAFT - ) - if pk: - self.object = get_object_or_404(Course, pk=pk) - elif drafts.exists(): - self.object = drafts.last() - else: - self.object = Course.objects.create( - author=request.user, - ) - if request.user != self.object.author and request.user.role not in [User.ADMIN_ROLE, User.AUTHOR_ROLE]: - raise Http404 - return super().get(request) - - def get_context_data(self): - context = super().get_context_data() - context['live'] = 'true' - if self.object: - context['object'] = self.object - return context - - # @method_decorator(login_required, name='dispatch') class CourseView(DetailView): model = Course @@ -217,7 +189,7 @@ class CourseView(DetailView): response = super().get(request, *args, **kwargs) context = self.get_context_data() if (not request.user.is_authenticated and self.object.status != Course.PUBLISHED) or\ - (request.user.is_authenticated and request.user.role not in [User.AUTHOR_ROLE, User.ADMIN_ROLE] and self.object.author != request.user and self.only_lessons and not context['paid']): + (request.user.is_authenticated and request.user.role < User.AUTHOR_ROLE and self.object.author != request.user and self.only_lessons and not context['paid']): raise Http404 return response @@ -318,7 +290,7 @@ class LessonView(DetailView): def get(self, request, *args, **kwargs): response = super().get(request, *args, **kwargs) if (self.object.course.status != Course.PUBLISHED and - (request.user.role not in [User.AUTHOR_ROLE, User.ADMIN_ROLE] or + (request.user.role < User.AUTHOR_ROLE or self.object.course.author != request.user)): raise Http404 return response diff --git a/project/templates/blocks/header.html b/project/templates/blocks/header.html index 5e09cffb..2eacd9ff 100644 --- a/project/templates/blocks/header.html +++ b/project/templates/blocks/header.html @@ -58,12 +58,12 @@ {{ request.user.balance }} руб. {% if request.user.auth_token %} - {% if request.user.role == request.user.AUTHOR_ROLE or request.user.role == request.user.ADMIN_ROLE %} + {% if request.user.role >= request.user.AUTHOR_ROLE %}
ДОБАВИТЬ КУРС
{% endif %} - {% if request.user.role == request.user.TEACHER_ROLE or request.user.role == request.user.ADMIN_ROLE %} + {% if request.user.role >= request.user.TEACHER_ROLE %}
ДОБАВИТЬ УРОК ШКОЛЫ