View | Details | Raw Unified | Return to bug 43094
Collapse All | Expand All

(-)a/management/univention-management-console-module-udm/umc/python/udm/syntax.py (-9 / +10 lines)
 Lines 175-205   def choices(syntax, udm_property): Link Here 
175
	"""
175
	"""
176
	MODULE.info('Find choices for syntax %s' % (syntax,))
176
	MODULE.info('Find choices for syntax %s' % (syntax,))
177
	opts = None
177
	opts = None
178
	if inspect.isclass(syntax) and issubclass(syntax, (udm_syntax.UDM_Objects, udm_syntax.UDM_Attribute)):
178
	syntax_class = syntax if inspect.isclass(syntax) else type(syntax)
179
		if issubclass(syntax, udm_syntax.UDM_Objects) and udm_property['multivalue'] and len(syntax.udm_modules) == 1 and not syntax.simple:
179
	if issubclass(syntax_class, (udm_syntax.UDM_Objects, udm_syntax.UDM_Attribute)):
180
		if issubclass(syntax_class, udm_syntax.UDM_Objects) and udm_property['multivalue'] and len(syntax.udm_modules) == 1 and not syntax.simple:
180
			opts = {'objectType': syntax.udm_modules[0]}
181
			opts = {'objectType': syntax.udm_modules[0]}
181
		else:
182
		else:
182
			opts = {
183
			opts = {
183
				'dynamicValues': 'udm/syntax/choices',
184
				'dynamicValues': 'udm/syntax/choices',
184
				'dynamicOptions': {
185
				'dynamicOptions': {
185
					'syntax': syntax.__name__,
186
					'syntax': syntax.name,
186
				},
187
				},
187
				'dynamicValuesInfo': 'udm/syntax/choices/info',
188
				'dynamicValuesInfo': 'udm/syntax/choices/info',
188
			}
189
			}
189
		if issubclass(syntax, udm_syntax.network):
190
		if issubclass(syntax_class, udm_syntax.network):
190
			opts['onChange'] = 'javascript:umc/modules/udm/callbacks:setNetwork'
191
			opts['onChange'] = 'javascript:umc/modules/udm/callbacks:setNetwork'
191
	elif isinstance(syntax, (udm_syntax.ldapDnOrNone, udm_syntax.ldapDn)) or inspect.isclass(syntax) and issubclass(syntax, (udm_syntax.ldapDnOrNone, udm_syntax.ldapDn)):
192
	elif issubclass(syntax_class, (udm_syntax.ldapDnOrNone, udm_syntax.ldapDn)):
192
		opts = {
193
		opts = {
193
			'dynamicValues': 'udm/syntax/choices',
194
			'dynamicValues': 'udm/syntax/choices',
194
			'dynamicOptions': {
195
			'dynamicOptions': {
195
				'syntax': inspect.isclass(syntax) and syntax.__name__ or syntax.__class__.__name__,
196
				'syntax': syntax.name,
196
			},
197
			},
197
		}
198
		}
198
	elif isinstance(syntax, udm_syntax.LDAP_Search):
199
	elif issubclass(syntax_class, udm_syntax.LDAP_Search):
199
		opts = {
200
		opts = {
200
			'dynamicValues': 'udm/syntax/choices',
201
			'dynamicValues': 'udm/syntax/choices',
201
			'dynamicOptions': {
202
			'dynamicOptions': {
202
				'syntax': syntax.__class__.__name__,
203
				'syntax': syntax.name,
203
				'options': {
204
				'options': {
204
					'syntax': syntax.name,
205
					'syntax': syntax.name,
205
					'filter': syntax.filter,
206
					'filter': syntax.filter,
 Lines 214-220   def choices(syntax, udm_property): Link Here 
214
			'sortDynamicValues': not syntax.appendEmptyValue,
215
			'sortDynamicValues': not syntax.appendEmptyValue,
215
		}
216
		}
216
217
217
	elif inspect.isclass(syntax) and issubclass(syntax, udm_syntax.select):
218
	elif issubclass(syntax_class, udm_syntax.select):
218
		if getattr(syntax, 'depends', None) is not None:
219
		if getattr(syntax, 'depends', None) is not None:
219
			opts = {
220
			opts = {
220
				'dynamicValues': 'javascript:umc/modules/udm/callbacks:setDynamicValues',
221
				'dynamicValues': 'javascript:umc/modules/udm/callbacks:setDynamicValues',

Return to bug 43094