View | Details | Raw Unified | Return to bug 30387 | Differences between
and this patch

Collapse All | Expand All

(-)a/branches/ucs-3.2/ucs-3.2-0/management/univention-directory-manager-modules/modules/univention/admin/syntax.py (-13 / +99 lines)
 Lines 2356-2362   class nfssync(select): Link Here 
2356
2356
2357
class univentionAdminModules(select):
2357
class univentionAdminModules(select):
2358
	# we need a fallback
2358
	# we need a fallback
2359
	choices=[('computers/managedclient', 'Computer: Managed Client'), ('computers/domaincontroller_backup', 'Computer: Domain Controller Backup'), ('computers/domaincontroller_master', 'Computer: Domain Controller Master'), ('computers/domaincontroller_slave', 'Computer: Domain Controller Slave'), ('computers/trustaccount', 'Computer: Domain Trust Account'), ('computers/ipmanagedclient', 'Computer: IP Managed Client'), ('computers/macos', 'Computer: Mac OS X Client'), ('computers/memberserver', 'Computer: Member Server'), ('computers/mobileclient', 'Computer: Mobile Client'), ('computers/thinclient', 'Computer: Thin Client'), ('computers/windows', 'Computer: Windows'), ('container/cn', 'Container: Container'), ('container/dc', 'Container: Domain'), ('container/ou', 'Container: Organizational Unit'), ('dhcp/host', 'DHCP: Host'), ('dhcp/pool', 'DHCP: Pool'), ('dhcp/server', 'DHCP: Server'), ('dhcp/service', 'DHCP: Service'), ('dhcp/shared', 'DHCP: Shared Network'), ('dhcp/sharedsubnet', 'DHCP: Shared Subnet'), ('dhcp/subnet', 'DHCP: Subnet'), ('dns/alias', 'DNS: Alias Record'), ('dns/forward_zone', 'DNS: Forward Lookup Zone'), ('dns/host_record', 'DNS: Host Record'), ('dns/ptr_record', 'DNS: Pointer'), ('dns/reverse_zone', 'DNS: Reverse Lookup Zone'), ('dns/srv_record', 'DNS: Service Record'), ('dns/zone_mx_record', 'DNS: Zone Mail Exchanger'), ('dns/zone_txt_record', 'DNS: Zone Text'), ('groups/group', 'Group: Group'), ('mail/folder', 'Mail: IMAP Folder'), ('mail/domain', 'Mail: Mail Domains'), ('mail/lists', 'Mail: Mailing Lists'), ('networks/network', 'Networks: Network'), ('policies/autostart', 'Policy: Autostart'), ('policies/clientdevices', 'Policy: Client Devices'), ('policies/dhcp_scope', 'Policy: DHCP Allow/Deny'), ('policies/dhcp_boot', 'Policy: DHCP Boot'), ('policies/dhcp_dns', 'Policy: DHCP DNS'), ('policies/dhcp_dnsupdate', 'Policy: DHCP DNS Update'), ('policies/dhcp_leasetime', 'Policy: DHCP Lease Time'), ('policies/dhcp_netbios', 'Policy: DHCP Netbios'), ('policies/dhcp_routing', 'Policy: DHCP Routing'), ('policies/dhcp_statements', 'Policy: DHCP Statements'), ('policies/desktop', 'Policy: Desktop'), ('policies/xfree', 'Policy: Display'), ('policies/ldapserver', 'Policy: LDAP Server'), ('policies/mailquota', 'Policy: Mail Quota'), ('policies/maintenance', 'Policy: Maintenance'), ('policies/managedclientpackages', 'Policy: Packages Managed Client'), ('policies/masterpackages', 'Policy: Packages Master'), ('policies/memberpackages', 'Policy: Packages Member'), ('policies/mobileclientpackages', 'Policy: Packages Mobile Client'), ('policies/slavepackages', 'Policy: Packages Slave'), ('policies/pwhistory', 'Policy: Password Policy'), ('policies/print_quota', 'Policy: Print Quota'), ('policies/printserver', 'Policy: Print Server'), ('policies/release', 'Policy: Release'), ('policies/repositoryserver', 'Policy: Repository Server'), ('policies/repositorysync', 'Policy: Repository Sync'), ('policies/sound', 'Policy: Sound'), ('policies/thinclient', 'Policy: Thin Client'), ('policies/admin_container', 'Policy: Univention Admin Container Settings'), ('policies/share_userquota', 'Policy: Userquota-Policy'), ('settings/default', 'Preferences: Default'), ('settings/directory', 'Preferences: Path'), ('settings/admin', 'Preferences: Univention Admin Global Settings'), ('settings/user', 'Preferences: Univention Admin User Settings'), ('settings/xconfig_choices', 'Preferences: X Configuration Choices'), ('shares/printer', 'Print-Share: Printer'), ('shares/printergroup', 'Print-Share: Printer Group'), ('settings/license', 'Settings: License'), ('settings/lock', 'Settings: Lock'), ('settings/packages', 'Settings: Package List'), ('settings/printermodel', 'Settings: Printer Driver List'), ('settings/printeruri', 'Settings: Printer URI List'), ('settings/prohibited_username', 'Settings: Prohibited Usernames'), ('settings/sambaconfig', 'Settings: Samba Configuration'), ('settings/sambadomain', 'Settings: Samba Domain'), ('settings/service', 'Settings: Service'), ('settings/usertemplate', 'Settings: User Template'), ('shares/share', 'Share: Directory'), ('settings/cn', 'Univention Settings'), ('users/user', 'User'), ('users/passwd', 'User: Password'), ('users/self', 'User: Self')]
