translator_directory.collections.time_report
Classes
Abstract base class for generic types. |
Module Contents
- class translator_directory.collections.time_report.TimeReportCollection(app: onegov.translator_directory.app.TranslatorDirectoryApp, page: int = 0, archive: bool = False)[source]
Bases:
onegov.core.collection.GenericCollection[onegov.translator_directory.models.time_report.TranslatorTimeReport],onegov.core.collection.Pagination[onegov.translator_directory.models.time_report.TranslatorTimeReport]Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as:
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows:
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
- __eq__(other: object) bool[source]
Returns True if the current and the other Pagination instance are equal. Used to find the current page in a list of pages.
- query() sqlalchemy.orm.Query[onegov.translator_directory.models.time_report.TranslatorTimeReport][source]
- subset() sqlalchemy.orm.Query[onegov.translator_directory.models.time_report.TranslatorTimeReport][source]
Returns an SQLAlchemy query containing all records that should be considered for pagination.
- page_by_index(index: int) Self[source]
Returns the page at the given index. A page here means an instance of the class inheriting from the
Paginationbase class.
- property batch: tuple[onegov.translator_directory.models.time_report.TranslatorTimeReport, Ellipsis][source]
Returns the elements on the current page.
- _get_user_finanzstelles(request: onegov.translator_directory.request.TranslatorAppRequest) list[str][source]
Get finanzstelles where user is listed as accountant.
Returns finanzstelles regardless of admin status - if an admin is in a user group with finanzstelle, that should be honored.
- _apply_finanzstelle_filter(query: sqlalchemy.orm.Query[onegov.translator_directory.models.time_report.TranslatorTimeReport], request: onegov.translator_directory.request.TranslatorAppRequest) sqlalchemy.orm.Query[onegov.translator_directory.models.time_report.TranslatorTimeReport][source]
Apply finanzstelle filter based on user’s group membership.
If user is in finanzstelle groups: filter by those finanzstelles. If user is not in any groups but is admin: show all (no filter).
- for_accounting_export(request: onegov.translator_directory.request.TranslatorAppRequest | None = None) sqlalchemy.orm.Query[onegov.translator_directory.models.time_report.TranslatorTimeReport][source]
Query confirmed but not yet exported time reports.
Filters by user’s finanzstelle groups if they are in any. If user is in finanzstelle groups (admin or not): filter applied. If user is admin but not in any groups: show all.