def cohort_add(request): if not can_add_cohort(request): return HttpResponse('Unauthorized', status=401) if request.method == 'POST': form = CohortForm(request.POST) if form.is_valid(): # All validation rules pass cohort = Cohort() cohort.start_date = form.cleaned_data.get("start_date") cohort.end_date = form.cleaned_data.get("end_date") cohort.description = form.cleaned_data.get("description").strip() cohort.save() students = form.cleaned_data.get("students").strip().split(",") if len(students) > 0: for s in students: try: student = User.objects.get(username=s.strip()) participant = Participant() participant.cohort = cohort participant.user = student participant.role = Participant.STUDENT participant.save() except User.DoesNotExist: pass teachers = form.cleaned_data.get("teachers").strip().split(",") if len(teachers) > 0: for t in teachers: try: teacher = User.objects.get(username=t.strip()) participant = Participant() participant.cohort = cohort participant.user = teacher participant.role = Participant.TEACHER participant.save() except User.DoesNotExist: pass courses = form.cleaned_data.get("courses").strip().split(",") if len(courses) > 0: for c in courses: try: course = Course.objects.get(shortname=c.strip()) CourseCohort(cohort=cohort, course=course).save() except Course.DoesNotExist: pass return HttpResponseRedirect('../') # Redirect after POST else: form = CohortForm() # An unbound form return render(request, 'oppia/cohort-form.html', { 'form': form, })
def cohort_add(request): if not can_add_cohort(request): return HttpResponse('Unauthorized', status=401) if request.method == 'POST': form = CohortForm(request.POST) if form.is_valid(): # All validation rules pass cohort = Cohort() cohort.start_date = form.cleaned_data.get("start_date") cohort.end_date = form.cleaned_data.get("end_date") cohort.description = form.cleaned_data.get("description").strip() cohort.save() students = form.cleaned_data.get("students").strip().split(",") if len(students) > 0: for s in students: try: student = User.objects.get(username=s.strip()) participant = Participant() participant.cohort = cohort participant.user = student participant.role = Participant.STUDENT participant.save() except User.DoesNotExist: pass teachers = form.cleaned_data.get("teachers").strip().split(",") if len(teachers) > 0: for t in teachers: try: teacher = User.objects.get(username=t.strip()) participant = Participant() participant.cohort = cohort participant.user = teacher participant.role = Participant.TEACHER participant.save() except User.DoesNotExist: pass courses = form.cleaned_data.get("courses").strip().split(",") if len(courses) > 0: for c in courses: try: course = Course.objects.get(shortname=c.strip()) CourseCohort(cohort=cohort, course=course).save() except Course.DoesNotExist: pass return HttpResponseRedirect('../') # Redirect after POST else: form = CohortForm() # An unbound form return render(request, 'oppia/cohort-form.html',{'form': form,})
def cohort_edit(request,course_id,cohort_id): course = check_owner(request,course_id) cohort = Cohort.objects.get(pk=cohort_id) if request.method == 'POST': form = CohortForm(request.POST) if form.is_valid(): cohort.description = form.cleaned_data.get("description").strip() cohort.start_date = form.cleaned_data.get("start_date") cohort.end_date = form.cleaned_data.get("end_date") cohort.save() Participant.objects.filter(cohort=cohort).delete() students = form.cleaned_data.get("students").strip().split(",") if len(students) > 0: for s in students: try: student = User.objects.get(username=s.strip()) participant = Participant() participant.cohort = cohort participant.user = student participant.role = Participant.STUDENT participant.save() except User.DoesNotExist: pass teachers = form.cleaned_data.get("teachers").strip().split(",") if len(teachers) > 0: for t in teachers: try: teacher = User.objects.get(username=s.strip()) participant = Participant() participant.cohort = cohort participant.user = teacher participant.role = Participant.TEACHER participant.save() except User.DoesNotExist: pass return HttpResponseRedirect('../../') else: participant_teachers = Participant.objects.filter(cohort=cohort,role=Participant.TEACHER) teacher_list = [] for pt in participant_teachers: teacher_list.append(pt.user.username) teachers = ", ".join(teacher_list) participant_students = Participant.objects.filter(cohort=cohort,role=Participant.STUDENT) student_list = [] for st in participant_students: student_list.append(st.user.username) students = ", ".join(student_list) form = CohortForm(initial={'description':cohort.description,'teachers':teachers,'students':students,}) return render(request, 'oppia/cohort-form.html',{'course': course,'form': form,})
def cohort_edit(request,cohort_id): if not request.user.is_staff: raise Http404 cohort = Cohort.objects.get(pk=cohort_id) if request.method == 'POST': form = CohortForm(request.POST) if form.is_valid(): cohort.description = form.cleaned_data.get("description").strip() cohort.start_date = form.cleaned_data.get("start_date") cohort.end_date = form.cleaned_data.get("end_date") cohort.save() Participant.objects.filter(cohort=cohort).delete() students = form.cleaned_data.get("students").split(",") if len(students) > 0: for s in students: try: participant = Participant() participant.cohort = cohort participant.user = User.objects.get(username=s.strip()) participant.role = Participant.STUDENT participant.save() except User.DoesNotExist: pass teachers = form.cleaned_data.get("teachers").split(",") if len(teachers) > 0: for t in teachers: try: participant = Participant() participant.cohort = cohort participant.user = User.objects.get(username=t.strip()) participant.role = Participant.TEACHER participant.save() except User.DoesNotExist: pass return HttpResponseRedirect('../../') else: participant_teachers = Participant.objects.filter(cohort=cohort,role=Participant.TEACHER) teacher_list = [] for pt in participant_teachers: teacher_list.append(pt.user.username) teachers = ", ".join(teacher_list) participant_students = Participant.objects.filter(cohort=cohort,role=Participant.STUDENT) student_list = [] for ps in participant_students: student_list.append(ps.user.username) students = ", ".join(student_list) form = CohortForm(initial={'description':cohort.description,'teachers':teachers,'students':students,'start_date': cohort.start_date,'end_date': cohort.end_date}) return render(request, 'oppia/cohort-form.html',{'form': form,})
def cohort_add(request, course_id): course = check_owner(request, course_id) if request.method == "POST": form = CohortForm(request.POST) if form.is_valid(): # All validation rules pass cohort = Cohort() cohort.course = course cohort.start_date = form.cleaned_data.get("start_date") cohort.end_date = form.cleaned_data.get("end_date") cohort.description = form.cleaned_data.get("description").strip() cohort.save() students = form.cleaned_data.get("students").strip().split(",") if len(students) > 0: for s in students: try: student = User.objects.get(username=s.strip()) participant = Participant() participant.cohort = cohort participant.user = student participant.role = Participant.STUDENT participant.save() except User.DoesNotExist: pass teachers = form.cleaned_data.get("teachers").strip().split(",") if len(teachers) > 0: for t in teachers: try: teacher = User.objects.get(username=t.strip()) participant = Participant() participant.cohort = cohort participant.user = teacher participant.role = Participant.TEACHER participant.save() except User.DoesNotExist: pass return HttpResponseRedirect("../") # Redirect after POST else: form = CohortForm() # An unbound form return render(request, "oppia/cohort-form.html", {"course": course, "form": form})
def cohort_edit(request, cohort_id): if not can_edit_cohort(request, cohort_id): raise exceptions.PermissionDenied cohort = Cohort.objects.get(pk=cohort_id) teachers_selected = [] students_selected = [] courses_selected = [] if request.method == 'POST': form = CohortForm(request.POST) if form.is_valid(): cohort.description = form.cleaned_data.get("description").strip() cohort.start_date = form.cleaned_data.get("start_date") cohort.end_date = form.cleaned_data.get("end_date") cohort.save() Participant.objects.filter(cohort=cohort).delete() students = form.cleaned_data.get("students").split(",") if len(students) > 0: for s in students: try: participant = Participant() participant.cohort = cohort participant.user = User.objects.get(username=s.strip()) participant.role = Participant.STUDENT participant.save() except User.DoesNotExist: pass teachers = form.cleaned_data.get("teachers").split(",") if len(teachers) > 0: for t in teachers: try: participant = Participant() participant.cohort = cohort participant.user = User.objects.get(username=t.strip()) participant.role = Participant.TEACHER participant.save() except User.DoesNotExist: pass CourseCohort.objects.filter(cohort=cohort).delete() courses = form.cleaned_data.get("courses").strip().split(",") if len(courses) > 0: for c in courses: try: course = Course.objects.get(shortname=c.strip()) CourseCohort(cohort=cohort, course=course).save() except Course.DoesNotExist: pass return HttpResponseRedirect('../../') else: form = CohortForm(initial={'description': cohort.description, 'start_date': cohort.start_date, 'end_date': cohort.end_date, }) teachers_selected = User.objects.filter(participant__role=Participant.TEACHER, participant__cohort=cohort) students_selected = User.objects.filter(participant__role=Participant.STUDENT, participant__cohort=cohort) courses_selected = Course.objects.filter(coursecohort__cohort=cohort) ordering, users = get_paginated_users(request) c_ordering, courses = get_paginated_courses(request) return render(request, 'oppia/cohort-form.html', { 'form': form, 'page': users, 'selected_teachers': teachers_selected, 'selected_students': students_selected, 'selected_courses': courses_selected, 'courses_page': courses, 'courses_ordering': c_ordering, 'page_ordering': ordering, 'users_list_template': 'select'})
def cohort_add(request): if not can_add_cohort(request): raise exceptions.PermissionDenied if request.method == 'POST': form = CohortForm(request.POST.copy()) if form.is_valid(): # All validation rules pass cohort = Cohort() cohort.start_date = form.cleaned_data.get("start_date") cohort.end_date = form.cleaned_data.get("end_date") cohort.description = form.cleaned_data.get("description").strip() cohort.save() students = form.cleaned_data.get("students").strip().split(",") if len(students) > 0: for s in students: try: student = User.objects.get(username=s.strip()) participant = Participant() participant.cohort = cohort participant.user = student participant.role = Participant.STUDENT participant.save() except User.DoesNotExist: pass teachers = form.cleaned_data.get("teachers").strip().split(",") if len(teachers) > 0: for t in teachers: try: teacher = User.objects.get(username=t.strip()) participant = Participant() participant.cohort = cohort participant.user = teacher participant.role = Participant.TEACHER participant.save() except User.DoesNotExist: pass courses = form.cleaned_data.get("courses").strip().split(",") if len(courses) > 0: for c in courses: try: course = Course.objects.get(shortname=c.strip()) CourseCohort(cohort=cohort, course=course).save() except Course.DoesNotExist: pass return HttpResponseRedirect('../') # Redirect after POST else: #If form is not valid, clean the groups data form.data['teachers'] = None form.data['courses'] = None form.data['students'] = None else: form = CohortForm() # An unbound form ordering, users = get_paginated_users(request) c_ordering, courses = get_paginated_courses(request) return render(request, 'oppia/cohort-form.html', { 'form': form, 'page': users, 'courses_page': courses, 'courses_ordering': c_ordering, 'page_ordering': ordering, 'users_list_template': 'select', })
def cohort_edit(request,cohort_id): if not can_edit_cohort(request, cohort_id): return HttpResponse('Unauthorized', status=401) cohort = Cohort.objects.get(pk=cohort_id) if request.method == 'POST': form = CohortForm(request.POST) if form.is_valid(): cohort.description = form.cleaned_data.get("description").strip() cohort.start_date = form.cleaned_data.get("start_date") cohort.end_date = form.cleaned_data.get("end_date") cohort.save() Participant.objects.filter(cohort=cohort).delete() students = form.cleaned_data.get("students").split(",") if len(students) > 0: for s in students: try: participant = Participant() participant.cohort = cohort participant.user = User.objects.get(username=s.strip()) participant.role = Participant.STUDENT participant.save() except User.DoesNotExist: pass teachers = form.cleaned_data.get("teachers").split(",") if len(teachers) > 0: for t in teachers: try: participant = Participant() participant.cohort = cohort participant.user = User.objects.get(username=t.strip()) participant.role = Participant.TEACHER participant.save() except User.DoesNotExist: pass CourseCohort.objects.filter(cohort=cohort).delete() courses = form.cleaned_data.get("courses").strip().split(",") if len(courses) > 0: for c in courses: try: course = Course.objects.get(shortname=c.strip()) CourseCohort(cohort=cohort, course=course).save() except Course.DoesNotExist: pass return HttpResponseRedirect('../../') else: participant_teachers = Participant.objects.filter(cohort=cohort,role=Participant.TEACHER) teacher_list = [] for pt in participant_teachers: teacher_list.append(pt.user.username) teachers = ", ".join(teacher_list) participant_students = Participant.objects.filter(cohort=cohort,role=Participant.STUDENT) student_list = [] for ps in participant_students: student_list.append(ps.user.username) students = ", ".join(student_list) cohort_courses = Course.objects.filter(coursecohort__cohort=cohort) course_list = [] for c in cohort_courses: course_list.append(c.shortname) courses = ", ".join(course_list) form = CohortForm(initial={'description': cohort.description, 'teachers': teachers, 'students': students, 'start_date': cohort.start_date, 'end_date': cohort.end_date, 'courses': courses}) return render(request, 'oppia/cohort-form.html',{'form': form,})
def cohort_edit(request, cohort_id): if not can_edit_cohort(request, cohort_id): return HttpResponse("Unauthorized", status=401) cohort = Cohort.objects.get(pk=cohort_id) teachers_selected = [] students_selected = [] courses_selected = [] if request.method == "POST": form = CohortForm(request.POST) if form.is_valid(): cohort.description = form.cleaned_data.get("description").strip() cohort.start_date = form.cleaned_data.get("start_date") cohort.end_date = form.cleaned_data.get("end_date") cohort.save() Participant.objects.filter(cohort=cohort).delete() students = form.cleaned_data.get("students").split(",") if len(students) > 0: for s in students: try: participant = Participant() participant.cohort = cohort participant.user = User.objects.get(username=s.strip()) participant.role = Participant.STUDENT participant.save() except User.DoesNotExist: pass teachers = form.cleaned_data.get("teachers").split(",") if len(teachers) > 0: for t in teachers: try: participant = Participant() participant.cohort = cohort participant.user = User.objects.get(username=t.strip()) participant.role = Participant.TEACHER participant.save() except User.DoesNotExist: pass CourseCohort.objects.filter(cohort=cohort).delete() courses = form.cleaned_data.get("courses").strip().split(",") if len(courses) > 0: for c in courses: try: course = Course.objects.get(shortname=c.strip()) CourseCohort(cohort=cohort, course=course).save() except Course.DoesNotExist: pass return HttpResponseRedirect("../../") else: form = CohortForm( initial={"description": cohort.description, "start_date": cohort.start_date, "end_date": cohort.end_date} ) teachers_selected = User.objects.filter(participant__role=Participant.TEACHER, participant__cohort=cohort) students_selected = User.objects.filter(participant__role=Participant.STUDENT, participant__cohort=cohort) courses_selected = Course.objects.filter(coursecohort__cohort=cohort) ordering, users = get_paginated_users(request) c_ordering, courses = get_paginated_courses(request) return render( request, "oppia/cohort-form.html", { "form": form, "page": users, "selected_teachers": teachers_selected, "selected_students": students_selected, "selected_courses": courses_selected, "courses_page": courses, "courses_ordering": c_ordering, "page_ordering": ordering, "users_list_template": "select", }, )
def cohort_add(request): if not can_add_cohort(request): return HttpResponse("Unauthorized", status=401) if request.method == "POST": form = CohortForm(request.POST.copy()) if form.is_valid(): # All validation rules pass cohort = Cohort() cohort.start_date = form.cleaned_data.get("start_date") cohort.end_date = form.cleaned_data.get("end_date") cohort.description = form.cleaned_data.get("description").strip() cohort.save() students = form.cleaned_data.get("students").strip().split(",") if len(students) > 0: for s in students: try: student = User.objects.get(username=s.strip()) participant = Participant() participant.cohort = cohort participant.user = student participant.role = Participant.STUDENT participant.save() except User.DoesNotExist: pass teachers = form.cleaned_data.get("teachers").strip().split(",") if len(teachers) > 0: for t in teachers: try: teacher = User.objects.get(username=t.strip()) participant = Participant() participant.cohort = cohort participant.user = teacher participant.role = Participant.TEACHER participant.save() except User.DoesNotExist: pass courses = form.cleaned_data.get("courses").strip().split(",") if len(courses) > 0: for c in courses: try: course = Course.objects.get(shortname=c.strip()) CourseCohort(cohort=cohort, course=course).save() except Course.DoesNotExist: pass return HttpResponseRedirect("../") # Redirect after POST else: # If form is not valid, clean the groups data form.data["teachers"] = None form.data["courses"] = None form.data["students"] = None else: form = CohortForm() # An unbound form ordering, users = get_paginated_users(request) c_ordering, courses = get_paginated_courses(request) return render( request, "oppia/cohort-form.html", { "form": form, "page": users, "courses_page": courses, "courses_ordering": c_ordering, "page_ordering": ordering, "users_list_template": "select", }, context_instance=RequestContext(request), )