Étape 58 : le présent / absent du référent est enregistré sur
l'affectation (Assignment.attendance + heure, migration 0030,
PUT .../assignments/{id}/attendance) au lieu de disparaître au
rechargement.
Étape 59 : section « Présence » de l'écran Statistiques — créneaux en
cours et créneaux terminés, par poste, rafraîchie toutes les 30 s.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
73 lines
1.4 KiB
Python
73 lines
1.4 KiB
Python
"""Tables SQLModel du domaine et énumérations associées.
|
|
|
|
Importé par Alembic (`app/migrations/env.py`) et par les tests pour enregistrer
|
|
les métadonnées sur `SQLModel.metadata`.
|
|
"""
|
|
|
|
from app.models.base import TimestampMixin, local_now
|
|
from app.models.domain import (
|
|
Account,
|
|
Artist,
|
|
Assignment,
|
|
BadgeField,
|
|
BadgeTemplate,
|
|
DayPart,
|
|
Edition,
|
|
FormField,
|
|
FormPaymentOption,
|
|
FormTemplate,
|
|
MagicLinkToken,
|
|
PendingFormSubmission,
|
|
Position,
|
|
Shift,
|
|
Volunteer,
|
|
VolunteerArtist,
|
|
VolunteerCompanionWish,
|
|
VolunteerPositionWish,
|
|
)
|
|
from app.models.enums import (
|
|
AssignmentSource,
|
|
AttendanceStatus,
|
|
BadgeAlign,
|
|
BadgeFace,
|
|
BadgeFieldType,
|
|
BadgePhotoShape,
|
|
FeePaymentStatus,
|
|
FormFieldType,
|
|
PositionCategory,
|
|
Role,
|
|
)
|
|
|
|
__all__ = [
|
|
"Account",
|
|
"Artist",
|
|
"Assignment",
|
|
"AssignmentSource",
|
|
"AttendanceStatus",
|
|
"BadgeAlign",
|
|
"BadgeFace",
|
|
"BadgeField",
|
|
"BadgeFieldType",
|
|
"BadgePhotoShape",
|
|
"BadgeTemplate",
|
|
"DayPart",
|
|
"Edition",
|
|
"FeePaymentStatus",
|
|
"FormField",
|
|
"FormFieldType",
|
|
"FormPaymentOption",
|
|
"FormTemplate",
|
|
"MagicLinkToken",
|
|
"PendingFormSubmission",
|
|
"Position",
|
|
"PositionCategory",
|
|
"Role",
|
|
"Shift",
|
|
"TimestampMixin",
|
|
"Volunteer",
|
|
"VolunteerArtist",
|
|
"VolunteerCompanionWish",
|
|
"VolunteerPositionWish",
|
|
"local_now",
|
|
]
|