Commit 2285f4a5425c4693642eed4e79eacf1fd5218a3c

Authored by Miguel Barão
1 parent 45cffaba
Exists in master and in 1 other branch dev

- fixed finished topic was not being saved in the database

Showing 3 changed files with 6 additions and 2 deletions   Show diff stats
@@ -34,6 +34,7 @@ @@ -34,6 +34,7 @@
34 34
35 # FIXED 35 # FIXED
36 36
  37 +- não está a guardar o resultado no final do topico
37 - esta a permitir 2 logins em simultaneo do mesmo user. fica tudo baralhado se mxerem em simultaneo... 38 - esta a permitir 2 logins em simultaneo do mesmo user. fica tudo baralhado se mxerem em simultaneo...
38 - errar no ultimo topico nao mostra solucao? 39 - errar no ultimo topico nao mostra solucao?
39 - quando a pergunta devolve comments, este é apresentado, mas fica persistente nas tentativas seguintes. devia ser limpo apos a segunda submissao. 40 - quando a pergunta devolve comments, este é apresentado, mas fica persistente nas tentativas seguintes. devia ser limpo apos a segunda submissao.
@@ -177,6 +177,9 @@ class StudentKnowledge(object): @@ -177,6 +177,9 @@ class StudentKnowledge(object):
177 # pure functions of the state (no side effects) 177 # pure functions of the state (no side effects)
178 # ======================================================================== 178 # ========================================================================
179 179
  180 + def topic_has_finished(self):
  181 + return self.current_question is None
  182 +
180 # ------------------------------------------------------------------------ 183 # ------------------------------------------------------------------------
181 # compute recommended sequence of topics ['a', 'b', ...] 184 # compute recommended sequence of topics ['a', 'b', ...]
182 # ------------------------------------------------------------------------ 185 # ------------------------------------------------------------------------
@@ -81,7 +81,7 @@ class LearnApp(object): @@ -81,7 +81,7 @@ class LearnApp(object):
81 return False 81 return False
82 82
83 pw_ok = await check_password(try_pw, password) # async bcrypt 83 pw_ok = await check_password(try_pw, password) # async bcrypt
84 - 84 +
85 if pw_ok: 85 if pw_ok:
86 if uid in self.online: 86 if uid in self.online:
87 logger.warning(f'User "{uid}" already logged in, overwriting') 87 logger.warning(f'User "{uid}" already logged in, overwriting')
@@ -153,7 +153,7 @@ class LearnApp(object): @@ -153,7 +153,7 @@ class LearnApp(object):
153 topic_id=topic)) 153 topic_id=topic))
154 logger.debug(f'Saved "{q["ref"]}" into database') 154 logger.debug(f'Saved "{q["ref"]}" into database')
155 155
156 - if action == 'finished_topic': 156 + if knowledge.topic_has_finished():
157 # finished topic, save into database 157 # finished topic, save into database
158 logger.info(f'User "{uid}" finished "{topic}"') 158 logger.info(f'User "{uid}" finished "{topic}"')
159 level = knowledge.get_topic_level(topic) 159 level = knowledge.get_topic_level(topic)