mirror of
https://github.com/netbox-community/netbox.git
synced 2026-01-12 06:42:16 -06:00
@@ -11,6 +11,7 @@ from django.utils.translation import gettext_lazy as _
|
||||
from core.models import ObjectType
|
||||
from ipam.formfields import IPNetworkFormField
|
||||
from ipam.validators import prefix_validator
|
||||
from netbox.config import get_config
|
||||
from netbox.preferences import PREFERENCES
|
||||
from users.constants import *
|
||||
from users.models import *
|
||||
@@ -64,8 +65,8 @@ class UserConfigFormMetaclass(forms.models.ModelFormMetaclass):
|
||||
class UserConfigForm(forms.ModelForm, metaclass=UserConfigFormMetaclass):
|
||||
fieldsets = (
|
||||
FieldSet(
|
||||
'locale.language', 'pagination.per_page', 'pagination.placement', 'ui.htmx_navigation',
|
||||
'ui.tables.striping',
|
||||
'locale.language', 'ui.copilot_enabled', 'pagination.per_page', 'pagination.placement',
|
||||
'ui.htmx_navigation', 'ui.tables.striping',
|
||||
name=_('User Interface')
|
||||
),
|
||||
FieldSet('data_format', 'csv_delimiter', name=_('Miscellaneous')),
|
||||
@@ -83,8 +84,7 @@ class UserConfigForm(forms.ModelForm, metaclass=UserConfigFormMetaclass):
|
||||
def __init__(self, *args, instance=None, **kwargs):
|
||||
|
||||
# Get initial data from UserConfig instance
|
||||
initial_data = flatten_dict(instance.data)
|
||||
kwargs['initial'] = initial_data
|
||||
kwargs['initial'] = flatten_dict(instance.data)
|
||||
|
||||
super().__init__(*args, instance=instance, **kwargs)
|
||||
|
||||
@@ -93,6 +93,10 @@ class UserConfigForm(forms.ModelForm, metaclass=UserConfigFormMetaclass):
|
||||
(f'tables.{table_name}', '') for table_name in instance.data.get('tables', [])
|
||||
)
|
||||
|
||||
# Disable Copilot preference if it has been disabled globally
|
||||
if not get_config().COPILOT_ENABLED:
|
||||
self.fields['ui.copilot_enabled'].disabled = True
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
|
||||
# Set UserConfig data
|
||||
|
||||
Reference in New Issue
Block a user