예제 #1
0
파일: models.py 프로젝트: practo/MyCQ
 def can_answer_question(self, qid):
     if not user_store.sismember('user_questions:' + self.id, qid):
         return False
     # Presently users are not allowed to answer the question twice
     if user_store.sismember('user_answered_questions:' + self.id, qid):
         return False
     return True
예제 #2
0
파일: models.py 프로젝트: practo/MyCQ
 def get_overview(self):
     qids = user_store.smembers('user_questions:' + self.id)
     questions = []
     for qid in sorted(int(x) for x in qids):
         question = {'id': qid}
         if user_store.sismember('user_answered_questions:' + self.id, qid):
             question['status'] = 'answered'
         elif user_store.sismember('user_skipped_questions:' + self.id, qid):
             question['status'] = 'skipped'
         else:
             question['status'] = 'new'
         questions.append(question)
     return questions
예제 #3
0
파일: forms.py 프로젝트: practo/MyCQ
 def validate_token(form, field):
     if len(field.errors) > 0:
         return
     if not user_store.sismember('signup_tokens', field.data):
         field.errors.append('Incorrect registration token')
예제 #4
0
파일: models.py 프로젝트: practo/MyCQ
 def has_completed_test(self):
     return user_store.sismember('test_completed_users', self.id)
예제 #5
0
파일: models.py 프로젝트: practo/MyCQ
 def can_skip_question(self, qid):
     if not user_store.sismember('user_questions:' + self.id, qid):
         return False
     return True