示例#1
0
文件: views.py 项目: ckyle93/SlugChat
def deleteclass(request):

    user = logged_in(request)

    if user is None:
        return HttpResponseRedirect('/')

    #if user.get_status() is not 'Professor':
    #    return HttpResponse(
    #            'Sorry, only professors can add classes.', status=401)
    if user.get_status() != 'Professor':
        return HttpResponse('Sorry, only professors can add classes.',
                            status=401)

    roster = Roster(studentID=user)
    if request.method == 'POST':
        roster_form = RosterForm(request.POST, instance=roster)
        if roster_form.is_valid():
            course = roster_form.cleaned_data['courseID']
            # If user hit Delete button, delete from db if the user is actually
            # enrolled in this class.
            Course.objects.get(title=course).delete()
            return HttpResponseRedirect('/profile/')
    else:
        roster_form = RosterForm()

    status = user.get_status()
    return render(request, 'userpage/deleteclass.html', {
        'status': status,
        'roster_form': roster_form
    })
示例#2
0
文件: views.py 项目: ckyle93/SlugChat
def profile(request):

    user = logged_in(request)

    if user is None:
        return HttpResponseRedirect('/')

    # Redirect user to build profile page if they haven't completed
    # their profile
    if user.completeProfile is False:
        return HttpResponseRedirect('/profile/buildprofile/')
    # Here we grab all the courses that the current user has enrolled in
    rosters = user.roster_set.all()

    try:
        with open('key_file.txt', 'r') as f:
            GOOGLE_KEY = f.read().rstrip()
    except IOError:
        GOOGLE_KEY = None
        print("key_file not found. \nMessage Ckyle for key_file.txt")

    context = {'full_name': user.firstName + " " + user.lastName,
               'school': user.school,
               'studentID': user.studentID,
               'email': user.email,
               'status': user.get_status(),
               'profile_pic': user.profile_pic,
               'classes': rosters.all(),
               'GOOGLE_KEY': GOOGLE_KEY}

    #return render(request, 'userpage/profile.html', context)
    return render(request, 'userpage/viewMyProfile.html', context)
示例#3
0
文件: views.py 项目: ckyle93/SlugChat
def manage_classes(request):

    user = logged_in(request)

    if user is None:
        return HttpResponseRedirect('/')

    roster = Roster(studentID=user)
    if request.method == 'POST':
        roster_form = RosterForm(request.POST, instance=roster)
        if roster_form.is_valid():
            course = roster_form.cleaned_data['courseID']
            # If user hit Delete button, delete from db only if the user is
            # enrolled in this class.
            if request.POST.get('delete', '') and user.roster_set.all().filter(
                    courseID=course).exists():
                user.roster_set.get(courseID=course).delete()
            # Else if the user isn't already enrolled in this course
            # enroll them.
            elif (request.POST.get('delete', '') is '' and
                  not user.roster_set.all().filter(courseID=course).exists()):
                roster_form.save()
            return HttpResponseRedirect('/profile/')
    else:
        roster_form = RosterForm()

    status = user.get_status()
    return render(request, 'userpage/enroll.html', {
        'status': status,
        'roster_form': roster_form
    })
示例#4
0
文件: views.py 项目: ckyle93/SlugChat
def profile(request):

    user = logged_in(request)

    if user is None:
        return HttpResponseRedirect('/')

    # Redirect user to build profile page if they haven't completed
    # their profile
    if user.completeProfile is False:
        return HttpResponseRedirect('/profile/buildprofile/')
    # Here we grab all the courses that the current user has enrolled in
    rosters = user.roster_set.all()

    try:
        with open('key_file.txt', 'r') as f:
            GOOGLE_KEY = f.read().rstrip()
    except IOError:
        GOOGLE_KEY = None
        print("key_file not found. \nMessage Ckyle for key_file.txt")

    context = {
        'full_name': user.firstName + " " + user.lastName,
        'school': user.school,
        'studentID': user.studentID,
        'email': user.email,
        'status': user.get_status(),
        'profile_pic': user.profile_pic,
        'classes': rosters.all(),
        'GOOGLE_KEY': GOOGLE_KEY
    }

    #return render(request, 'userpage/profile.html', context)
    return render(request, 'userpage/viewMyProfile.html', context)
