Argus icon indicating copy to clipboard operation
Argus copied to clipboard

Idea: App (or just model) for user preferences

Open hmpf opened this issue 3 years ago • 1 comments

Companion issue for https://github.com/Uninett/Argus-frontend/issues/448: "Idea: On the incidents-page, allow adding columns from tags".

A model with OneToOneField to an argus_auth.User with fields for user preferences. We could also put a json-field on the user but because the user is loaded often and all over the place this might negatively affect memory usage and loading speed. Also, such preferences are only relevant for the frontend, so human users and not source systems or agents.

Django has a preferred way of doing it: https://docs.djangoproject.com/en/3.2/topics/auth/customizing/#extending-the-existing-user-model

Here's an example of how to add a profile automatically: https://ordinarycoders.com/django-custom-user-profile#Creating%20a%20profile%20model

We wouldn't want to create a userprofile for all users though, only end-users using the frontend.

hmpf avatar Oct 13 '22 07:10 hmpf

We could also have a magical method on the user-object that creates a profile if one does not exist on first access.

hmpf avatar Oct 13 '22 07:10 hmpf