diff --git a/BUGS.md b/BUGS.md index 056236e..f0d3569 100644 --- a/BUGS.md +++ b/BUGS.md @@ -34,6 +34,7 @@ # FIXED +- não está a guardar o resultado no final do topico - esta a permitir 2 logins em simultaneo do mesmo user. fica tudo baralhado se mxerem em simultaneo... - errar no ultimo topico nao mostra solucao? - quando a pergunta devolve comments, este é apresentado, mas fica persistente nas tentativas seguintes. devia ser limpo apos a segunda submissao. diff --git a/knowledge.py b/knowledge.py index d93cefa..0e31804 100644 --- a/knowledge.py +++ b/knowledge.py @@ -177,6 +177,9 @@ class StudentKnowledge(object): # pure functions of the state (no side effects) # ======================================================================== + def topic_has_finished(self): + return self.current_question is None + # ------------------------------------------------------------------------ # compute recommended sequence of topics ['a', 'b', ...] # ------------------------------------------------------------------------ diff --git a/learnapp.py b/learnapp.py index 2e6ed64..dabca4c 100644 --- a/learnapp.py +++ b/learnapp.py @@ -81,7 +81,7 @@ class LearnApp(object): return False pw_ok = await check_password(try_pw, password) # async bcrypt - + if pw_ok: if uid in self.online: logger.warning(f'User "{uid}" already logged in, overwriting') @@ -153,7 +153,7 @@ class LearnApp(object): topic_id=topic)) logger.debug(f'Saved "{q["ref"]}" into database') - if action == 'finished_topic': + if knowledge.topic_has_finished(): # finished topic, save into database logger.info(f'User "{uid}" finished "{topic}"') level = knowledge.get_topic_level(topic) -- libgit2 0.21.2