def add(request, course_id): user = request.user stud = user.userinformation try: course = Course.objects.get(id=course_id) except Course.DoesNotExist: return db_error(_('Requested course does not exist.')) session = request.session if course.is_participant(stud): session['enroll-error'] = _('You are already enrolled in this course.') elif course.student_only and not stud.is_student(): session['enroll-error'] = _('Sorry, this course is for students only.') elif course.student_only and stud.is_pending_student(): session['enroll-error'] = _( 'Please verify your student status to enroll for this course.') elif not course.joinable: session['enroll-error'] = _('Sorry, this course is full.') else: if 'enroll-error' in session: del session['enroll-error'] course.participants.add(stud) # redirect to course overview or specified target return redirect_unless_target(request, 'register-course-done', course_id)
def remove_teacher(request, course_id, teacher_id): try: curr_course = Course.objects.get(id=course_id) user = User.objects.get(id=teacher_id) curr_course.teacher.remove(user.userinformation) remove_perm('change_course', user, curr_course) remove_perm('delete_course', user, curr_course) except Course.DoesNotExist: return db_error(_('Requested course does not exist.')) except UserInformation.DoesNotExist: return db_error(_('Requested student does not exist.')) return redirect_unless_target(request, 'course', course_id)
def remove(request, course_id): stud = request.user.userinformation try: course = Course.objects.get(id=course_id) except Course.DoesNotExist: return db_error(_('Requested course does not exist.')) ps = course.participants if course.is_participant(stud): ps.remove(stud) else: request.session['enroll-error'] = _('You do not seem to be enrolled in this course.') return redirect('unregister-course-done', course_id) # redirect to course overview or specified target return redirect_unless_target(request, 'unregister-course-done', course_id)
def remove(request, course_id): stud = request.user.userinformation try: course = Course.objects.get(id=course_id) except Course.DoesNotExist: return db_error(_('Requested course does not exist.')) ps = course.participants if course.is_participant(stud): ps.remove(stud) else: request.session['enroll-error'] = _( 'You do not seem to be enrolled in this course.') return redirect('unregister-course-done', course_id) # redirect to course overview or specified target return redirect_unless_target(request, 'unregister-course-done', course_id)
def add(request, course_id): user = request.user stud = user.userinformation try: course = Course.objects.get(id=course_id) except Course.DoesNotExist: return db_error(_('Requested course does not exist.')) session = request.session if course.is_participant(stud): session['enroll-error'] = _('You are already enrolled in this course.') else: if 'enroll-error' in session: del session['enroll-error'] course.enroll(stud) # redirect to course overview or specified target return redirect_unless_target(request, 'course', course_id)
def remove_slot(request, course_id, slot_id): try: course = Course.objects.get(id=course_id) except Course.DoesNotExist: return db_error( 'The specified course does not exist. Please try again. ' 'If this error persists, contact an administrator and include the url "{}"' ''.format(request.path)) try: course.schedule.slots.get(id=slot_id).delete() except (WeeklySlot.DoesNotExist, DateSlot.DoesNotExist): return db_error( 'The slot you\'re trying to remove does not exist. Please try again. ' 'If this error persists, contact an administrator and include the url "{}"' ''.format(request.path)) return redirect_unless_target(request, 'course-edit-slot', course_id)
def remove_teacher(request, course_id, teacher_id): try: curr_course = Course.objects.get(id=course_id) user = User.objects.get(id=teacher_id) curr_course.teacher.remove(user.userinformation) remove_perm( 'change_course', user, curr_course ) remove_perm( 'delete_course', user, curr_course ) except Course.DoesNotExist: return db_error(_('Requested course does not exist.')) except UserInformation.DoesNotExist: return db_error(_('Requested student does not exist.')) return redirect_unless_target(request, 'course', course_id)
def remove_slot(request, course_id, slot_id): try: course = Course.objects.get(id=course_id) except Course.DoesNotExist: return db_error( 'The specified course does not exist. Please try again. ' 'If this error persists, contact an administrator and include the url "{}"' ''.format(request.path) ) try: course.schedule.slots.get(id=slot_id).delete() except (WeeklySlot.DoesNotExist, DateSlot.DoesNotExist): return db_error( 'The slot you\'re trying to remove does not exist. Please try again. ' 'If this error persists, contact an administrator and include the url "{}"' ''.format(request.path) ) return redirect_unless_target(request, 'course', course_id)
def add(request, course_id): user = request.user stud = user.userinformation try: course = Course.objects.get(id=course_id) except Course.DoesNotExist: return db_error(_('Requested course does not exist.')) session = request.session if course.is_participant(stud): session['enroll-error'] = _('You are already enrolled in this course.') elif course.student_only and not stud.is_student(): session['enroll-error'] = _('Sorry, this course is for students only.') elif course.student_only and stud.is_pending_student(): session['enroll-error'] = _('Please verify your student status to enroll for this course.') elif not course.joinable: session['enroll-error'] = _('Sorry, this course is full.') else: if 'enroll-error' in session: del session['enroll-error'] course.participants.add(stud) # redirect to course overview or specified target return redirect_unless_target(request, 'register-course-done', course_id)