mirror of
https://github.com/jumpserver/jumpserver.git
synced 2026-01-13 19:45:40 +00:00
@@ -15,8 +15,6 @@ class BaseForm(forms.Form):
|
||||
super().__init__(*args, **kwargs)
|
||||
for name, field in self.fields.items():
|
||||
value = getattr(settings, name, None)
|
||||
# django_value = getattr(settings, name) if hasattr(settings, name) else None
|
||||
|
||||
if value is None: # and django_value is None:
|
||||
continue
|
||||
|
||||
@@ -24,8 +22,6 @@ class BaseForm(forms.Form):
|
||||
if isinstance(value, dict):
|
||||
value = json.dumps(value)
|
||||
initial_value = value
|
||||
# elif django_value is False or django_value:
|
||||
# initial_value = django_value
|
||||
else:
|
||||
initial_value = ''
|
||||
field.initial = initial_value
|
||||
@@ -157,6 +153,11 @@ class TerminalSettingForm(BaseForm):
|
||||
TERMINAL_ASSET_LIST_PAGE_SIZE = forms.ChoiceField(
|
||||
choices=PAGE_SIZE_CHOICES, initial='auto', label=_("List page size"),
|
||||
)
|
||||
TERMINAL_SESSION_KEEP_DURATION = forms.IntegerField(
|
||||
label=_("Session keep duration"),
|
||||
help_text=_("Units: days, Session, record, command will be delete "
|
||||
"if more than duration, only in database")
|
||||
)
|
||||
|
||||
|
||||
class TerminalCommandStorage(BaseForm):
|
||||
|
||||
@@ -26,21 +26,20 @@ def refresh_settings_on_changed(sender, instance=None, **kwargs):
|
||||
def refresh_all_settings_on_django_ready(sender, **kwargs):
|
||||
logger.debug("Receive django ready signal")
|
||||
logger.debug(" - fresh all settings")
|
||||
CACHE_KEY_PREFIX = '_SETTING_'
|
||||
cache_key_prefix = '_SETTING_'
|
||||
|
||||
def monkey_patch_getattr(self, name):
|
||||
key = CACHE_KEY_PREFIX + name
|
||||
key = cache_key_prefix + name
|
||||
cached = cache.get(key)
|
||||
if cached is not None:
|
||||
return cached
|
||||
if self._wrapped is empty:
|
||||
self._setup(name)
|
||||
val = getattr(self._wrapped, name)
|
||||
# self.__dict__[name] = val # Never set it
|
||||
return val
|
||||
|
||||
def monkey_patch_setattr(self, name, value):
|
||||
key = CACHE_KEY_PREFIX + name
|
||||
key = cache_key_prefix + name
|
||||
cache.set(key, value, None)
|
||||
if name == '_wrapped':
|
||||
self.__dict__.clear()
|
||||
@@ -51,7 +50,7 @@ def refresh_all_settings_on_django_ready(sender, **kwargs):
|
||||
def monkey_patch_delattr(self, name):
|
||||
super(LazySettings, self).__delattr__(name)
|
||||
self.__dict__.pop(name, None)
|
||||
key = CACHE_KEY_PREFIX + name
|
||||
key = cache_key_prefix + name
|
||||
cache.delete(key)
|
||||
|
||||
try:
|
||||
|
||||
Reference in New Issue
Block a user