From 0fd772dcb8308bb190525c746c341e3a07ede4e0 Mon Sep 17 00:00:00 2001 From: Jailson Dias Date: Thu, 8 Sep 2016 00:13:05 -0300 Subject: [PATCH] templates para visualização das views de subjects e topics issues #27 e #28 --- courses/templates/subject/form_view_student.html | 14 ++++++++++++++ courses/templates/subject/form_view_teacher.html | 17 +++++++++++++++++ courses/templates/subject/index.html | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ courses/urls.py | 9 +++++---- courses/views.py | 211 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------------------------------------------------------------- 5 files changed, 211 insertions(+), 102 deletions(-) create mode 100644 courses/templates/subject/form_view_student.html create mode 100644 courses/templates/subject/form_view_teacher.html create mode 100644 courses/templates/subject/index.html diff --git a/courses/templates/subject/form_view_student.html b/courses/templates/subject/form_view_student.html new file mode 100644 index 0000000..eda424c --- /dev/null +++ b/courses/templates/subject/form_view_student.html @@ -0,0 +1,14 @@ +{% load i18n %} + +
+
+
+
+

{{topic}}

+
+
+
+
+

{{topic.description}}

+
+
diff --git a/courses/templates/subject/form_view_teacher.html b/courses/templates/subject/form_view_teacher.html new file mode 100644 index 0000000..f33b74f --- /dev/null +++ b/courses/templates/subject/form_view_teacher.html @@ -0,0 +1,17 @@ +{% load i18n %} + +
+
+
+
+

{{topic}}

+
+ +
+
+
+

{{topic.description}}

+
+
diff --git a/courses/templates/subject/index.html b/courses/templates/subject/index.html new file mode 100644 index 0000000..02c0841 --- /dev/null +++ b/courses/templates/subject/index.html @@ -0,0 +1,62 @@ +{% extends 'base.html' %} + +{% load static i18n permission_tags %} + +{% block breadcrumbs %} + + +{% endblock %} + +{% block sidebar %} + +
+ +
+

{{course}}

+
+ +
+ {% for subject in subjects %} + {{subject}} + {% endfor %} +
+ +
+{% endblock %} + +{% block content %} +
+
+

{% trans "Presentation Subject" %}

+
+
+

+ {{subject.description}} +

+
+
+{% for topic in topics %} + {% if user|has_role:'professor' or user|has_role:'system_admin'%} + {% include "subject/form_view_teacher.html" %} + {% else %} + {% include "subject/form_view_student.html" %} + {% endif %} +{% endfor %} + +{% endblock %} + +{% block rightbar %} + +
+
+

Pending Stuffs

