pas.custom
Functions
|
|
|
|
Check if attendance date is in a closed settlement run. |
|
Check if attendance date is outside all settlement runs. |
|
|
Validate attendance date for creation/editing. |
Check if parliamentarian has set abschluss in settlement run. |
|
|
Module Contents
- pas.custom.get_global_tools(request: onegov.pas.request.PasRequest) collections.abc.Iterator[onegov.core.elements.Link | onegov.org.elements.LinkGroup][source]
- pas.custom.get_current_settlement_run(session: sqlalchemy.orm.Session) onegov.pas.models.SettlementRun | None[source]
- pas.custom.check_attendance_in_closed_settlement_run(session: sqlalchemy.orm.Session, attendance_date: datetime.date) bool[source]
Check if attendance date is in a closed settlement run.
NOTE: This approach is somewhat not as efficient as it could be. A better approach would be: - Add settlement_run_id FK to attendances table - Direct relationship: attendance.settlement_run - No date range queries needed We currently have a lot of these date range queries
- pas.custom.check_attendance_outside_any_settlement_run(session: sqlalchemy.orm.Session, attendance_date: datetime.date) bool[source]
Check if attendance date is outside all settlement runs.
Returns True if the date is NOT within any settlement run (neither open nor closed).
- pas.custom.validate_attendance_date(session: sqlalchemy.orm.Session, attendance_date: datetime.date) str | None[source]
Validate attendance date for creation/editing.
Returns error message if invalid, None if valid. Checks: 1. Date is not in a closed settlement run 2. Date is within some settlement run
- pas.custom.has_user_set_abschluss_for_settlement_run(session: sqlalchemy.orm.Session, parliamentarian_id: str, attendance_date: datetime.date) bool[source]
Check if parliamentarian has set abschluss in settlement run.
- Args:
session: Database session parliamentarian_id: UUID of the parliamentarian attendance_date: Date to check which settlement run it belongs to
- Returns:
True if parliamentarian has any attendance with abschluss=True in the settlement run containing the given date.