diff --git a/management/univention-directory-manager-modules/modules/univention/admin/__init__.py b/management/univention-directory-manager-modules/modules/univention/admin/__init__.py index 4c8da83..4e4b8d0 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/__init__.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/__init__.py @@ -33,6 +33,7 @@ import types import sys import re +import copy import univention.config_registry import univention.debug @@ -190,7 +191,8 @@ def __init__(self, short_description='', long_description='', syntax=None, self.may_change=may_change self.identifies=identifies self.unique=unique - self.base_default=default + self.__base_default=copy.copy(default) + self.base_default=copy.copy(self.__base_default) self.dontsearch=dontsearch self.show_in_lists=show_in_lists self.editable=editable @@ -210,9 +212,10 @@ def new(self): return None def _replace( self, res, object ): - return pattern_replace( res, object ) + return pattern_replace( copy.copy(res), object ) def default(self, object): + self.base_default = copy.copy(self.__base_default) if not object.set_defaults: if self.multivalue: return []