Exemplo n.º 1
0
def teacher_accept_student_request(request, pk):
    student = get_object_or_404(Student, id=pk)

    # check student is awaiting decision on request
    if not student.pending_class_request:
        raise Http404

    # check user (teacher) has authority to accept student
    if request.user.userprofile.teacher != student.pending_class_request.teacher:
        raise Http404

    students = Student.objects.filter(class_field=student.pending_class_request).order_by('user__user__first_name')

    if request.method == 'POST':
        form = TeacherAddExternalStudentForm(student.pending_class_request, request.POST)
        if form.is_valid():
            data = form.cleaned_data
            student.class_field = student.pending_class_request
            student.pending_class_request = None
            student.user.user.username = get_random_username()
            student.user.user.first_name = data['name']
            student.user.user.last_name = ''
            student.user.user.email = ''
            student.save()
            student.user.user.save()
            return render(request, 'portal/teach/teacher_added_external_student.html', { 'student': student, 'class': student.class_field })
    else:
        form = TeacherAddExternalStudentForm(student.pending_class_request, initial={ 'name': student.user.user.first_name })

    return render(request, 'portal/teach/teacher_add_external_student.html', { 'students': students, 'class': student.pending_class_request, 'student': student, 'form':form })
Exemplo n.º 2
0
    def schoolFactory(self, klass, name, password):
        from portal.helpers.generators import get_random_username

        user = User.objects.create_user(username=get_random_username(), password=password, first_name=name)

        userProfile = UserProfile.objects.create(user=user)
        return Student.objects.create(class_field=klass, user=userProfile)
Exemplo n.º 3
0
    def schoolFactory(self, klass, name, password):
        from portal.helpers.generators import get_random_username

        user = User.objects.create_user(username=get_random_username(),
                                        password=password,
                                        first_name=name)

        userProfile = UserProfile.objects.create(user=user)
        return Student.objects.create(class_field=klass, user=userProfile)
Exemplo n.º 4
0
    def factory(self, title, first_name, last_name, email, password):
        from portal.helpers.generators import get_random_username

        user = User.objects.create_user(
            username=get_random_username(), email=email, password=password, first_name=first_name, last_name=last_name
        )

        userProfile = UserProfile.objects.create(user=user, awaiting_email_verification=True)

        return Teacher.objects.create(user=userProfile, title=title)
Exemplo n.º 5
0
    def factory(self, title, first_name, last_name, email, password):
        from portal.helpers.generators import get_random_username

        user = User.objects.create_user(username=get_random_username(),
                                        email=email,
                                        password=password,
                                        first_name=first_name,
                                        last_name=last_name)

        userProfile = UserProfile.objects.create(
            user=user, awaiting_email_verification=True)

        return Teacher.objects.create(user=userProfile, title=title)
Exemplo n.º 6
0
def teacher_accept_student_request(request, pk):
    student = get_object_or_404(Student, id=pk)
    teacher = request.user.new_teacher

    check_student_can_be_accepted(request, student)

    students = Student.objects.filter(class_field=student.pending_class_request
                                      ).order_by("new_user__first_name")

    if request.method == "POST":
        form = TeacherAddExternalStudentForm(student.pending_class_request,
                                             request.POST)
        if form.is_valid():
            data = form.cleaned_data
            student.class_field = student.pending_class_request
            student.pending_class_request = None
            student.new_user.username = get_random_username()
            student.new_user.first_name = data["name"]
            student.new_user.last_name = ""
            student.new_user.email = ""

            give_student_access_to_aimmo_games(student=student,
                                               new_teacher=teacher)

            student.save()
            student.new_user.save()
            student.new_user.userprofile.save()

            return render(
                request,
                "portal/teach/teacher_added_external_student.html",
                {
                    "student": student,
                    "class": student.class_field
                },
            )
    else:
        form = TeacherAddExternalStudentForm(
            student.pending_class_request,
            initial={"name": student.new_user.first_name})

    return render(
        request,
        "portal/teach/teacher_add_external_student.html",
        {
            "students": students,
            "class": student.pending_class_request,
            "student": student,
            "form": form,
        },
    )
