Univention Bugzilla – Bug 28171
Überrarbeiten der Fehlermeldungen von Extended Attributes
Last modified: 2017-07-11 19:00:00 CEST
Ich habe auf einem UCS@school Singlemaster (3.0-1 errata93) das foldende Extended Attribute angelegt: DN: cn=ucsschoolRole,cn=custom attributes,cn=univention,dc=schoolrepo,dc=test ARG: None translationLongDescription: de_DE: ucsschoolRole objectClass: univentionUcsSchoolUser groupPosition: 0 module: users/user overwritePosition: None hook: None overwriteTab: None translationTabName: de_DE: ucsschoolRole shortDescription: ucsschoolRole groupName: ucsschoolRole version: 2 valueRequired: None CLIName: ucsschoolRole translationGroupName: de_DE: ucsschoolRole translationShortDescription: de_DE: ucsschoolRole fullWidth: None longDescription: None doNotSearch: None tabName: ucsschoolRole syntax: string tabAdvanced: None name: ucsschoolRole default: None mayChange: None multivalue: None ldapMapping: ucsschoolRole deleteObjectClass: 1 notEditable: 0 options: None tabPosition: 0 disableUDMWeb: None Öffne ich jetzt das ein Modul erhalte ich den folgenden Traceback: Die Ausf�hrung des Kommandos udm/superordinates ist fehlgeschlagen: Traceback (most recent call last): File '/usr/lib/pymodules/python2.6/univention/management/console/modules/__init__.py', line 102, in execute func( request ) File '/usr/lib/pymodules/python2.6/univention/management/console/modules/udm/__init__.py', line 572, in superordinates module = self._get_module( request ) File '/usr/lib/pymodules/python2.6/univention/management/console/modules/udm/__init__.py', line 99, in _get_module return UDM_Module( module_name ) File '/usr/lib/pymodules/python2.6/univention/management/console/modules/udm/udm_ldap.py', line 191, in __init__ self.load( module ) File '/usr/lib/pymodules/python2.6/univention/management/console/modules/udm/udm_ldap.py', line 201, in load self.module = _module_cache.get( module ) File '/usr/lib/pymodules/python2.6/univention/management/console/modules/udm/udm_ldap.py', line 130, in wrapper_func ret = func( *args, **kwargs ) File '/usr/lib/pymodules/python2.6/univention/management/console/modules/udm/udm_ldap.py', line 179, in get udm_modules.init( ldap_connection, ldap_position, self[ name ], template_object ) File '/usr/lib/pymodules/python2.6/univention/admin/modules.py', line 227, in init update_extended_attributes( lo, module, position ) File '/usr/lib/pymodules/python2.6/univention/admin/modules.py', line 595, in update_extended_attributes item.insert( ea_layout.position, ea_layout.name ) File '/usr/lib/pymodules/python2.6/univention/admin/layout.py', line 113, in insert if isinstance( self.layout[ currentLine ], basestring ): IndexError: list index out of range univention-management-console-frontend 1.0.324-1.320.201205311954 (24595)
(In reply to comment #0) > Ich habe auf einem UCS@school Singlemaster (3.0-1 errata93) das foldende > Extended Attribute angelegt: > > DN: cn=ucsschoolRole,cn=custom attributes,cn=univention,dc=schoolrepo,dc=test > ARG: None > translationLongDescription: de_DE: ucsschoolRole > objectClass: univentionUcsSchoolUser Ist denn ein Schema installiert, das die Objektklasse univentionUcsSchoolUser mitbringt? > groupPosition: 0 > module: users/user > translationTabName: de_DE: ucsschoolRole > shortDescription: ucsschoolRole > groupName: ucsschoolRole > version: 2 > CLIName: ucsschoolRole > translationGroupName: de_DE: ucsschoolRole > translationShortDescription: de_DE: ucsschoolRole > tabName: ucsschoolRole > syntax: string > name: ucsschoolRole > ldapMapping: ucsschoolRole > deleteObjectClass: 1 > notEditable: 0 > options: None > tabPosition: 0 Zitat aus dem 3.0-2 Handbuch (S. 62, K. 4.5): "Die Zählung der Eingabefelder beginnt auf der Karteikarte oben links mit 1." Wenn ich ein Attribut mit tabPosition=0 anlege, bekomme ich auch einen Traceback, mit tabPosition=1 geht dies ohne Probleme: ==================== eval "$(ucr shell)" for i in 1 2 3 5 7 8 9; do udm settings/extended_attribute create \ --ignore_exists \ --position "cn=custom attributes,cn=univention,$ldap_base" \ --set module="users/user" \ --set ldapMapping="univentionFreeAttribute$i" \ --set objectClass='univentionFreeAttributes' \ --set name="ucsschoolRole$i" \ --set shortDescription="ucsschoolRole$i" \ --set tabName='ucsschoolRole' \ --set tabPosition=$i \ --set CLIName="ucsschoolRole$i" \ --set syntax='string' \ --set deleteObjectClass='1' \ --set translationGroupName="de_DE ucsschoolRole" \ --set translationShortDescription="de_DE ucsschoolRole$i" \ --set translationTabName="de_DE ucsschoolRole" done ==================== → Verbesserungswürdig ist in der Tat die Fehlermeldung, mit der man nicht viel anfangen kann. Ich lasse dafür diesen Bug offen.
(In reply to comment #1) > (In reply to comment #0) > Ist denn ein Schema installiert, das die Objektklasse univentionUcsSchoolUser > mitbringt? Sicher. > → Verbesserungswürdig ist in der Tat die Fehlermeldung, mit der man nicht viel > anfangen kann. Ich lasse dafür diesen Bug offen. Ich denke hier könnte auch eine Syntaxprüfung auf einen Wert >0 helfen...
*** Bug 26678 has been marked as a duplicate of this bug. ***
We will not ship a UCS 3.1-2 release; the next UCS release will be UCS 3.2. As such, this bug is moved to the new target milestone.
This issue has been filed against UCS 3. UCS 3 is out of the normal maintenance and many UCS components have vastly changed in UCS 4. If this issue is still valid, please change the version to a newer UCS version otherwise this issue will be automatically closed in the next weeks.
*** This bug has been marked as a duplicate of bug 32781 ***