Beispiel #1
0
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')
Beispiel #2
0
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)
Beispiel #3
0
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')
Beispiel #4
0
 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())
Beispiel #5
0
 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)
Beispiel #6
0
    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())
Beispiel #7
0
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)