2359
	choices = [
2360
			('computers/managedclient', 'Computer: Managed Client'),
2361
			('computers/domaincontroller_backup', 'Computer: Domain Controller Backup'),
2362
			('computers/domaincontroller_master', 'Computer: Domain Controller Master'),
2363
			('computers/domaincontroller_slave', 'Computer: Domain Controller Slave'),
2364
			('computers/trustaccount', 'Computer: Domain Trust Account'),
2365
			('computers/ipmanagedclient', 'Computer: IP Managed Client'),
2366
			('computers/linux', 'Computer: Linux Client'),
2367
			('computers/macos', 'Computer: Mac OS X Client'),
2368
			('computers/memberserver', 'Computer: Member Server'),
2369
			('computers/mobileclient', 'Computer: Mobile Client'),
2370
			('computers/thinclient', 'Computer: Thin Client'),
2371
			('computers/windows', 'Computer: Windows'),
2372
			('container/cn', 'Container: Container'),
2373
			('container/dc', 'Container: Domain'),
2374
			('container/ou', 'Container: Organizational Unit'),
2375
			('dhcp/host', 'DHCP: Host'),
2376
			('dhcp/pool', 'DHCP: Pool'),
2377
			('dhcp/server', 'DHCP: Server'),
2378
			('dhcp/service', 'DHCP: Service'),
2379
			('dhcp/shared', 'DHCP: Shared Network'),
2380
			('dhcp/sharedsubnet', 'DHCP: Shared Subnet'),
2381
			('dhcp/subnet', 'DHCP: Subnet'),
2382
			('dns/alias', 'DNS: Alias Record'),
2383
			('dns/forward_zone', 'DNS: Forward Lookup Zone'),
2384
			('dns/host_record', 'DNS: Host Record'),
2385
			('dns/ptr_record', 'DNS: Pointer'),
2386
			('dns/reverse_zone', 'DNS: Reverse Lookup Zone'),
2387
			('dns/srv_record', 'DNS: Service Record'),
2388
			('dns/zone_mx_record', 'DNS: Zone Mail Exchanger'),
2389
			('dns/zone_txt_record', 'DNS: Zone Text'),
2390
			('groups/group', 'Group: Group'),
2391
			('mail/folder', 'Mail: IMAP Folder'),
2392
			('mail/domain', 'Mail: Mail Domains'),
2393
			('mail/lists', 'Mail: Mailing Lists'),
2394
			('networks/network', 'Networks: Network'),
2395
			('policies/autostart', 'Policy: Autostart'),
2396
			('policies/clientdevices', 'Policy: Client Devices'),
2397
			('policies/dhcp_scope', 'Policy: DHCP Allow/Deny'),
2398
			('policies/dhcp_boot', 'Policy: DHCP Boot'),
2399
			('policies/dhcp_dns', 'Policy: DHCP DNS'),
2400
			('policies/dhcp_dnsupdate', 'Policy: DHCP DNS Update'),
2401
			('policies/dhcp_leasetime', 'Policy: DHCP Lease Time'),
2402
			('policies/dhcp_netbios', 'Policy: DHCP Netbios'),
2403
			('policies/dhcp_routing', 'Policy: DHCP Routing'),
2404
			('policies/dhcp_statements', 'Policy: DHCP Statements'),
2405
			('policies/desktop', 'Policy: Desktop'),
2406
			('policies/xfree', 'Policy: Display'),
2407
			('policies/ldapserver', 'Policy: LDAP Server'),
2408
			('policies/mailquota', 'Policy: Mail Quota'),
2409
			('policies/maintenance', 'Policy: Maintenance'),
2410
			('policies/managedclientpackages', 'Policy: Packages Managed Client'),
2411
			('policies/masterpackages', 'Policy: Packages Master'),
2412
			('policies/memberpackages', 'Policy: Packages Member'),
2413
			('policies/mobileclientpackages', 'Policy: Packages Mobile Client'),
2414
			('policies/slavepackages', 'Policy: Packages Slave'),
2415
			('policies/pwhistory', 'Policy: Password Policy'),
2416
			('policies/print_quota', 'Policy: Print Quota'),
2417
			('policies/printserver', 'Policy: Print Server'),
2418
			('policies/release', 'Policy: Release'),
2419
			('policies/repositoryserver', 'Policy: Repository Server'),
2420
			('policies/repositorysync', 'Policy: Repository Sync'),
2421
			('policies/sound', 'Policy: Sound'),
2422
			('policies/thinclient', 'Policy: Thin Client'),
2423
			('policies/admin_container', 'Policy: Univention Admin Container Settings'),
2424
			('policies/share_userquota', 'Policy: Userquota-Policy'),
2425
			('settings/default', 'Preferences: Default'),
2426
			('settings/directory', 'Preferences: Path'),
2427
			('settings/admin', 'Preferences: Univention Admin Global Settings'),
2428
			('settings/user', 'Preferences: Univention Admin User Settings'),
2429
			('settings/xconfig_choices', 'Preferences: X Configuration Choices'),
2430
			('shares/printer', 'Print-Share: Printer'),
2431
			('shares/printergroup', 'Print-Share: Printer Group'),
2432
			('settings/license', 'Settings: License'),
2433
			('settings/lock', 'Settings: Lock'),
2434
			('settings/packages', 'Settings: Package List'),
2435
			('settings/printermodel', 'Settings: Printer Driver List'),
2436
			('settings/printeruri', 'Settings: Printer URI List'),
2437
			('settings/prohibited_username', 'Settings: Prohibited Usernames'),
2438
			('settings/sambaconfig', 'Settings: Samba Configuration'),
2439
			('settings/sambadomain', 'Settings: Samba Domain'),
2440
			('settings/service', 'Settings: Service'),
2441
			('settings/usertemplate', 'Settings: User Template'),
2442
			('shares/share', 'Share: Directory'),
2443
			('settings/cn', 'Univention Settings'),
2444
			('users/user', 'User'),
2445
			('users/passwd', 'User: Password'),
2446
			('users/self', 'User: Self'),
2447
			]
