Skip to content

Commit 4a92a26

Browse files
authored
Fix various challenger issues (#841)
### Description Please explain the changes you made here. ### Checklist - [ ] Created tests which fail without the change (if possible) - [ ] All tests passing - [ ] Extended the documentation, if necessary
1 parent 8f24ba1 commit 4a92a26

File tree

8 files changed

+449
-258
lines changed

8 files changed

+449
-258
lines changed

app/modules/sport_competition/cruds_sport_competition.py

Lines changed: 35 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
from sqlalchemy.orm import joinedload, selectinload
88

99
from app.core.schools import models_schools
10+
from app.core.schools.schemas_schools import CoreSchool
1011
from app.core.users import models_users, schemas_users
1112
from app.modules.sport_competition import (
1213
models_sport_competition,
@@ -233,6 +234,11 @@ async def load_memberships_by_competition_group(
233234
name=membership.user.name,
234235
firstname=membership.user.firstname,
235236
groups=[],
237+
school=CoreSchool(
238+
id=membership.user.school.id,
239+
name=membership.user.school.name,
240+
email_regex=membership.user.school.email_regex,
241+
),
236242
),
237243
)
238244
for membership in membership
@@ -319,6 +325,29 @@ async def load_all_competition_users(
319325
]
320326

321327

328+
async def load_all_competition_users_by_school(
329+
school_id: UUID,
330+
edition_id: UUID,
331+
db: AsyncSession,
332+
) -> list[schemas_sport_competition.CompetitionUser]:
333+
competition_users = await db.execute(
334+
select(models_sport_competition.CompetitionUser)
335+
.join(
336+
models_users.CoreUser,
337+
models_sport_competition.CompetitionUser.user_id
338+
== models_users.CoreUser.id,
339+
)
340+
.where(
341+
models_sport_competition.CompetitionUser.edition_id == edition_id,
342+
models_users.CoreUser.school_id == school_id,
343+
),
344+
)
345+
return [
346+
competition_user_model_to_schema(competition_user)
347+
for competition_user in competition_users.scalars().all()
348+
]
349+
350+
322351
async def load_competition_user_by_id(
323352
user_id: str,
324353
edition_id: UUID,
@@ -479,6 +508,8 @@ async def load_school_base_by_id(
479508
school_id=school.school_id,
480509
from_lyon=school.from_lyon,
481510
active=school.active,
511+
inscription_enabled=school.inscription_enabled,
512+
ffsu_id=school.ffsu_id,
482513
)
483514
if school
484515
else None
@@ -487,23 +518,12 @@ async def load_school_base_by_id(
487518

488519
async def load_school_by_id(
489520
school_id: UUID,
490-
edition_id: UUID,
491521
db: AsyncSession,
492522
) -> schemas_sport_competition.SchoolExtension | None:
493523
school_extension = (
494524
(
495525
await db.execute(
496526
select(models_sport_competition.SchoolExtension)
497-
.join(
498-
models_sport_competition.SchoolGeneralQuota,
499-
and_(
500-
models_sport_competition.SchoolExtension.school_id
501-
== models_sport_competition.SchoolGeneralQuota.school_id,
502-
models_sport_competition.SchoolGeneralQuota.edition_id
503-
== edition_id,
504-
),
505-
isouter=True,
506-
)
507527
.where(
508528
models_sport_competition.SchoolExtension.school_id == school_id,
509529
)
@@ -611,7 +631,7 @@ async def update_participant(
611631
await db.flush()
612632

613633

614-
async def validate_participant(
634+
async def validate_competition_user(
615635
user_id: str,
616636
edition_id: UUID,
617637
db: AsyncSession,
@@ -629,7 +649,7 @@ async def validate_participant(
629649
await db.flush()
630650

631651

632-
async def invalidate_participant(
652+
async def invalidate_competition_user(
633653
user_id: str,
634654
edition_id: UUID,
635655
db: AsyncSession,
@@ -2108,6 +2128,7 @@ async def load_available_product_variants(
21082128
edition_id=variant.product.edition_id,
21092129
name=variant.product.name,
21102130
description=variant.product.description,
2131+
required=variant.product.required,
21112132
),
21122133
)
21132134
for variant in variants.scalars().all()
@@ -2139,6 +2160,7 @@ async def load_product_variant_by_id(
21392160
edition_id=variant.product.edition_id,
21402161
name=variant.product.name,
21412162
description=variant.product.description,
2163+
required=variant.product.required,
21422164
),
21432165
)
21442166
if variant

0 commit comments

Comments
 (0)