示例#5
0
文件: views.py 项目: ckyle93/SlugChat
def viewquizzes(request):
    user = logged_in(request)

    if user is None:
        return HttpResponseRedirect('/')

    if user.get_status() is not 'Professor':
        return HttpResponse('Sorry, only professors can view.', status=401)

    quizzes = user.quiz_set.all().all()

    quiz_list = []
    for quiz in quizzes:
        new_quiz = QuizObj()
        new_quiz.question_text = quiz.question
        new_quiz.id = quiz.id
        choices = quiz.quizchoices_set.all().all()
        for choice in choices:
            new_quiz.choices.append(choice.choice)
        quiz_list.append(new_quiz)
    if request.method == 'POST':
        quiz_id = request.POST['id']
        Quiz.objects.get(id=quiz_id).delete()
        return HttpResponseRedirect('/profile/viewquizzes')
    else:
        return render(request, 'userpage/viewquizzes.html',
                      {'quiz_list': quiz_list})
示例#6
0
文件: views.py 项目: ckyle93/SlugChat
def manage_classes(request):

    user = logged_in(request)

    if user is None:
        return HttpResponseRedirect('/')

    roster = Roster(studentID=user)
    if request.method == 'POST':
        roster_form = RosterForm(request.POST, instance=roster)
        if roster_form.is_valid():
            course = roster_form.cleaned_data['courseID']
            # If user hit Delete button, delete from db only if the user is
            # enrolled in this class.
            if request.POST.get('delete', '') and user.roster_set.all().filter(
                    courseID=course).exists():
                user.roster_set.get(courseID=course).delete()
            # Else if the user isn't already enrolled in this course
            # enroll them.
            elif (request.POST.get('delete', '') is '' and
                  not user.roster_set.all().filter(courseID=course).exists()):
                roster_form.save()
            return HttpResponseRedirect('/profile/')
    else:
        roster_form = RosterForm()

    status = user.get_status()
    return render(request, 'userpage/enroll.html',
                {'status': status, 'roster_form': roster_form})
示例#7
0
文件: views.py 项目: ckyle93/SlugChat
def viewquizzes(request):
    user = logged_in(request)

    if user is None:
        return HttpResponseRedirect('/')

    if user.get_status() is not 'Professor':
        return HttpResponse(
                'Sorry, only professors can view.', status=401)

    quizzes = user.quiz_set.all().all()

    quiz_list = []
    for quiz in quizzes:
        new_quiz = QuizObj()
        new_quiz.question_text = quiz.question
        new_quiz.id = quiz.id
        choices = quiz.quizchoices_set.all().all()
        for choice in choices:
            new_quiz.choices.append(choice.choice)
        quiz_list.append(new_quiz)
    if request.method == 'POST':
        quiz_id = request.POST['id']
        Quiz.objects.get(id=quiz_id).delete()
        return HttpResponseRedirect('/profile/viewquizzes')
    else:
        return render(request, 'userpage/viewquizzes.html',
                      {'quiz_list': quiz_list})
示例#8
0
文件: views.py 项目: ckyle93/SlugChat
def addclass(request):

    user = logged_in(request)

    if user is None:
        return HttpResponseRedirect('/')

    if user.get_status() != 'Professor':
        return HttpResponse(
                'Sorry, only professors can add classes.', status=401)

    # Create a new course with the current user as the professor
    course = Course(professor=user)
    if request.method == 'POST':
        course_form = CourseForm(request.POST, instance=course)
        if course_form.is_valid():
            course_form.save()
            Roster(studentID=user, courseID=course).save()
            return HttpResponseRedirect('/profile/')

    else:
        course_form = CourseForm()

    status = user.get_status()
    return render(request, 'userpage/addclass.html',
            {'status': status, 'course_form': course_form})
示例#9
0
文件: views.py 项目: ckyle93/SlugChat
def deleteclass(request):

    user = logged_in(request)

    if user is None:
        return HttpResponseRedirect('/')

    #if user.get_status() is not 'Professor':
    #    return HttpResponse(
    #            'Sorry, only professors can add classes.', status=401)
    if user.get_status() != 'Professor':
        return HttpResponse(
                'Sorry, only professors can add classes.', status=401)

    roster = Roster(studentID=user)
    if request.method == 'POST':
        roster_form = RosterForm(request.POST, instance=roster)
        if roster_form.is_valid():
            course = roster_form.cleaned_data['courseID']
            # If user hit Delete button, delete from db if the user is actually
            # enrolled in this class.
            Course.objects.get(title=course).delete()
            return HttpResponseRedirect('/profile/')
    else:
        roster_form = RosterForm()

    status = user.get_status()
    return render(request, 'userpage/deleteclass.html',
            {'status': status, 'roster_form': roster_form})
