def viewcards(request): # subject = request.POST['subject'] if request.user.is_authenticated(): current_user = request.user logged_in = 1 subject = request.POST['subject'] # get the cards dbUser = dbRoutine.retrieve_account_no_password(current_user) #cards = dbUser.getCards() #cards = dbRoutine.retrieve_fc2(subject) cards = dbRoutine.retrieve_fc(subject) if (cards.count() == 0): valid_cards = 0 else: valid_cards = 1 return render(request, 'viewcards.html', {'current_user':current_user, 'subject':subject, 'logged_in':logged_in, 'cards':cards,'valid_cards':valid_cards}) else: current_user = request.user logged_in = 0 cards = None valid_cards = -1 return render_to_response('needacc.html')
def get_cards(request): json_dict = json.loads(request.body.decode('utf-8')) subject = json_dict['subject'] # subject = 'Computer Science' card_list = [entry for entry in dbRoutine.retrieve_fc(subject).values()] return JsonResponse(card_list, safe= False)
def search(request): # subject = request.POST['subject'] # global globar # globar = subject if request.user.is_authenticated(): current_user = request.user logged_in = 1 subject = request.POST['subject'] global globar globar = subject cards = dbRoutine.retrieve_fc(subject) if (cards.count() == 0): valid_cards = 0 else: valid_cards = 1 return render(request, 'search.html', {'current_user':current_user, 'logged_in':logged_in, 'cards':cards, 'valid_cards':valid_cards}) else: current_user = request.user logged_in = 0 cards = None valid_cards = -1 return render_to_response('needacc.html')
def test_retrieve_fc(self): sub = "math" que = "2+2" ans = "4" dbRoutine.create_fc(sub, que, ans) flashcards = dbRoutine.retrieve_fc(sub) self.assertEqual(1, flashcards.count())
def test_retrieve_empty_fc(self): sub = "math" que = "que" ans = "ans" dbRoutine.create_fc(sub, que, ans); flashcards = dbRoutine.retrieve_fc("english"); self.assertEqual(False, flashcards)
def test_create_flashcard(self): sub = "Test Subject" que = "Test Question" ans = "Test Answer" dbRoutine.create_fc(sub, que, ans) flashcards = dbRoutine.retrieve_fc("Test Subject") self.assertEqual(1, flashcards.count()) # add another of the same subject sub = "Test Subject" que = "Test Question2" ans = "Test Answer2" dbRoutine.create_fc(sub, que, ans) flashcards = dbRoutine.retrieve_fc("Test Subject") self.assertEqual(2, flashcards.count())
def quiz(request): if request.is_ajax(): signal = request.POST['signal'] print("Received AJAX " + signal) response = "Problem" if signal == 'get' : if request.session['flashcards']: card = request.session['flashcards'].pop() request.session['numques']+=1 request.session.modified = True response = { "signal" : card } else: response ={ "signal" : 'done'} elif signal == 'right': request.session['score']+=1 response = { "signal" : 'OK'} elif signal == 'wrong': #request.session['card_list'].next() response = { "signal" : "OK"} elif signal == 'feedback': stars = request.POST['stars'] text = request.POST['text'] subject_feedback = request.session['subject'] if(text != None or stars != None): fed = dbRoutine.create_feedback(text, stars) dbRoutine.link_feedback(fed,subject_feedback) response = { "signal" : "OK"} elif signal == 'end': print("End quiz.") current_user = request.user dbUser = dbRoutine.retrieve_account_no_password(current_user) # session1 = dbRoutine.create_session(request.session['subject'], request.session['score']) session1 = dbRoutine.create_session(request.session['subject'], request.session['score'],request.session['numques']) dbRoutine.link_session(dbUser.getName(), session1) print("this is request") response = {'signal' : request.session['score']} return JsonResponse(response) elif request.POST: subject = request.POST['subject'] request.session['subject'] = subject request.session['score'] = 0 request.session['numques'] = 0 request.session['flashcards'] = [entry for entry in dbRoutine.retrieve_fc(subject).values()] print(request.session['flashcards']) if request.user.is_authenticated(): current_user = request.user logged_in = 1 else: current_user = request.user logged_in = 0 context = {'subject': request.POST['subject'], 'current_user':current_user, 'logged_in':logged_in } return render(request, 'quiz.html', context)