Commit e3d61b8258f5cbd3504a9170765bc53a69aaba24
1 parent
353ca74c
Exists in
master
and in
1 other branch
Default max_tries in radio and checkbox questions
Showing
2 changed files
with
4 additions
and
0 deletions
Show diff stats
BUGS.md
| 1 | 1 | |
| 2 | 2 | # BUGS |
| 3 | 3 | |
| 4 | +- guardar o estado a meio de um nível. | |
| 4 | 5 | - safari as vezes envia dois gets no inicio do topico. nesses casos, a segunda pergunta não é actualizada no browser... o topico tem de ser gerado qd se escolhe o topico em main_topics. O get nao deve alterar o estado. |
| 5 | 6 | - click numa opcao checkbox fora da checkbox+label não está a funcionar. |
| 6 | 7 | - shift-enter não está a funcionar | ... | ... |
aprendizations/questions.py
| ... | ... | @@ -37,6 +37,7 @@ class Question(dict): |
| 37 | 37 | 'comments': '', |
| 38 | 38 | 'solution': '', |
| 39 | 39 | 'files': {}, |
| 40 | + 'max_tries': 3, | |
| 40 | 41 | }) |
| 41 | 42 | |
| 42 | 43 | def correct(self) -> None: |
| ... | ... | @@ -78,6 +79,7 @@ class QuestionRadio(Question): |
| 78 | 79 | 'correct': 0, |
| 79 | 80 | 'shuffle': True, |
| 80 | 81 | 'discount': True, |
| 82 | + 'max_tries': (n + 3) // 4 # 1 try for each 4 options | |
| 81 | 83 | }) |
| 82 | 84 | |
| 83 | 85 | # convert int to list, e.g. correct: 2 --> correct: [0,0,1,0,0] |
| ... | ... | @@ -157,6 +159,7 @@ class QuestionCheckbox(Question): |
| 157 | 159 | 'shuffle': True, |
| 158 | 160 | 'discount': True, |
| 159 | 161 | 'choose': n, # number of options |
| 162 | + 'max_tries': max(1, min(n - 1, 3)) | |
| 160 | 163 | }) |
| 161 | 164 | |
| 162 | 165 | if len(self['correct']) != n: | ... | ... |