示例#10
0
文件: views.py 项目: ckyle93/SlugChat
def buildprofile(request):

    user = logged_in(request)

    if user is None:
        return HttpResponseRedirect('/')

    # If this user's profile is complete, and they aren't coming here to
    # update their profile, redirect to profile page
    if (not request.GET.get('update', '') == 'true' and
            user.completeProfile is True):
        return HttpResponseRedirect('/profile/')

    # We get the current user and assign it to the user variable, then
    # tell the model form that we want to update the information for
    # this user.
    if request.method == 'POST':
        user_form = UserForm(request.POST, instance=user)
        if user_form.is_valid():
            user.completeProfile = True
            user_form.save()
            return HttpResponseRedirect('/profile/')
    else:
        user_form = UserForm(instance=user)

    context = {'full_name': user.firstName + " " + user.lastName,
               'school': user.school,
               'studentID': user.studentID,
               'email': user.email,
               'profile_pic': user.profile_pic,
               'user_form': user_form,
               'status': user.get_status()
               }
    #return render(request, 'userpage/buildprofile.html', {'user_form': user_form})
    return render(request, 'userpage/editprofile.html', context)
示例#11
0
文件: views.py 项目: ckyle93/SlugChat
def quiz_choices(request):
    user = logged_in(request)

    if user is None:
        return HttpResponseRedirect('/')

    currentclass = request.get.get('class', '')

    if currentclass == '':
        return HttpResponseRedirect('/')

    status = user.get_status()
    if status == 'professor':
        quizzes = user.quiz_set.all().all()
        quiz_list = []
        for quiz in quizzes:
            new_quiz = QuizObj()
            new_quiz.question_text = quiz.question
            new_quiz.id = quiz.id
            choices = quiz.quizchoices_set.all().all()
            for choice in choices:
                new_quiz.choices.append(choice.choice)
            quiz_list.append(new_quiz)
    else:
        quiz_list = []

    context = {
        'firstname': user.firstname,
        'status': status,
        'quiz_list': quiz_list
    }
    return render(request, 'class/quiz_test.html', context)
示例#12
0
文件: views.py 项目: ckyle93/SlugChat
def quiz_choices(request):
    user = logged_in(request)

    if user is None:
        return HttpResponseRedirect('/')

    currentclass = request.get.get('class', '')

    if currentclass == '':
        return HttpResponseRedirect('/')

    status = user.get_status()
    if status == 'professor':
        quizzes = user.quiz_set.all().all()
        quiz_list = []
        for quiz in quizzes:
            new_quiz = QuizObj()
            new_quiz.question_text = quiz.question
            new_quiz.id = quiz.id
            choices = quiz.quizchoices_set.all().all()
            for choice in choices:
                new_quiz.choices.append(choice.choice)
            quiz_list.append(new_quiz)
    else:
        quiz_list = []

    context = {'firstname': user.firstname, 'status': status,
               'quiz_list': quiz_list}
    return render(request, 'class/quiz_test.html', context)
示例#13
0
文件: views.py 项目: ckyle93/SlugChat
def addclass(request):

    user = logged_in(request)

    if user is None:
        return HttpResponseRedirect('/')

    if user.get_status() != 'Professor':
        return HttpResponse('Sorry, only professors can add classes.',
                            status=401)

    # Create a new course with the current user as the professor
    course = Course(professor=user)
    if request.method == 'POST':
        course_form = CourseForm(request.POST, instance=course)
        if course_form.is_valid():
            course_form.save()
            Roster(studentID=user, courseID=course).save()
            return HttpResponseRedirect('/profile/')

    else:
        course_form = CourseForm()

    status = user.get_status()
    return render(request, 'userpage/addclass.html', {
        'status': status,
        'course_form': course_form
    })
示例#14
0
def buildprofile(request):

    user = logged_in(request)

    if user is None:
        return HttpResponseRedirect('/')

    # If this user's profile is complete, and they aren't coming here to
    # update their profile, redirect to profile page
    if (not request.GET.get('update', '') == 'true'
            and user.completeProfile is True):
        return HttpResponseRedirect('/profile/')

    # We get the current user and assign it to the user variable, then
    # tell the model form that we want to update the information for
    # this user.
    if request.method == 'POST':
        user_form = UserForm(request.POST, instance=user)
        if user_form.is_valid():
            user.completeProfile = True
            user_form.save()
            return HttpResponseRedirect('/profile/')
    else:
        user_form = UserForm(instance=user)
    #return render(request, 'userpage/buildprofile.html', {'user_form': user_form})
    return render(request, 'userpage/editprofile.html',
                  {'user_form': user_form})
示例#15
0
def class_chat(request):
        user = logged_in(request)
        if user is None:
            return HttpResponseRedirect('/')

        context = {'firstname': user.firstName,
                   'currentclass': request.GET.get('class', '')}
        #return render(request, 'class/class_chat.html', context)
        return render(request, 'class/mainAppPage.html', context)