2360
2448
2361
	@classmethod
2449
	@classmethod
2362
	def parse(self, text):
2450
	def parse(self, text):
 Lines 2365-2382   class univentionAdminModules(select): Link Here 
2365
				return text
2453
				return text
2366
		raise univention.admin.uexceptions.valueInvalidSyntax, _('"%s" is not a Univention Admin Module.') % text
2454
		raise univention.admin.uexceptions.valueInvalidSyntax, _('"%s" is not a Univention Admin Module.') % text
2367
2455
2368
# Unfortunately, Python doesn't seem to support (static) class methods;
2456
	@classmethod
2369
# however, (static) class variables such as "choices" seem to work;
2457
	def _update(cls):
2370
# so, we'll modify "choices" using this global method
2458
		"""Dynamically update list of installed UDM modules."""
2371
def univentionAdminModules_update():
2459
		cls.choices = sorted([
2372
	temp = []
2460
				(name, univention.admin.modules.short_description(mod))
2373
	for name, mod in univention.admin.modules.modules.items():
2461
				for name, mod in univention.admin.modules.modules.items()
2374
		if not univention.admin.modules.virtual( mod ):
2462
				if not univention.admin.modules.virtual(mod)
2375
			temp.append( ( name, univention.admin.modules.short_description( mod ) ) )
2463
			], key=operator.itemgetter(1))
2376
2464
2377
	univentionAdminModules.choices = sorted( temp, key = operator.itemgetter( 1 ) )
2465
__register_choice_update_function(univentionAdminModules._update)
2378
2379
__register_choice_update_function(univentionAdminModules_update)
2380
2466
2381
class UDM_PropertySelect( complex ):
2467
class UDM_PropertySelect( complex ):
2382
	subsyntaxes = ( ( _( 'UDM module' ), string ), ( _( 'property' ), string ) )
2468
	subsyntaxes = ( ( _( 'UDM module' ), string ), ( _( 'property' ), string ) )

Return to bug 30387