esrg-knights / Squire

A re-introduction of the WebApp for ESRG Knights of the Kitchen Table.
https://www.kotkt.nl/
GNU General Public License v3.0
10 stars 8 forks source link

add option to add collumns in backend #221

Closed JoostVossen closed 1 year ago

JoostVossen commented 2 years ago

Low-priority. Could it be possible to make an option to add columns in the overview in the back-end? This would make it possible to check a non-standard property without either having to download a snapshot (which will get outdated). Or check every item individually. Eric already told me this is too much work so it's low priority.

EricTRL commented 2 years ago

As far as I know, it is indeed a lot of work to dynamically change the columns that are visible in the admin panel based on user input. However, permanently adding/removing a column is very easy. Likewise, adding a filter (e.g., to filter all boardgames taking <10 minutes, all members without an email address, etc.) to only display a specific subset of entries matching that filter is also very easy.

DutcherNL commented 2 years ago

The Django admin is a precomposed library of code that is made for quick implementation of model editing, however it never had such on the spot flexibility in mind. This is done likely due to the large amount of repercussions and unique situations that can occur in combination with their predetermined permissions. Thus a feature that dynamically enables the display of data properties that are not displayed currently does not just require adding code, but completely rewriting core functionality of the admin code for that particular context. Which is a lot of work. Really... a lot of work. And the code resulting from it is not going to be pretty to maintain either.

It is much better if you help us define which model properties (or columns) you are missing so we can add them or which properties you want to be able to filter on. These changes are, like Eric said, really easy and quick to implent and if two of us have 10 minutes somewhere in the day, can implement that column or filter theoretically within a day.