Commit 376c74dd57b436b2cdd0b2cb2f57281bbd527b1e
1 parent
1716dfae
Exists in
master
and in
5 other branches
Adding url to subscribe in subject [Issue: #196]
Showing
2 changed files
with
13 additions
and
1 deletions
Show diff stats
courses/urls.py
@@ -8,7 +8,7 @@ urlpatterns = [ | @@ -8,7 +8,7 @@ urlpatterns = [ | ||
8 | url(r'^edit/(?P<slug>[\w_-]+)/$', views.UpdateCourseView.as_view(), name='update'), | 8 | url(r'^edit/(?P<slug>[\w_-]+)/$', views.UpdateCourseView.as_view(), name='update'), |
9 | url(r'^(?P<slug>[\w_-]+)/$', views.CourseView.as_view(), name='view'), | 9 | url(r'^(?P<slug>[\w_-]+)/$', views.CourseView.as_view(), name='view'), |
10 | url(r'^delete/(?P<slug>[\w_-]+)/$', views.DeleteCourseView.as_view(), name='delete'), | 10 | url(r'^delete/(?P<slug>[\w_-]+)/$', views.DeleteCourseView.as_view(), name='delete'), |
11 | - url(r'^register/(?P<slug>[\w_-]+)/$', views.subscribe_course, name='subscribe'), | 11 | + url(r'^subscribe/(?P<slug>[\w_-]+)/$', views.subscribe_course, name='subscribe'), |
12 | url(r'^category/(?P<slug>[\w_-]+)/$', views.FilteredView.as_view(), name='filter'), | 12 | url(r'^category/(?P<slug>[\w_-]+)/$', views.FilteredView.as_view(), name='filter'), |
13 | url(r'^categories/view/$', views.IndexCatView.as_view(), name='manage_cat'), | 13 | url(r'^categories/view/$', views.IndexCatView.as_view(), name='manage_cat'), |
14 | url(r'^categories/create/$', views.CreateCatView.as_view(), name="create_cat"), | 14 | url(r'^categories/create/$', views.CreateCatView.as_view(), name="create_cat"), |
@@ -19,6 +19,7 @@ urlpatterns = [ | @@ -19,6 +19,7 @@ urlpatterns = [ | ||
19 | url(r'^subjects/create/(?P<slug>[\w_-]+)/$', views.CreateSubjectView.as_view(), name='create_subject'), | 19 | url(r'^subjects/create/(?P<slug>[\w_-]+)/$', views.CreateSubjectView.as_view(), name='create_subject'), |
20 | url(r'^subjects/update/(?P<slug>[\w_-]+)/$', views.UpdateSubjectView.as_view(), name='update_subject'), | 20 | url(r'^subjects/update/(?P<slug>[\w_-]+)/$', views.UpdateSubjectView.as_view(), name='update_subject'), |
21 | url(r'^subjects/delete/(?P<slug>[\w_-]+)/$', views.DeleteSubjectView.as_view(), name='delete_subject'), | 21 | url(r'^subjects/delete/(?P<slug>[\w_-]+)/$', views.DeleteSubjectView.as_view(), name='delete_subject'), |
22 | + url(r'^subjects/subscribe/(?P<slug>[\w_-]+)/$', views.subscribe_subject, name='subscribe_subject'), | ||
22 | url(r'^topics/create/(?P<slug>[\w_-]+)/$', views.CreateTopicView.as_view(), name='create_topic'), | 23 | url(r'^topics/create/(?P<slug>[\w_-]+)/$', views.CreateTopicView.as_view(), name='create_topic'), |
23 | url(r'^topics/update/(?P<slug>[\w_-]+)/$', views.UpdateTopicView.as_view(), name='update_topic'), | 24 | url(r'^topics/update/(?P<slug>[\w_-]+)/$', views.UpdateTopicView.as_view(), name='update_topic'), |
24 | url(r'^topics/createlink/$', linkviews.CreateLink.as_view(),name = 'create_link'), | 25 | url(r'^topics/createlink/$', linkviews.CreateLink.as_view(),name = 'create_link'), |
courses/views.py
@@ -535,6 +535,17 @@ class DeleteSubjectView(LoginRequiredMixin, HasRoleMixin, generic.DeleteView): | @@ -535,6 +535,17 @@ class DeleteSubjectView(LoginRequiredMixin, HasRoleMixin, generic.DeleteView): | ||
535 | def get_success_url(self): | 535 | def get_success_url(self): |
536 | return reverse_lazy('course:view', kwargs={'slug' : self.object.course.slug}) | 536 | return reverse_lazy('course:view', kwargs={'slug' : self.object.course.slug}) |
537 | 537 | ||
538 | +@login_required | ||
539 | +def subscribe_course(request, slug): | ||
540 | + subject = get_object_or_404(Subject, slug = slug) | ||
541 | + | ||
542 | + if request.user.courses_student.filter(slug = slug).exists(): | ||
543 | + if subject.students.add(request.user): | ||
544 | + return JsonResponse({"status": "ok", "message": _("Successfully subscribed to the subject!")}) | ||
545 | + else: | ||
546 | + return JsonResponse({"status": "erro", "message": _("An error has occured. Could not subscribe to this subject, try again later")}) | ||
547 | + else: | ||
548 | + return JsonResponse({"status": "erro", "message": _("You're not subscribed in the course yet.")}) | ||
538 | 549 | ||
539 | class IndexSubjectCategoryView(LoginRequiredMixin, generic.ListView): | 550 | class IndexSubjectCategoryView(LoginRequiredMixin, generic.ListView): |
540 | allowed_roles = ['professor', 'system_admin'] | 551 | allowed_roles = ['professor', 'system_admin'] |