Bug 29034

Summary: Extended Option not possible for UDM objects not having at least one UDM Option already.
Product: UCS Reporter: Janis Meybohm <meybohm>
Component: UDM (Generic)Assignee: UMC maintainers <umc-maintainers>
Status: RESOLVED DUPLICATE QA Contact:
Severity: normal    
Priority: P5 CC: best, geerds, gohmann, hahn, klaeser
Version: UCS 4.1   
Target Milestone: UCS 3.2-x   
Hardware: Other   
OS: Linux   
What kind of report is it?: --- What type of bug is this?: ---
Who will be affected by this bug?: --- How will those affected feel about the bug?: ---
User Pain: Enterprise Customer affected?:
School Customer affected?: ISV affected?:
Waiting Support: Flags outvoted (downgraded) after PO Review:
Ticket number: Bug group (optional):
Max CVSS v3 score:

Description Janis Meybohm univentionstaff 2012-11-02 12:25:46 CET
Ich habe eine extended_option für das Modul mail/lists angelegt:
---
DN: cn=zarafa-maillist,cn=custom attributes,cn=univention,dc=zalish,dc=qa
ARG: None
  name: zarafa-maillist
  objectClass: zarafa-user
  default: 1
  editable: 1
  shortDescription: zarafa-maillist
  module: mail/lists
  longDescription: None
---

Möchte man jetzt eine Mailingliste anlegen, erhält man den folgenden Traceback:

---
Traceback (most recent call last):
  File '/usr/lib/pymodules/python2.6/univention/management/console/modules/__init__.py', line 195, in execute
    func( request )
  File '/usr/lib/pymodules/python2.6/univention/management/console/modules/udm/__init__.py', line 674, in properties
    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 200, in __init__
    self.load( module )
  File '/usr/lib/pymodules/python2.6/univention/management/console/modules/udm/udm_ldap.py', line 210, in load
    self.module = _module_cache.get( module )
  File '/usr/lib/pymodules/python2.6/univention/management/console/modules/udm/udm_ldap.py', line 139, in wrapper_func
    ret = func( *args, **kwargs )
  File '/usr/lib/pymodules/python2.6/univention/management/console/modules/udm/udm_ldap.py', line 188, in get
    udm_modules.init( ldap_connection, ldap_position, self[ name ], template_object )
  File '/usr/lib/pymodules/python2.6/univention/admin/modules.py', line 226, in init
    update_extended_options(lo, module, position)
  File '/usr/lib/pymodules/python2.6/univention/admin/modules.py', line 305, in update_extended_options
    objectClasses=classes)
AttributeError: 'module' object has no attribute 'options'
---
Comment 1 Philipp Hahn univentionstaff 2013-11-11 08:21:10 CET
For a different bug I did some research for options: It looks like they were later added to UDM, since the option-concept is optional: In object.__init__() self.options and self.oldoptions must be initializied manually to []. Only if those instance variables exists, does the core UDM code in univention.admin.handlers detect options, enable the [Option] tab and does all the magic stuff.
Since there is no hook for running code after creation, adding options to a UDM modules not having options initially does not work. Currently it only works for modules having at least one option already.
Comment 2 Florian Best univentionstaff 2016-06-21 12:00:23 CEST

*** This bug has been marked as a duplicate of bug 41580 ***