pas.custom

Functions

get_global_tools(...)

get_top_navigation(→ list[onegov.core.elements.Link])

get_current_settlement_run(...)

check_attendance_in_closed_settlement_run(→ bool)

Check if attendance date is in a closed settlement run.

check_attendance_outside_any_settlement_run(→ bool)

Check if attendance date is outside all settlement runs.

validate_attendance_date(→ str | None)

Validate attendance date for creation/editing.

has_user_set_abschluss_for_settlement_run(→ bool)

Check if parliamentarian has set abschluss in settlement run.

get_current_rate_set(→ onegov.pas.models.RateSet)

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_top_navigation(request: onegov.pas.request.PasRequest) list[onegov.core.elements.Link][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.

pas.custom.get_current_rate_set(session: sqlalchemy.orm.Session, run: onegov.pas.models.SettlementRun) onegov.pas.models.RateSet[source]