Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 22 additions & 1 deletion cms/db/archived_attendance.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,8 @@

from sqlalchemy.orm import relationship
from sqlalchemy.schema import Column, ForeignKey, UniqueConstraint
from sqlalchemy.types import Integer, Unicode, Interval
from sqlalchemy.sql import text
from sqlalchemy.types import Boolean, Integer, Unicode, Interval

from . import Base

Expand Down Expand Up @@ -88,6 +89,26 @@ class ArchivedAttendance(Base):
nullable=True,
)

# Whether the absence was justified (e.g., sick leave)
justified: bool = Column(
Boolean,
nullable=False,
server_default=text("false"),
)

# Admin comment for this attendance record
comment: str | None = Column(
Unicode,
nullable=True,
)

# Whether this students room and / or screen was recorded during this training
recorded: bool = Column(
Boolean,
nullable=False,
server_default=text("false"),
)

training_day: "TrainingDay" = relationship(
"TrainingDay",
back_populates="archived_attendances",
Expand Down
8 changes: 7 additions & 1 deletion cms/server/admin/handlers/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -212,7 +212,10 @@
TrainingProgramAttendanceHandler, \
TrainingProgramCombinedRankingHandler, \
TrainingProgramCombinedRankingHistoryHandler, \
TrainingProgramCombinedRankingDetailHandler
TrainingProgramCombinedRankingDetailHandler, \
UpdateAttendanceHandler, \
ExportAttendanceHandler, \
ExportCombinedRankingHandler


HANDLERS = [
Expand Down Expand Up @@ -403,7 +406,10 @@
(r"/training_program/([0-9]+)/training_day/([0-9]+)/scoreboard_sharing", ScoreboardSharingHandler),
(r"/training_program/([0-9]+)/training_day/([0-9]+)/archive", ArchiveTrainingDayHandler),
(r"/training_program/([0-9]+)/attendance", TrainingProgramAttendanceHandler),
(r"/training_program/([0-9]+)/attendance/export", ExportAttendanceHandler),
(r"/training_program/([0-9]+)/attendance/([0-9]+)", UpdateAttendanceHandler),
(r"/training_program/([0-9]+)/combined_ranking", TrainingProgramCombinedRankingHandler),
(r"/training_program/([0-9]+)/combined_ranking/export", ExportCombinedRankingHandler),
(r"/training_program/([0-9]+)/combined_ranking/history", TrainingProgramCombinedRankingHistoryHandler),
(r"/training_program/([0-9]+)/student/([0-9]+)/combined_ranking_detail", TrainingProgramCombinedRankingDetailHandler),
(r"/training_program/([0-9]+)/overview", TrainingProgramOverviewRedirectHandler),
Expand Down
Loading
Loading