diff --git a/courses/templates/course/view.html b/courses/templates/course/view.html index 70cb867..beb720a 100644 --- a/courses/templates/course/view.html +++ b/courses/templates/course/view.html @@ -151,7 +151,7 @@ diff --git a/courses/templates/subject/form_view_teacher.html b/courses/templates/subject/form_view_teacher.html index ce92c72..a2ff74b 100644 --- a/courses/templates/subject/form_view_teacher.html +++ b/courses/templates/subject/form_view_teacher.html @@ -26,7 +26,7 @@ {% professor_subject topic.subject user as dropdown_topic %} {% if dropdown_topic %} diff --git a/courses/templates/subject/index.html b/courses/templates/subject/index.html index 6f3dd47..9b25ebf 100644 --- a/courses/templates/subject/index.html +++ b/courses/templates/subject/index.html @@ -61,7 +61,7 @@ diff --git a/courses/templates/subject/replicate.html b/courses/templates/subject/replicate.html new file mode 100644 index 0000000..8883f46 --- /dev/null +++ b/courses/templates/subject/replicate.html @@ -0,0 +1,44 @@ +{% extends 'subject/index.html' %} + +{% load static i18n permission_tags widget_tweaks %} + +{% block breadcrumbs %} + +{% endblock %} + +{% block content %} +
+
+
+ {% csrf_token %} + {% for field in form %} +
+ + + {% if field.auto_id == 'id_init_date' or field.auto_id == 'id_end_date'%} + + {% else %} + {% render_field field class='form-control' placeholder=field.label%} + {% endif %} + {{ field.help_text }} +
+ {% endfor %} +
+ +
+
+ +
+
+ + +{% endblock %} \ No newline at end of file diff --git a/courses/urls.py b/courses/urls.py index 2ddc8a7..fe37cfe 100644 --- a/courses/urls.py +++ b/courses/urls.py @@ -6,6 +6,7 @@ urlpatterns = [ url(r'^all-courses/$', views.AllCoursesView.as_view(), name='all_courses'), url(r'^create/$', views.CreateCourseView.as_view(), name='create'), url(r'^replicate_course/(?P[\w_-]+)/$', views.ReplicateCourseView.as_view(), name='replicate_course'), + url(r'^replicate_subject/(?P[\w_-]+)/$', views.ReplicateSubjectView.as_view(), name='replicate_subject'), url(r'^edit/(?P[\w_-]+)/$', views.UpdateCourseView.as_view(), name='update'), url(r'^delete/(?P[\w_-]+)/$', views.DeleteCourseView.as_view(), name='delete'), url(r'^subscribe/(?P[\w_-]+)/$', views.subscribe_course, name='subscribe'), diff --git a/courses/views.py b/courses/views.py index 45f84c5..e6ca7aa 100644 --- a/courses/views.py +++ b/courses/views.py @@ -1,4 +1,4 @@ -from django.shortcuts import render, get_object_or_404, redirect +from django.shortcuts import get_object_or_404 from django.views import generic from django.contrib import messages from django.contrib.auth.decorators import login_required @@ -12,7 +12,7 @@ from django.db.models import Q import operator from functools import reduce from rolepermissions.verifications import has_object_permission -from django.http import HttpResponseRedirect, JsonResponse +from django.http import JsonResponse from .forms import CourseForm, UpdateCourseForm, CategoryCourseForm, SubjectForm,TopicForm,ActivityForm from .models import Course, Subject, CourseCategory,Topic, SubjectCategory,Activity, CategorySubject from core.decorators import log_decorator @@ -265,7 +265,7 @@ class UpdateCourseView(LoginRequiredMixin, HasRoleMixin, LogMixin, generic.Updat if has_role(self.request.user,'system_admin'): courses = Course.objects.all() elif has_role(self.request.user,'professor'): - courses = self.request.user.courses.all() + courses = self.request.user.courses_professors.all() context['courses'] = courses context['title'] = course.name context['now'] = date.today() @@ -577,6 +577,35 @@ class SubjectsView(LoginRequiredMixin, LogMixin, generic.ListView): context['files'] = TopicFile.objects.filter(students__name = self.request.user.name) return context +class ReplicateSubjectView(LoginRequiredMixin, HasRoleMixin, LogMixin, NotificationMixin,generic.edit.CreateView): + + allowed_roles = ['professor', 'system_admin'] + login_url = reverse_lazy("core:home") + redirect_field_name = 'next' + template_name = 'subject/replicate.html' + form_class = SubjectForm + success_url = reverse_lazy('course:view') + + def get_context_data(self, **kwargs): + context = super(ReplicateSubjectView, self).get_context_data(**kwargs) + subject = get_object_or_404(Subject, slug=self.kwargs.get('slug')) + + if has_role(self.request.user,'system_admin'): + subjects = Subject.objects.all() + context['subjects'] = subjects + elif has_role(self.request.user,'professor'): + subject = self.request.user.professors_subjects.all() + categorys_subjects = CategorySubject.objects.all() + + context['subject'] = subject + context['categorys_subjects'] = categorys_subjects + context['title'] = _("Replicate Subject") + context['now'] = date.today() + return context + + def get_success_url(self): + return reverse_lazy('course:view', kwargs={'slug' : self.object.slug}) + class UploadMaterialView(LoginRequiredMixin, generic.edit.CreateView): login_url = reverse_lazy("core:home") redirect_field_name = 'next' -- libgit2 0.21.2