From 862dbc1299dd86ed24311cad4b5405c284825b1c Mon Sep 17 00:00:00 2001 From: Jailson Dias Date: Thu, 8 Sep 2016 01:38:33 -0300 Subject: [PATCH] Template e procedimento de criar topic issues #28 e #35 --- courses/templates/module/create.html | 80 -------------------------------------------------------------------------------- courses/templates/module/delete.html | 53 ----------------------------------------------------- courses/templates/module/index.html | 128 -------------------------------------------------------------------------------------------------------------------------------- courses/templates/module/update.html | 80 -------------------------------------------------------------------------------- courses/templates/subject/form_view_student.html | 2 +- courses/templates/subject/form_view_teacher.html | 2 +- courses/templates/subject/index.html | 5 +++-- courses/templates/topic/create.html | 25 +++++++++++++++++++++++++ courses/urls.py | 1 + courses/views.py | 77 ++++++++++++++++++++++++++++++++++++++--------------------------------------- 10 files changed, 69 insertions(+), 384 deletions(-) delete mode 100644 courses/templates/module/create.html delete mode 100644 courses/templates/module/delete.html delete mode 100644 courses/templates/module/index.html delete mode 100644 courses/templates/module/update.html create mode 100644 courses/templates/topic/create.html diff --git a/courses/templates/module/create.html b/courses/templates/module/create.html deleted file mode 100644 index 6cf4ec7..0000000 --- a/courses/templates/module/create.html +++ /dev/null @@ -1,80 +0,0 @@ -{% extends 'app/base.html' %} - -{% load static i18n %} -{% load widget_tweaks %} - -{% block breadcrumbs %} - -{% endblock %} - -{% block sidebar %} -
- - {% trans 'Courses' %} - - - {% trans 'Create Course' %} - - - {% trans 'Course Info' %} - - - {% trans 'Edit Course' %} - - - {% trans 'Manage Modules' %} - - - {% trans 'Participants' %} - - - {% trans 'Course avaliations' %} - - - {% trans 'Duplicate Course' %} - - - {% trans 'Delete Course' %} - -
- -{% endblock %} - -{% block content %} - - -
- {% csrf_token %} - {% for field in form %} -
- - {% render_field field class='form-control input-sm' %} - {{ field.help_text }} - {% if field.errors.length > 0 %} - -
- {% endif %} - - {% endfor %} - -
-
-{% endblock %} diff --git a/courses/templates/module/delete.html b/courses/templates/module/delete.html deleted file mode 100644 index f0d77b1..0000000 --- a/courses/templates/module/delete.html +++ /dev/null @@ -1,53 +0,0 @@ -{% extends 'app/base.html' %} - -{% load static i18n %} - -{% block breadcrumbs %} - -{% endblock %} - -{% block sidebar %} -
- - {% trans 'Courses' %} - - - {% trans 'Create Course' %} - - - {% trans 'Course Info' %} - - - {% trans 'Edit Course' %} - - - {% trans 'Manage Modules' %} - - - {% trans 'Participants' %} - - - {% trans 'Course avaliations' %} - - - {% trans 'Duplicate Course' %} - - - {% trans 'Delete Course' %} - -
- -{% endblock %} - -{% block content %} -
- {% csrf_token %} -

{% trans 'Are you sure you want to delete the module' %} "{{ object }}"?

- - {% trans 'No' %} -
-{% endblock %} diff --git a/courses/templates/module/index.html b/courses/templates/module/index.html deleted file mode 100644 index 041b6b4..0000000 --- a/courses/templates/module/index.html +++ /dev/null @@ -1,128 +0,0 @@ -{% extends 'app/base.html' %} - -{% load static i18n permission_tags %} - -{% block breadcrumbs %} - -{% endblock %} - -{% block sidebar %} -
- - {% trans 'Courses' %} - - - {% trans 'Course Info' %} - - - {% trans 'Manage Modules' %} - - {% if user|has_role:'professor, system_admin' %} - - {% trans 'Create Course' %} - - - {% trans 'Edit Course' %} - - - {% trans 'Participants' %} - - - {% trans 'Course avaliations' %} - - - {% trans 'Duplicate Course' %} - - - {% trans 'Delete Course' %} - - {% endif %} -
- -{% endblock %} - -{% block content %} - {% if messages %} - {% for message in messages %} - - {% endfor %} - {% endif %} - -
-
- -
-
-
-
- {% if user|has_role:'professor, system_admin' %} - - {% endif %} -

- - {{ course }} - -

- {{ course.category }} - {{ course.max_students }} {% trans 'students maximum' %} -
-
- {% trans 'Period:' %} de {{ course.init_date }} até {{ course.end_date }} -
-
-
-
- - {% if modules|length > 0 %} -
-
-

{% trans 'Modules' %}

-
-
-
    - {% for module in modules %} -
  • -
    -
    -
    -

    {{ module }}

    -

    {{ module.description|linebreaks }}

    -
    -
    -
    - {% if module.visible %} - {% trans 'Visible' %} - {% else %} - {% trans 'Invisible' %} - {% endif %} - - - - - - -
    -
    -
  • - {% endfor %} -
