Improve event PDF exporter
Opened this issue · 5 comments
As part of the complex signup method aftermath we want to improve the pdf exporter:
- make it more userful for planners
- sorting by team/block/etc.
- designate participation state (atm, some exports show requested and confirmed without a way to distinguish)
- visually more appealing
- a better programmatic interface for signup methods to customize the export, multiple formats
Feel free to add more suggestions to this issue
Export as it is currently:
We have two different layouts. One for events with only one shift:
And one for events with multiple shifts:
While they are quite ugly, I don't think that they will become what you posted. This is mainly due to the fact that the export is only for one event at a time, while your view is more like the grid view optimised for printing.
We already have a similar case: a client of ours has events with uniform shifts every weekend. We also built a custom PDF export for them, which layouts the whole year on a single page. This is realised by using the bulk action on the event list and implementing a custom action in a plugin. This way, you can select all the events you want to include in your export. Have a look here: https://github.com/ephios-dev/ephios-signup-beachguard/blob/main/ephios_signup_beachguard/views.py#L49
I would limit this issue to the event-specific export. @lukasrad02 and @dasGoogle also had opinions on that IIRC
Would have been smart if I had taken notes when we had this discussion... 😅 But this is what I remember:
- Shift participants should be sorted in some predictable way (i.e. by role type, then name) as the sign-up order is not really useful for anything.
- Regarding the Layout, the default should be A4 paper since A5 is rather untypical and does not really fit that much info
- A shift participant table should be on the same page as the shift information. I.e., rather leave some whitespace and start the whole shift on a new page
- If the table does not fit on a single page, make that obvious, since currently, it is easy to overlook a single line that overflowed to the next page
- Page number and total pages
- Some meta-information, especially when the PDF was generated would be nice. Maybe there is some more info that might be useful in a page header or so
- A checkbox in each participant line to tick whether the person arrived or not
- If one wanted to make thes PDFs a little more pretty (and I don't know how painful this is using your library)
- Replace the Table borders with a striped background
- Add a logo in the top left
- Print the names in the table bold to emphasize them more
- Totally crazy and probably unnecessary: A QR code to get to the corresponding shift, but I don't really see a use case
If I understand @felixrindt correctly, he wants to also add special features for different shift signup types. I also see why this would be pretty useful since there is some info missing in the export. For example, I resorted to printing out screenshots instead of the PDF export as the feature where users can request a certain position was very chaotic in the PDF and I would have wanted a view more similar to the web page. While working on this, one could also replace the "Can select own starting and end time" field with the actual times that people chose in the table and move the meeting point time to the header for Multi-Export to save quite a lot of space on the page.
Regarding @BenBals Use-Case: I think that a basic CSV export of all shifts in a certain range would do the job perfectly as he could then use the data in his Excel PivotTable (is that what this comes from?) directly. In modern excel, he could even integrate this as a dynamic data source iirc, so that one can update it with a single click.
IIRC, you also wanted to implement an API route for searching for shift participations. Maybe, this would be a feature to integrate there by just offering a CSV download format via an additional GET parameter.