Export a table whole, as a themed PDF or a CSV of the same rows (#341) #1088
No reviewers
Labels
No labels
accessibility
authentication
breaking change
bug
documentation
enhancement
interface
internationalisation
observability
performance
security
tier
1
tier
2
tier
3
tier/4
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
Postulo/postulo!1088
Loading…
Reference in a new issue
No description provided.
Delete branch "341-list-export"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Postulo could not export a list: printing one was the browser's dialog over
one page of rows, and the templates plugin had nothing for a list template
to set.
Applications, Companies and Listings each have Export beside Columns and
Views. It opens /tables//export/, which says what the export will
hold (the row count, the person's columns in their order, the filters and
the sort in words, and the row ceiling) and offers a theme, a language and
a paper. Download PDF and Download CSV post to /tables//export/file
with the table's question in the address; a GET there draws the same file
and remembers nothing. Both are downloads and are never filed (#236).
The rows are the page's own: each table names its list view (rows_from),
whose table_rows() is the queryset the page paginates, unpaginated, so the
scoping, the view's own filters (tab, group, status, whose) and the table's
are applied exactly as on the page. Applications export the table's shape
even where the board was chosen. Each table writes its cells as text
(Table.text), dates in the reader's format and zone, inside the document's
language.
One theme kind for every list, ThemeKind.LIST, with plain and classic
templates extending documents/themes/base_list.html. A list theme is handed
plain values by list_export.as_context: list, title, person, produced_at,
filters, sort, columns, rows, count, total, limit, truncated and left_out,
plus the usual document names and the paper. The theme is remembered per
person in Profile.document_themes as the report's is (#340), on a POST only.
With nothing chosen the paper is the person's default turned landscape,
where the theme prints on that (#344). A PDF holds at most 1,000 rows and a
CSV 10,000, said on the page and in the document. The CSV goes through
spreadsheets.row (#218).
No migration and no archive format change: the remembered list theme lives
in the existing document_themes column, whose import already takes any
ThemeKind.
Closes #341
Notes for review
ThemeKind.LIST, one kind for every list, with plain values fromlist_export.as_context. It is remembered inProfile.document_themes.spreadsheets.row(#218).🤖 Generated with Claude Code
e7e311bceec8e9efa289c8e9efa28916fec41e0a