+
+
+ +
+
+{% endblock rightbar %} diff --git a/courses/urls.py b/courses/urls.py index 388a13a..06f0399 100644 --- a/courses/urls.py +++ b/courses/urls.py @@ -14,8 +14,9 @@ urlpatterns = [ url(r'^categories/edit/(?P[\w_-]+)/$', views.UpdateCatView.as_view(), name='update_cat'), url(r'^categories/(?P[\w_-]+)/$', views.ViewCat.as_view(), name='view_cat'), url(r'^categories/delete/(?P[\w_-]+)/$', views.DeleteCatView.as_view(), name='delete_cat'), - url(r'^course/(?P[\w_-]+)/modules/$', views.ModulesView.as_view(), name='manage_mods'), - url(r'^course/(?P[\w_-]+)/modules/create/$', views.CreateModView.as_view(), name='create_mods'), - url(r'^course/(?P[\w_-]+)/modules/edit/(?P[\w_-]+)/$', views.UpdateModView.as_view(), name='update_mods'), - url(r'^course/(?P[\w_-]+)/modules/delete/(?P[\w_-]+)/$', views.DeleteModView.as_view(), name='delete_mods'), + url(r'^course/(?P[\w_-]+)/subjects/$', views.SubjectsView.as_view(), name='view_subject'), + # url(r'^course/(?P[\w_-]+)/modules/create/$', views.CreateModView.as_view(), name='create_mods'), + # url(r'^course/(?P[\w_-]+)/modules/edit/(?P[\w_-]+)/$', views.UpdateModView.as_view(), name='update_mods'), + # url(r'^course/(?P[\w_-]+)/modules/delete/(?P[\w_-]+)/$', views.DeleteModView.as_view(), name='delete_mods'), + # url(r'^course/(?P[\w_-]+)/subject$', views.ViewSubject.as_view(), name='view_subject'), ] diff --git a/courses/views.py b/courses/views.py index 3206dd1..3cd40b6 100644 --- a/courses/views.py +++ b/courses/views.py @@ -9,8 +9,8 @@ from django.core.urlresolvers import reverse_lazy from django.utils.translation import ugettext_lazy as _ from slugify import slugify -from .forms import CourseForm, CategoryForm, ModuleForm -from .models import Course, Module, Category +from .forms import CourseForm, CategoryForm, SubjectForm +from .models import Course, Subject, Category class IndexView(LoginRequiredMixin, generic.ListView): @@ -186,108 +186,123 @@ class DeleteCatView(LoginRequiredMixin, HasRoleMixin, generic.DeleteView): return self.response_class(request=self.request, template=self.get_template_names(), context=context, using=self.template_engine) -class ModulesView(LoginRequiredMixin, generic.ListView): +class SubjectsView(LoginRequiredMixin, generic.ListView): login_url = reverse_lazy("core:home") redirect_field_name = 'next' - template_name = 'module/index.html' - context_object_name = 'modules' - paginate_by = 1 + template_name = 'subject/index.html' + context_object_name = 'subjects' + model = Subject + # paginate_by = 5 def get_queryset(self): - course = get_object_or_404(Course, slug = self.kwargs.get('slug')) - return Module.objects.filter(course = course) + subject = get_object_or_404(Subject, slug = self.kwargs.get('slug')) + course = subject.course + return course.subjects.filter(visible=True) def get_context_data(self, **kwargs): - course = get_object_or_404(Course, slug = self.kwargs.get('slug')) - context = super(ModulesView, self).get_context_data(**kwargs) - context['course'] = course - - return context - -class CreateModView(LoginRequiredMixin, HasRoleMixin, generic.edit.CreateView): - - allowed_roles = ['professor', 'system_admin'] - login_url = reverse_lazy("core:home") - redirect_field_name = 'next' - template_name = 'module/create.html' - form_class = ModuleForm - - def get_success_url(self): - return reverse_lazy('course:manage_mods', kwargs={'slug' : self.object.course.slug}) - - def get_context_data(self, **kwargs): - course = get_object_or_404(Course, slug = self.kwargs.get('slug')) - context = super(CreateModView, self).get_context_data(**kwargs) - context['course'] = course - + # print ("Deu Certo") + subject = get_object_or_404(Subject, slug = self.kwargs.get('slug')) + # print (course) + # print (course.slug) + # print (course.subjects.filter(visible=True)) + context = super(SubjectsView, self).get_context_data(**kwargs) + context['course'] = subject.course + context['subject'] = subject + context['topics'] = subject.topics.all() + # print (context) return context - def form_valid(self, form): - course = get_object_or_404(Course, slug = self.kwargs.get('slug')) - - self.object = form.save(commit = False) - self.object.slug = slugify(self.object.name) - self.object.course = course - self.object.save() - - return super(CreateModView, self).form_valid(form) - - def render_to_response(self, context, **response_kwargs): - messages.success(self.request, _('Module created successfully!')) - - return self.response_class(request=self.request, template=self.get_template_names(), context=context, using=self.template_engine) - -class UpdateModView(LoginRequiredMixin, HasRoleMixin, generic.UpdateView): - - allowed_roles = ['professor', 'system_admin'] - login_url = reverse_lazy("core:home") - redirect_field_name = 'next' - template_name = 'module/update.html' - model = Module - form_class = ModuleForm - - def get_success_url(self): - return reverse_lazy('course:manage_mods', kwargs={'slug' : self.object.course.slug}) - - def get_context_data(self, **kwargs): - course = get_object_or_404(Course, slug = self.kwargs.get('slug_course')) - context = super(UpdateModView, self).get_context_data(**kwargs) - context['course'] = course - - return context - - def form_valid(self, form): - self.object = form.save(commit = False) - self.object.slug = slugify(self.object.name) - self.object.save() - - return super(UpdateModView, self).form_valid(form) - - def render_to_response(self, context, **response_kwargs): - messages.success(self.request, _('Module edited successfully!')) - - return self.response_class(request=self.request, template=self.get_template_names(), context=context, using=self.template_engine) - -class DeleteModView(LoginRequiredMixin, HasRoleMixin, generic.DeleteView): - - allowed_roles = ['professor', 'system_admin'] - login_url = reverse_lazy("core:home") - redirect_field_name = 'next' - model = Module - template_name = 'module/delete.html' - - def get_success_url(self): - return reverse_lazy('course:manage_mods', kwargs={'slug' : self.object.course.slug}) - - def get_context_data(self, **kwargs): - course = get_object_or_404(Course, slug = self.kwargs.get('slug_course')) - context = super(DeleteModView, self).get_context_data(**kwargs) - context['course'] = course - - return context - - def render_to_response(self, context, **response_kwargs): - messages.success(self.request, _('Module deleted successfully!')) - - return self.response_class(request=self.request, template=self.get_template_names(), context=context, using=self.template_engine) +# class CreateSubjectView(LoginRequiredMixin, HasRoleMixin, generic.edit.CreateView): +# +# allowed_roles = ['professor', 'system_admin'] +# login_url = reverse_lazy("core:home") +# redirect_field_name = 'next' +# template_name = 'module/create.html' +# form_class = SubjectForm +# +# def get_success_url(self): +# return reverse_lazy('course:manage_mods', kwargs={'slug' : self.object.course.slug}) +# +# def get_context_data(self, **kwargs): +# course = get_object_or_404(Course, slug = self.kwargs.get('slug')) +# context = super(CreateModView, self).get_context_data(**kwargs) +# context['course'] = course +# +# return context +# +# def form_valid(self, form): +# course = get_object_or_404(Course, slug = self.kwargs.get('slug')) +# +# self.object = form.save(commit = False) +# self.object.slug = slugify(self.object.name) +# self.object.course = course +# self.object.save() +# +# return super(CreateModView, self).form_valid(form) +# +# def render_to_response(self, context, **response_kwargs): +# messages.success(self.request, _('Module created successfully!')) +# +# return self.response_class(request=self.request, template=self.get_template_names(), context=context, using=self.template_engine) +# +# class UpdateModView(LoginRequiredMixin, HasRoleMixin, generic.UpdateView): +# +# allowed_roles = ['professor', 'system_admin'] +# login_url = reverse_lazy("core:home") +# redirect_field_name = 'next' +# template_name = 'module/update.html' +# model = Module +# form_class = ModuleForm +# +# def get_success_url(self): +# return reverse_lazy('course:manage_mods', kwargs={'slug' : self.object.course.slug}) +# +# def get_context_data(self, **kwargs): +# course = get_object_or_404(Course, slug = self.kwargs.get('slug_course')) +# context = super(UpdateModView, self).get_context_data(**kwargs) +# context['course'] = course +# +# return context +# +# def form_valid(self, form): +# self.object = form.save(commit = False) +# self.object.slug = slugify(self.object.name) +# self.object.save() +# +# return super(UpdateModView, self).form_valid(form) +# +# def render_to_response(self, context, **response_kwargs): +# messages.success(self.request, _('Module edited successfully!')) +# +# return self.response_class(request=self.request, template=self.get_template_names(), context=context, using=self.template_engine) +# +# class DeleteModView(LoginRequiredMixin, HasRoleMixin, generic.DeleteView): +# +# allowed_roles = ['professor', 'system_admin'] +# login_url = reverse_lazy("core:home") +# redirect_field_name = 'next' +# model = Module +# template_name = 'module/delete.html' +# +# def get_success_url(self): +# return reverse_lazy('course:manage_mods', kwargs={'slug' : self.object.course.slug}) +# +# def get_context_data(self, **kwargs): +# course = get_object_or_404(Course, slug = self.kwargs.get('slug_course')) +# context = super(DeleteModView, self).get_context_data(**kwargs) +# context['course'] = course +# +# return context +# +# def render_to_response(self, context, **response_kwargs): +# messages.success(self.request, _('Module deleted successfully!')) +# +# return self.response_class(request=self.request, template=self.get_template_names(), context=context, using=self.template_engine) + +# class ViewSubject(LoginRequiredMixin, generic.DetailView): +# login_url = reverse_lazy("core:home") +# redirect_field_name = 'next' +# model = Course +# template_name = 'subject/index.html' +# context_object_name = 'course' -- libgit2 0.21.2