summaryrefslogtreecommitdiff
path: root/yaksh/views.py
diff options
context:
space:
mode:
Diffstat (limited to 'yaksh/views.py')
-rw-r--r--yaksh/views.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/yaksh/views.py b/yaksh/views.py
index 35df9f9..6a4325e 100644
--- a/yaksh/views.py
+++ b/yaksh/views.py
@@ -1597,3 +1597,18 @@ def download_assignment_file(request, quiz_id, question_id=None, user_id=None):
)
response.write(zipfile_name.read())
return response
+
+@login_required
+def duplicate_course(request, course_id):
+ user = request.user
+ course = get_object_or_404(Course, pk=course_id)
+ if not is_moderator(user):
+ raise Http404('You are not allowed to view this page!')
+
+ if course.is_teacher(user) or course.is_creator(user):
+ course.create_duplicate_course(user)
+ else:
+ msg = 'You do not have permissions to clone this course, please contact your '\
+ 'instructor/administrator.'
+ return complete(request, msg, attempt_num=None, questionpaper_id=None)
+ return my_redirect('/exam/manage/courses/')