🐛 Fixed some small bugs in results and on the account settings page

This commit is contained in:
Mawoka
2023-06-17 17:24:25 +02:00
parent 4838fc9f85
commit 03060bf0b9
3 changed files with 31 additions and 21 deletions
+10 -10
View File
@@ -12,14 +12,14 @@ from classquiz.db.models import User, GameResults
router = APIRouter()
@router.get("/list", response_model=list[GameResults])
async def list_game_results(user: User = Depends(get_current_user)):
results = await GameResults.objects.all(user=user.id)
@router.get("/list")
async def list_game_results(user: User = Depends(get_current_user)) -> list[GameResults]:
results = await GameResults.objects.select_related(GameResults.quiz).all(user=user.id)
return results
@router.get("/list/{quiz_id}", response_model=list[GameResults])
async def get_results_by_quiz(quiz_id: UUID, user: User = Depends(get_current_user)):
@router.get("/list/{quiz_id}")
async def get_results_by_quiz(quiz_id: UUID, user: User = Depends(get_current_user)) -> list[GameResults]:
res = await GameResults.objects.all(user=user.id, quiz=quiz_id)
if res is None:
raise HTTPException(status_code=404, detail="Game Result not found")
@@ -27,9 +27,9 @@ async def get_results_by_quiz(quiz_id: UUID, user: User = Depends(get_current_us
return res
@router.get("/{game_id}", response_model=GameResults)
async def get_game_result(game_id: UUID, user: User = Depends(get_current_user)):
res = await GameResults.objects.get_or_none(user=user.id, id=game_id)
@router.get("/{game_id}")
async def get_game_result(game_id: UUID, user: User = Depends(get_current_user)) -> GameResults:
res = await GameResults.objects.select_related(GameResults.quiz).get_or_none(user=user.id, id=game_id)
if res is None:
raise HTTPException(status_code=404, detail="Game Result not found")
else:
@@ -40,8 +40,8 @@ class _SetNoteInput(BaseModel):
note: str
@router.post("/set_note", response_model=GameResults)
async def set_note(id: UUID, data: _SetNoteInput, user: User = Depends(get_current_user)):
@router.post("/set_note")
async def set_note(id: UUID, data: _SetNoteInput, user: User = Depends(get_current_user)) -> GameResults:
res = await GameResults.objects.get_or_none(user=user.id, id=id)
if res is None:
raise HTTPException(status_code=404, detail="Game Result not found")
+8 -3
View File
@@ -254,7 +254,8 @@
"delete_this_session": "Delete this session",
"this_session?": "This session?",
"change_avatar": "Change avatar",
"security_settings": "Security-Settings"
"security_settings": "Security-Settings",
"add_api_key": "Add API key"
},
"explore_page": {
"made_by": "Made by",
@@ -320,7 +321,10 @@
"no_results_so_far": "No results saved so far...",
"quiz_title": "Quiz Title",
"date_played": "Date Played",
"player_count": "Player count"
"player_count": "Player count",
"general_overview": {
"sentence": "The quiz \"{{title}}\", which was played on {{date}} had {{player_count}} players with an average score of {{average_score}}."
}
},
"result_page": {
"player_name": "Player name",
@@ -328,7 +332,8 @@
"average_score": "Average score: {{average_score}}",
"correct_answer": "{{count}} correct answer",
"correct_answer_plural": "{{count}} correct answers",
"time_taken": "Time taken"
"time_taken": "Time taken",
"player_score": "Player Score"
},
"navbar": {
"donate": "Donate"
@@ -221,20 +221,25 @@
</div>
</form>
<div>
<button on:click={add_api_key}>{$t('settings_page.security_settings')}</button>
<div class="w-fit">
<BrownButton on:click={add_api_key}
>{$t('settings_page.add_api_key')}</BrownButton
>
</div>
{#await api_keys}
<Spinner />
{:then keys}
{#each keys as key}
<div>
{key.key}
<button
on:click={() => {
delete_api_key(key.key);
}}
class="admin-button"
>{$t('words.delete')}
</button>
<div class="inline-block">
<BrownButton
on:click={() => {
delete_api_key(key.key);
}}
>{$t('words.delete')}
</BrownButton>
</div>
</div>
{/each}
{/await}