From 376c74dd57b436b2cdd0b2cb2f57281bbd527b1e Mon Sep 17 00:00:00 2001 From: Zambom Date: Wed, 19 Oct 2016 18:10:48 -0300 Subject: [PATCH] Adding url to subscribe in subject [Issue: #196] --- courses/urls.py | 3 ++- courses/views.py | 11 +++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/courses/urls.py b/courses/urls.py index 14bec51..5ca9e0b 100644 --- a/courses/urls.py +++ b/courses/urls.py @@ -8,7 +8,7 @@ urlpatterns = [ url(r'^edit/(?P[\w_-]+)/$', views.UpdateCourseView.as_view(), name='update'), url(r'^(?P[\w_-]+)/$', views.CourseView.as_view(), name='view'), url(r'^delete/(?P[\w_-]+)/$', views.DeleteCourseView.as_view(), name='delete'), - url(r'^register/(?P[\w_-]+)/$', views.subscribe_course, name='subscribe'), + url(r'^subscribe/(?P[\w_-]+)/$', views.subscribe_course, name='subscribe'), url(r'^category/(?P[\w_-]+)/$', views.FilteredView.as_view(), name='filter'), url(r'^categories/view/$', views.IndexCatView.as_view(), name='manage_cat'), url(r'^categories/create/$', views.CreateCatView.as_view(), name="create_cat"), @@ -19,6 +19,7 @@ urlpatterns = [ url(r'^subjects/create/(?P[\w_-]+)/$', views.CreateSubjectView.as_view(), name='create_subject'), url(r'^subjects/update/(?P[\w_-]+)/$', views.UpdateSubjectView.as_view(), name='update_subject'), url(r'^subjects/delete/(?P[\w_-]+)/$', views.DeleteSubjectView.as_view(), name='delete_subject'), + url(r'^subjects/subscribe/(?P[\w_-]+)/$', views.subscribe_subject, name='subscribe_subject'), url(r'^topics/create/(?P[\w_-]+)/$', views.CreateTopicView.as_view(), name='create_topic'), url(r'^topics/update/(?P[\w_-]+)/$', views.UpdateTopicView.as_view(), name='update_topic'), url(r'^topics/createlink/$', linkviews.CreateLink.as_view(),name = 'create_link'), diff --git a/courses/views.py b/courses/views.py index 514e296..ec73533 100644 --- a/courses/views.py +++ b/courses/views.py @@ -535,6 +535,17 @@ class DeleteSubjectView(LoginRequiredMixin, HasRoleMixin, generic.DeleteView): def get_success_url(self): return reverse_lazy('course:view', kwargs={'slug' : self.object.course.slug}) +@login_required +def subscribe_course(request, slug): + subject = get_object_or_404(Subject, slug = slug) + + if request.user.courses_student.filter(slug = slug).exists(): + if subject.students.add(request.user): + return JsonResponse({"status": "ok", "message": _("Successfully subscribed to the subject!")}) + else: + return JsonResponse({"status": "erro", "message": _("An error has occured. Could not subscribe to this subject, try again later")}) + else: + return JsonResponse({"status": "erro", "message": _("You're not subscribed in the course yet.")}) class IndexSubjectCategoryView(LoginRequiredMixin, generic.ListView): allowed_roles = ['professor', 'system_admin'] -- libgit2 0.21.2