mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-14 01:41:22 -06:00
Merge pull request #18544 from renatoalmeidaoliveira/18154-make-BaseTable-aware-default_user_preferences-annon-users
FIX #18154 - Cannot change default table preferences for anonymous users
This commit is contained in:
commit
4c5fbb7326
@ -2,6 +2,7 @@ from copy import deepcopy
|
|||||||
from functools import cached_property
|
from functools import cached_property
|
||||||
|
|
||||||
import django_tables2 as tables
|
import django_tables2 as tables
|
||||||
|
from django.conf import settings
|
||||||
from django.contrib.auth.models import AnonymousUser
|
from django.contrib.auth.models import AnonymousUser
|
||||||
from django.contrib.contenttypes.fields import GenericForeignKey
|
from django.contrib.contenttypes.fields import GenericForeignKey
|
||||||
from django.core.exceptions import FieldDoesNotExist
|
from django.core.exceptions import FieldDoesNotExist
|
||||||
@ -64,6 +65,8 @@ class BaseTable(tables.Table):
|
|||||||
selected_columns = None
|
selected_columns = None
|
||||||
if user is not None and not isinstance(user, AnonymousUser):
|
if user is not None and not isinstance(user, AnonymousUser):
|
||||||
selected_columns = user.config.get(f"tables.{self.name}.columns")
|
selected_columns = user.config.get(f"tables.{self.name}.columns")
|
||||||
|
elif isinstance(user, AnonymousUser) and hasattr(settings, 'DEFAULT_USER_PREFERENCES'):
|
||||||
|
selected_columns = settings.DEFAULT_USER_PREFERENCES.get('tables', {}).get(self.name, {}).get('columns')
|
||||||
if not selected_columns:
|
if not selected_columns:
|
||||||
selected_columns = getattr(self.Meta, 'default_columns', self.Meta.fields)
|
selected_columns = getattr(self.Meta, 'default_columns', self.Meta.fields)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user