示例#16
0
def generate(request):
    user = logged_in(request)
    if user:
        className = request.GET.get('className', '')
        context = {}
        if user.get_status() == 'Professor':
            context.update(upload_file(request, className))
        context.update(download_file(className))
        return render(request, 'myClassPage.html', context)
    else:
        return HttpResponseRedirect('/')
示例#17
0
文件: views.py 项目: ckyle93/SlugChat
def generate(request):
	user = logged_in(request)
	if user:
		className = request.GET.get('class', '')
		course = Course.objects.get(title=className)
		professor = course.professor
		context = {'status':user.get_status(),'currentclass':className, 'firstname':user.firstName, 'course':course, 'professor':professor}

		if user.get_status() == 'Professor':
			context.update(upload_file(request, className))
		context.update(download_file(request, className, user))
		context.update(get_course_context(className))
		return render(request, 'myClassPage.html', context)
	else:
		return HttpResponseRedirect('/')
示例#18
0
文件: views.py 项目: ckyle93/SlugChat
def makequizzes(request):
    user = logged_in(request)

    if user is None:
        return HttpResponseRedirect('/')

    if user.get_status() is not 'Professor':
        return HttpResponse('Sorry, only professors can view.', status=401)

    # If the we are updating a quizz's choices, the urls is
    # /profile/makequizzes/?quiz_id=pk, where pk is the primary key
    # of the Quiz object we want to add choices to.
    key = request.GET.get('quiz_id', '')
    if key is not '':
        quiz = get_object_or_404(Quiz, pk=key)
        new_choice = QuizChoices(quiz=quiz)
        previous_choices = quiz.quizchoices_set.all().all()
        if request.method == 'POST':
            quizchoices_form = QuizChoicesForm(request.POST,
                                               instance=new_choice)
            if quizchoices_form.is_valid():
                quizchoices_form.save()
            return HttpResponseRedirect('/profile/makequizzes/?quiz_id=' +
                                        str(quiz.id))
        else:
            quizchoices_form = QuizChoicesForm()

        return render(
            request, 'userpage/addchoices.html', {
                'quizchoices_form': quizchoices_form,
                'previous_choices': previous_choices
            })

    quiz = Quiz(professor=user)
    if request.method == 'POST':
        quiz_form = QuizForm(request.POST, instance=quiz)
        if quiz_form.is_valid():
            quiz_form.save()
        return HttpResponseRedirect('/profile/makequizzes/?quiz_id=' +
                                    str(quiz.id))
    else:
        quiz_form = QuizForm()

    return render(request, 'userpage/makequizzes.html',
                  {'quiz_form': quiz_form})
示例#19
0
文件: views.py 项目: ckyle93/SlugChat
def makequizzes(request):
    user = logged_in(request)

    if user is None:
        return HttpResponseRedirect('/')

    if user.get_status() is not 'Professor':
        return HttpResponse(
                'Sorry, only professors can view.', status=401)

    # If the we are updating a quizz's choices, the urls is
    # /profile/makequizzes/?quiz_id=pk, where pk is the primary key
    # of the Quiz object we want to add choices to.
    key = request.GET.get('quiz_id', '')
    if key is not '':
        quiz = get_object_or_404(Quiz, pk=key)
        new_choice = QuizChoices(quiz=quiz)
        previous_choices = quiz.quizchoices_set.all().all()
        if request.method == 'POST':
            quizchoices_form = QuizChoicesForm(
                    request.POST, instance=new_choice)
            if quizchoices_form.is_valid():
                quizchoices_form.save()
            return HttpResponseRedirect(
                    '/profile/makequizzes/?quiz_id=' + str(quiz.id))
        else:
            quizchoices_form = QuizChoicesForm()

        return render(request, 'userpage/addchoices.html',
                      {'quizchoices_form': quizchoices_form,
                       'previous_choices': previous_choices})

    quiz = Quiz(professor=user)
    if request.method == 'POST':
        quiz_form = QuizForm(request.POST, instance=quiz)
        if quiz_form.is_valid():
            quiz_form.save()
        return HttpResponseRedirect('/profile/makequizzes/?quiz_id=' +
                                    str(quiz.id))
    else:
        quiz_form = QuizForm()

    return render(request, 'userpage/makequizzes.html',
                  {'quiz_form': quiz_form})
