The new unified statement view is very slow in production. This is
caused by the computation of `is_valid` for every entry of the list,
which entails at least one database query per row. Instead of removing
the `is_valid` field from the list view, we could prefetch the related
fields, but I don't think the `is_valid` provides any noticeable benefit
anyway.
We also add pagination to the statement view.
This PR replaces the separate admin views for unsubmitted, submitted and
confirmed statements by one common view. To distinguish the state, we
now display a colored badge in the changelist.
The default permissions for the `Standard` group are changed so that
normal users can continue to view statements they are related to when
these are submitted or confirmed.
Confirmed statements now come with automatically generated PDF receipts used for documenting all issued payments.
This PR also adds generation of transactions for LJP contributions and their validation.
closes#92
Co-authored-by: mariusrklein <47218379+mariusrklein@users.noreply.github.com>
Reviewed-on: #150
Reviewed-by: Christian Merten <christian@merten.dev>
Co-authored-by: marius.klein <marius.klein@alpenverein-heidelberg.de>
Co-committed-by: marius.klein <marius.klein@alpenverein-heidelberg.de>
* Add new attribute `iban_valid` to `Member`.
* Submit pages of regular expenses and activity expenses now include an overview which people with expenses have a valid IBAN.
* Add a note that IBAN validity should be checked manually before submitting.
Right now, no technical barriers are in place that prevent missing/wrong IBANs when a statement is submitted. This is intentional to preserve maximal flexibility.
In a follow-up PR, one could add custom warning messages on top of page when some IBANs are invalid.
Reviewed-on: #104
Reviewed-by: Christian Merten <christian@merten.dev>
Co-authored-by: marius.klein <marius.klein@alpenverein-heidelberg.de>
Co-committed-by: marius.klein <marius.klein@alpenverein-heidelberg.de>
Use the new `allowance_to` and `subsidy_to` fields in statement validation. The
night and travel costs have to be transferred to the person listed as `subsidy_to`,
the allowance has to be paid to the persons listed in `allowance_to`.