Merge remote-tracking branch 'origin/dev' into dev

remotes/origin/hasaccess
Vitaly Baev 8 years ago
commit 41fb261b53
  1. 10
      apps/course/templates/course/course_edit.html
  2. 26
      apps/course/views.py
  3. 3
      project/urls.py

@ -1,8 +1,14 @@
{% extends "templates/lilcity/edit_index.html" %}
{% load static %}
{% block title %}{% if course %}Редактирование курса {{ course.title }}{% else %}Создание курса{% endif %}{% endblock title%}
{% block title %}
{% if course %}
Редактирование {% if not live %}курса{% else %}стрима{% endif %} {{ course.title }}
{% else %}
Создание {% if not live %}курса{% else %}стрима{% endif %}
{% endif %}
{% endblock title%}
{% block content %}
<course-redactor author-picture="{% if request.user.photo %}{{ request.user.photo.url }}{% else %}{% static 'img/user.jpg' %}{% endif %}"
<course-redactor :live="{{ live }}" author-picture="{% if request.user.photo %}{{ request.user.photo.url }}{% else %}{% static 'img/user.jpg' %}{% endif %}"
author-name="{{ request.user.first_name }} {{ request.user.last_name }}"
access-token="{{ request.user.auth_token }}"
{% if course and course.id %}:course-id="{{ course.id }}"{% endif %}></course-redactor>

@ -171,11 +171,37 @@ class CourseEditView(TemplateView):
def get_context_data(self):
context = super().get_context_data()
context['live'] = 'false'
if self.object:
context['course'] = self.object
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()
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['course'] = self.object
return context
# @method_decorator(login_required, name='dispatch')
class CourseView(DetailView):
model = Course

@ -23,7 +23,7 @@ from apps.course.views import (
CoursesView, likes, coursecomment,
CourseView, LessonView, SearchView,
lessoncomment, CourseEditView,
CourseOnModerationView,
CourseOnModerationView, CourseLiveEditView,
)
from apps.user.views import (
AuthorRequestView, UserView,
@ -46,6 +46,7 @@ urlpatterns = [
path('author-request/success/', TemplateView.as_view(template_name='user/become-author-success.html'), name='author-request-success'),
path('courses/', CoursesView.as_view(), name='courses'),
path('course/create', CourseEditView.as_view(), name='course_create'),
path('course/create/live', CourseLiveEditView.as_view(), name='course_create_live'),
path('course/on-moderation', CourseOnModerationView.as_view(), name='course-on-moderation'),
path('course/<int:pk>/', CourseView.as_view(), name='course'),
path('course/<str:slug>/', CourseView.as_view(), name='course'),

Loading…
Cancel
Save