示例#20
0
文件: views.py 项目: ckyle93/SlugChat
def class_chat(request):
    #  user = logged_in(request)
    #  if user is None:
    #      return HttpResponseRedirect('/')

    #  context = {'firstname': user.firstName,
    #             'currentclass': request.GET.get('class', '')}
    #  return render(request, 'class/class_chat.html', context)
    user = logged_in(request)
    if user is None:
        return HttpResponseRedirect('/')

    currentclass = request.GET.get('class', '')

    if currentclass == '':
        return HttpResponseRedirect('/')

    status = user.get_status()
    if status == 'Professor':
        quizzes = user.quiz_set.all().all()
        quiz_list = []
        for quiz in quizzes:
            new_quiz = QuizObj()
            new_quiz.question_text = quiz.question
            new_quiz.id = quiz.id
            choices = quiz.quizchoices_set.all().all()
            for choice in choices:
                new_quiz.choices.append(choice.choice)
            quiz_list.append(new_quiz)
    else:
        quiz_list = []

    context = {
        'firstname': user.firstName,
        'status': status,
        'quiz_list': quiz_list
    }

    #return render(request, 'class/quiz_test.html', context)
    #return render(request, 'class/mainAppPageStudent.html', context)
    return render(request, 'class/mainAppPageInstructor.html', context)
示例#21
0
def generate(request):
    user = logged_in(request)
    if user:
        className = request.GET.get('class', '')
        course = Course.objects.get(title=className)
        professor = course.professor
        context = {
            'status': user.get_status(),
            'currentclass': className,
            'firstname': user.firstName,
            'course': course,
            'professor': professor
        }

        if user.get_status() == 'Professor':
            context.update(upload_file(request, className))
        context.update(download_file(request, className, user))
        context.update(get_course_context(className))
        return render(request, 'myClassPage.html', context)
    else:
        return HttpResponseRedirect('/')
示例#22
0
文件: views.py 项目: ckyle93/SlugChat
def class_chat(request):
    #  user = logged_in(request)
    #  if user is None:
    #      return HttpResponseRedirect('/')

    #  context = {'firstname': user.firstName,
    #             'currentclass': request.GET.get('class', '')}
    #  return render(request, 'class/class_chat.html', context)
    user = logged_in(request)
    if user is None:
        return HttpResponseRedirect('/')

    currentclass = request.GET.get('class', '')

    if currentclass == '':
        return HttpResponseRedirect('/')

    status = user.get_status()
    if status == 'Professor':
        quizzes = user.quiz_set.all().all()
        quiz_list = []
        for quiz in quizzes:
            new_quiz = QuizObj()
            new_quiz.question_text = quiz.question
            new_quiz.id = quiz.id
            choices = quiz.quizchoices_set.all().all()
            for choice in choices:
                new_quiz.choices.append(choice.choice)
            quiz_list.append(new_quiz)
    else:
        quiz_list = []

    context = {'firstname': user.firstName, 'status': status,
               'quiz_list': quiz_list}

    #return render(request, 'class/quiz_test.html', context)
    #return render(request, 'class/mainAppPageStudent.html', context)
    return render(request, 'class/mainAppPageInstructor.html', context)
示例#23
0
文件: views.py 项目: ckyle93/SlugChat
def buildprofile(request):

    user = logged_in(request)

    if user is None:
        return HttpResponseRedirect('/')

    # If this user's profile is complete, and they aren't coming here to
    # update their profile, redirect to profile page
    if (not request.GET.get('update', '') == 'true'
            and user.completeProfile is True):
        return HttpResponseRedirect('/profile/')

    # We get the current user and assign it to the user variable, then
    # tell the model form that we want to update the information for
    # this user.
    if request.method == 'POST':
        user_form = UserForm(request.POST, instance=user)
        if user_form.is_valid():
            user.completeProfile = True
            user_form.save()
            return HttpResponseRedirect('/profile/')
    else:
        user_form = UserForm(instance=user)

    context = {
        'full_name': user.firstName + " " + user.lastName,
        'school': user.school,
        'studentID': user.studentID,
        'email': user.email,
        'profile_pic': user.profile_pic,
        'user_form': user_form,
        'status': user.get_status()
    }
    #return render(request, 'userpage/buildprofile.html', {'user_form': user_form})
    return render(request, 'userpage/editprofile.html', context)
示例#24
0
文件: views.py 项目: ckyle93/SlugChat
def signout(request):
    user = logged_in(request)
    if user is not None:
        del request.session['user']
    return HttpResponseRedirect('/')
示例#25
0
文件: views.py 项目: ckyle93/SlugChat
def signout(request):
    user = logged_in(request)
    if user is not None:
        del request.session['user']
    return HttpResponseRedirect('/')