-
-
- {% else %} - {% trans 'No modules found' %} - {% endif %} - -{% endblock %} diff --git a/courses/templates/module/update.html b/courses/templates/module/update.html deleted file mode 100644 index 85c2f26..0000000 --- a/courses/templates/module/update.html +++ /dev/null @@ -1,80 +0,0 @@ -{% extends 'app/base.html' %} - -{% load static i18n %} -{% load widget_tweaks %} - -{% block breadcrumbs %} - -{% endblock %} - -{% block sidebar %} -
- - {% trans 'Courses' %} - - - {% trans 'Create Course' %} - - - {% trans 'Course Info' %} - - - {% trans 'Edit Course' %} - - - {% trans 'Manage Modules' %} - - - {% trans 'Participants' %} - - - {% trans 'Course avaliations' %} - - - {% trans 'Duplicate Course' %} - - - {% trans 'Delete Course' %} - -
- -{% endblock %} - -{% block content %} - - -
- {% csrf_token %} - {% for field in form %} -
- - {% render_field field class='form-control input-sm' %} - {{ field.help_text }} - {% if field.errors.length > 0 %} - -
- {% endif %} - - {% endfor %} - -
-
-{% endblock %} diff --git a/courses/templates/subject/form_view_student.html b/courses/templates/subject/form_view_student.html index eda424c..824972b 100644 --- a/courses/templates/subject/form_view_student.html +++ b/courses/templates/subject/form_view_student.html @@ -9,6 +9,6 @@
-

{{topic.description}}

+

{{topic.description|linebreaks}}

diff --git a/courses/templates/subject/form_view_teacher.html b/courses/templates/subject/form_view_teacher.html index f33b74f..e8fcdd9 100644 --- a/courses/templates/subject/form_view_teacher.html +++ b/courses/templates/subject/form_view_teacher.html @@ -12,6 +12,6 @@
-

{{topic.description}}

+

{{topic.description|linebreaks}}

diff --git a/courses/templates/subject/index.html b/courses/templates/subject/index.html index 02c0841..289862f 100644 --- a/courses/templates/subject/index.html +++ b/courses/templates/subject/index.html @@ -35,7 +35,7 @@

- {{subject.description}} + {{subject.description|linebreaks}}

@@ -47,13 +47,14 @@ {% endif %} {% endfor %} + {% trans "Create Topic" %} {% endblock %} {% block rightbar %}
-

Pending Stuffs

+

{% trans "Pending Stuffs" %}

diff --git a/courses/templates/topic/create.html b/courses/templates/topic/create.html new file mode 100644 index 0000000..f6c697a --- /dev/null +++ b/courses/templates/topic/create.html @@ -0,0 +1,25 @@ +{% extends 'subject/index.html' %} + +{% load static i18n permission_tags widget_tweaks %} + +{% block content %} + +
+
+
+ {% csrf_token %} + {% for field in form %} +
+ + + {% render_field field class='form-control' placeholder=field.label%} +
+ {% endfor %} +
+ + +
+
+
+
+{% endblock content %} diff --git a/courses/urls.py b/courses/urls.py index 06f0399..eb23d56 100644 --- a/courses/urls.py +++ b/courses/urls.py @@ -15,6 +15,7 @@ urlpatterns = [ 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_-]+)/subjects/$', views.SubjectsView.as_view(), name='view_subject'), + url(r'^course/(?P[\w_-]+)/topics/create/$', views.CreateTopicView.as_view(), name='create_topic'), # 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'), diff --git a/courses/views.py b/courses/views.py index 3cd40b6..86e37d7 100644 --- a/courses/views.py +++ b/courses/views.py @@ -9,7 +9,7 @@ from django.core.urlresolvers import reverse_lazy from django.utils.translation import ugettext_lazy as _ from slugify import slugify -from .forms import CourseForm, CategoryForm, SubjectForm +from .forms import CourseForm, CategoryForm, SubjectForm,TopicForm from .models import Course, Subject, Category @@ -193,7 +193,6 @@ class SubjectsView(LoginRequiredMixin, generic.ListView): template_name = 'subject/index.html' context_object_name = 'subjects' model = Subject - # paginate_by = 5 def get_queryset(self): subject = get_object_or_404(Subject, slug = self.kwargs.get('slug')) @@ -201,50 +200,50 @@ class SubjectsView(LoginRequiredMixin, generic.ListView): return course.subjects.filter(visible=True) def get_context_data(self, **kwargs): - # 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 -# 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 CreateTopicView(LoginRequiredMixin, HasRoleMixin, generic.edit.CreateView): + + allowed_roles = ['professor', 'system_admin','student'] + login_url = reverse_lazy("core:home") + redirect_field_name = 'next' + template_name = 'topic/create.html' + form_class = TopicForm + + def get_success_url(self): + return reverse_lazy('course:view_subject', kwargs={'slug' : self.object.subject.slug}) + + def get_context_data(self, **kwargs): + context = super(CreateTopicView, self).get_context_data(**kwargs) + subject = get_object_or_404(Subject, slug = self.kwargs.get('slug')) + context['course'] = subject.course + context['subject'] = subject + context['subjects'] = subject.course.subjects.filter(visible=True) + + return context + + def form_valid(self, form): + print ("aqui") + subject = get_object_or_404(Subject, slug = self.kwargs.get('slug')) + + print ("aqui") + self.object = form.save(commit = False) + self.object.subject = subject + print ("aqui") + print (self.object) + self.object.save() + + return super(CreateTopicView, 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): # -- libgit2 0.21.2