Example #1
0
def get_budget_raw(value, request=None, year=None):
    year = year if year else get_selected_year()
    kind = BookingKind.get(value)
    budget = (Budget.query().filter(Budget.booking_kind == kind).filter(
        Budget.accounting_year == year).one_or_none())
    if budget:
        return [budget]
    return []
Example #2
0
def get_budget_sum(value, request=None, year=None):
    year = year if year else get_selected_year()
    kind = BookingKind.get(value)
    if kind.shorttitle == 'ENAB':
        kind = BookingKind.query().filter_by(shorttitle='ENAN').one()
        query = (Booking.query().filter(Booking.kind == kind).filter(
            Booking.accounting_year == year))
        return 0 - sum(b.value for b in query)
    return sum(b.value for b in get_budget_raw(value, request, year))
Example #3
0
def get_incoming_raw(value, request=None, year=None):
    from sqlalchemy.sql.expression import false
    year = year if year else get_selected_year()
    kind = BookingKind.get(value)
    query = (Booking.query().join(Member).filter(Booking.kind == kind).filter(
        Booking.accounting_year == year).filter(
            Booking.ignore_in_reporting == false()).filter(
                Booking.is_splitted == false()).filter(
                    Booking.banking_account_id == 1).filter(
                        Booking.booking_text != 'SAMMEL-LS-EINZUG').filter(
                            ~Booking.purpose.like('%ANZAHL 00000%')))
    sammler = (SEPASammlerEntry.query().join(SEPASammler).join(Member).filter(
        SEPASammler.kind == kind).filter(
            SEPASammlerEntry.ignore_in_reporting == false()).filter(
                SEPASammler.accounting_year == year))
    result = query.all() + sammler.all()
    if kind.shorttitle == 'ENAB':
        result += (get_incoming_raw(
            BookingKind.query().filter_by(shorttitle='ENA1').one().id, request,
            year) + get_incoming_raw(
                BookingKind.query().filter_by(shorttitle='ENA2').one().id,
                request, year))
    return result