We add back the functionality to disable the startpage. If a non-empty redirect url is configured,
all startpage urls are disabled except for the index page which redirects to the given url.
Rework the wait cofirmation status shown in the admin: If there is a pending wait confirmation
request (i.e. the number of sent reminders is positive), the status is either `None` (i.e. undecided)
or `False`. Otherwise the status is `True`.
Partially reverts 2761efecaa. To handle invalid unicode characters, we now override
the LaTeX error message to remove invalid characters instead of crashing. We also
add various umlaut and invisible unicode characters to the test data.
Add `Link` model to customize the admin startpage from the admin interface. Also add block rendering of links.
Reviewed-on: #138
Co-authored-by: marius.klein <marius.klein@alpenverein-heidelberg.de>
Co-committed-by: marius.klein <marius.klein@alpenverein-heidelberg.de>
Since access to all media content required staff login, images intended for display on the website
were no longer accessible without login. This commit removes the protection for image files of members
and startpage posts.
We also add tests to prevent this regression from happening again.
Implements the new LJP application format as outlined in #116. In particular:
- The V-32 PDF is replaced by an `.xlsx` sheet.
- The LaTeX generated PDF for the seminar report is replaced by a `.docx` file, generated by `pandoc` from a modified `.tex` file.
- The cost and participants overview from the old PDF can still be generated separately, but is no longer required.
Also adds many fields to `LJPProposal` that are required to generate the full application.
Also add a total participants and youth leaders count on the members on list inline tab.
Reviewed-on: #119
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>
closes#108
- fields for receivers of allowance `a` and subsidies `s` are not compulsory anymore. If receivers are given, `a` and `s` are payed out for them. `s` can only be payed out in total, disregarding the number of receivers given for `a`.
- In the overview pages (activity and statement), we are now distinguishing between theoretical `a` + `s` and what has been payed out practically. If no receiver was given for either things, it is made clear that nothing is payed out. All combinations of `0`, ..., `n` payed allowances (`n` being number of approved participating YLs) and `0, `1` payed subsidies are possible.
- transaction generation logic adapted accordingly
Reviewed-on: #112
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>
We replace the current environment variable based configuration approach by
reading all local configuration from a `settings.toml` configuration file.
The docker test, development and production setups have been updated to use
the new setup.
The configuration folder also allows overriding every template in a
`config/templates` directory. We use this in a follow-up to move
all local specific templates, e.g. the registration form, into this
config directory.