def teacher_accept_student_request(request, pk):
    student = get_object_or_404(Student, id=pk)

    # check student is awaiting decision on request
    if not student.pending_class_request:
        raise Http404

    # check user (teacher) has authority to accept student
    if request.user.new_teacher != student.pending_class_request.teacher:
        raise Http404

    students = Student.objects.filter(
        class_field=student.pending_class_request
    ).order_by("new_user__first_name")

    if request.method == "POST":
        form = TeacherAddExternalStudentForm(
            student.pending_class_request, request.POST
        )
        if form.is_valid():
            data = form.cleaned_data
            student.class_field = student.pending_class_request
            student.pending_class_request = None
            student.new_user.username = get_random_username()
            student.new_user.first_name = data["name"]
            student.new_user.last_name = ""
            student.new_user.email = ""
            student.save()
            student.new_user.save()
            return render(
                request,
                "portal/teach/teacher_added_external_student.html",
                {"student": student, "class": student.class_field},
            )
    else:
        form = TeacherAddExternalStudentForm(
            student.pending_class_request, initial={"name": student.new_user.first_name}
        )

    return render(
        request,
        "portal/teach/teacher_add_external_student.html",
        {
            "students": students,
            "class": student.pending_class_request,
            "student": student,
            "form": form,
        },
    )
Exemplo n.º 8
0
    def schoolFactory(self, klass, name, password):
        from portal.helpers.generators import get_random_username
        user = User.objects.create_user(username=get_random_username(),
                                        password=password,
                                        first_name=name)
        user_profile = UserProfile.objects.create(user=user)
        school = klass.teacher.school
        if school:
            if school.eligible_for_testing and not user_profile.preview_user:
                user_profile.set_to_preview_user()
                user_profile.save()

        return Student.objects.create(class_field=klass,
                                      user=user_profile,
                                      new_user=user)
Exemplo n.º 9
0
    def schoolFactory(self, klass, name, password):
        from portal.helpers.generators import get_random_username

        user = User.objects.create_user(
            username=get_random_username(), password=password, first_name=name
        )
        user_profile = UserProfile.objects.create(user=user)
        school = klass.teacher.school
        if school:
            if school.eligible_for_testing and not user_profile.preview_user:
                user_profile.set_to_preview_user()
                user_profile.save()

        return Student.objects.create(
            class_field=klass, user=user_profile, new_user=user
        )
Exemplo n.º 10
0
def teacher_accept_student_request(request, pk):
    student = get_object_or_404(Student, id=pk)

    # check student is awaiting decision on request
    if not student.pending_class_request:
        raise Http404

    # check user (teacher) has authority to accept student
    if request.user.new_teacher != student.pending_class_request.teacher:
        raise Http404

    students = Student.objects.filter(class_field=student.pending_class_request
                                      ).order_by('new_user__first_name')

    if request.method == 'POST':
        form = TeacherAddExternalStudentForm(student.pending_class_request,
                                             request.POST)
        if form.is_valid():
            data = form.cleaned_data
            student.class_field = student.pending_class_request
            student.pending_class_request = None
            student.new_user.username = get_random_username()
            student.new_user.first_name = data['name']
            student.new_user.last_name = ''
            student.new_user.email = ''
            student.save()
            student.new_user.save()
            return render(request,
                          'portal/teach/teacher_added_external_student.html', {
                              'student': student,
                              'class': student.class_field
                          })
    else:
        form = TeacherAddExternalStudentForm(
            student.pending_class_request,
            initial={'name': student.new_user.first_name})

    return render(
        request, 'portal/teach/teacher_add_external_student.html', {
            'students': students,
            'class': student.pending_class_request,
            'student': student,
            'form': form
        })