`make test` now automatically forces a rebuild. Also passing `keepdb=true` runs
the test suite with `--keepdb` which is useful when repeatedly running tests.
Closes#61
Adds to the generate sjr application process a form in order to select one invoice.
Reviewed-on: #103
Co-authored-by: marius.klein <marius.klein@alpenverein-heidelberg.de>
Co-committed-by: marius.klein <marius.klein@alpenverein-heidelberg.de>
Subsidies paid for night and travel costs are expected to be listed
in the bills of the associated statement. Hence, they should not be
counted a second time in the theoretic total. This affects LJP
and SJR applications.
If an excursion has zero admissable youth leaders, the statement and hence the excursion
currently can't be saved, because the `allowance_to` field has to be non-empty, but
the number of entries has to be zero. This commit hence makes the field optional.
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`.
In the statement tab on excursions, add two new fields to select to which
youth leaders the allowance and subsidies should be paid. The fields
are checked for validity based on the number of approved youth leaders.
Also add a new field on excursions to allow for additional approved youth
leaders.
The new fields are not yet used in the statement confirmation process.
- Move documentation from README into sphinx docs
- change theme from alabaster to sphinxawsome-theme
- split into technical and user documentation
- restructure docs/ directories
- update sphinx refs in user documentation
- extend technical documentation with contributing page
- create seed for more technical documentation (architecture, deployment, testing)
Reviewed-on: #100
Reviewed-by: Christian Merten <christian@merten.dev>
Co-authored-by: Kasimir Uihlein <kuihlein@mailbox.org>
Co-committed-by: Kasimir Uihlein <kuihlein@mailbox.org>
Previously, the age column was sorted according to the birth date. This typically
causes singleton grouping upon multi sort with age as the primary sorting key. A
typical use case is sorting by age and application date.
Now the age column is sorted only by the numerical year value, which causes
the groups to be bigger.
1. IBAN validation in member admin.
2. In the transaction overview, for every transaction an EPC-QR code for banking apps is generated and displayed. The (necessary) BIC field is automatically derived from the IBAN. This closes#63.
Both steps use the python library schwifty.
Reviewed-on: #94
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>
Instead of directly uploading the filled-in registration form, a pre-filled
registration form is provided and the signed agreement can be uploaded
in a separate step.
Co-authored by: Marius Klein <marius.klein@alpenverein-heidelberg.de>