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_add_roles(cohort, role, users): user_list = users.strip().split(",") for u in user_list: try: participant = Participant() participant.cohort = cohort participant.user = User.objects.get(username=u.strip()) participant.role = role participant.save() except User.DoesNotExist: pass
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,})