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 })
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)
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 })
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)
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})
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})
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})
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})
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})
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)
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)
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)
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 })
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})
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)
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('/')
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('/')
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})
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})
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)
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('/')
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)
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)
def signout(request): user = logged_in(request) if user is not None: del request.session['user'] return HttpResponseRedirect('/')
def signout(request): user = logged_in(request) if user is not None: del request.session['user'] return HttpResponseRedirect('/')