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
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
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')
def has_completed_test(self): return user_store.sismember('test_completed_users', self.id)
def can_skip_question(self, qid): if not user_store.sismember('user_questions:' + self.id, qid): return False return True