activity.collections.occasion

Classes

OccasionCollection

Module Contents

class activity.collections.occasion.OccasionCollection(session: sqlalchemy.orm.Session, **kwargs: Any)[source]

Bases: onegov.core.collection.GenericCollection[onegov.activity.models.Occasion]

property model_class: type[onegov.activity.models.Occasion][source]
static to_half_open_interval(lower: int, upper: int) onegov.activity.types.BoundedIntegerRange[source]

Postgres coerces ranges internally to be half-open in an effort to canonize these ranges. This function does the same by taking a closed interval and turning it into a half-open interval of the NumericRange type.

add(activity: onegov.activity.models.Activity, period: onegov.activity.models.BookingPeriod, start: datetime.datetime, end: datetime.datetime, timezone: str, meeting_point: str | None = None, age: collections.abc.Sequence[int] | None = None, spots: collections.abc.Sequence[int] | None = None, note: str | None = None, cost: decimal.Decimal = Decimal(0), exclude_from_overlap_check: bool = False) onegov.activity.models.Occasion[source]
add_date(occasion: onegov.activity.models.Occasion, start: datetime.datetime, end: datetime.datetime, timezone: str) onegov.activity.models.OccasionDate[source]
find_date(occasion: onegov.activity.models.Occasion, start: datetime.datetime, end: datetime.datetime, timezone: str) onegov.activity.models.OccasionDate | None[source]
remove_date(date: onegov.activity.models.OccasionDate) None[source]
clear_dates(occasion: onegov.activity.models.Occasion) None[source]