mirror of
https://github.com/univention/univention-corporate-server.git
synced 2025-10-26 11:17:13 +00:00
fix(udm): restore Python 2.7 compatibility
UMC modules running with Python 2.7 will decode JSON objects so that each decoded string is a unicode string.
Given that to the newly introduced `univention.admin.modules._get()` will break, due to explicit only check for `str`.
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/univention/management/console/base.py", line 387, in __error_handling
six.reraise(etype, exc, etraceback)
File "/usr/lib/python2.7/dist-packages/univention/management/console/base.py", line 285, in execute
function.__func__(self, request, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/univention/management/console/modules/decorators.py", line 189, in _response
return function(self, request)
File "/usr/lib/python2.7/dist-packages/ucsschool/lib/school_umc_ldap_connection.py", line 156, in wrapper_func
return func(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/univention/management/console/modules/licenses/__init__.py", line 1023, in get_license
self._import_licenses(license_handler, license_file, school)
File "/usr/lib/python2.7/dist-packages/univention/management/console/modules/licenses/__init__.py", line 997, in _import_licenses
import_license(license_handler, license)
File "/usr/lib/python2.7/dist-packages/univention/bildungslogin/license_import/__init__.py", line 134, in import_license
license_handler.create(license)
File "/usr/lib/python2.7/dist-packages/univention/bildungslogin/handlers.py", line 76, in create
udm_obj = self._licenses_mod.new()
File "/usr/lib/python2.7/dist-packages/univention/udm/modules/generic.py", line 565, in new
return self._load_obj('', superordinate)
File "/usr/lib/python2.7/dist-packages/univention/udm/modules/generic.py", line 768, in _load_obj
obj._copy_from_udm_obj()
File "/usr/lib/python2.7/dist-packages/univention/udm/modules/generic.py", line 342, in _copy_from_udm_obj
self.position = self._udm_module._get_default_object_positions()[0]
File "/usr/lib/python2.7/dist-packages/univention/udm/modules/generic.py", line 662, in _get_default_object_positions
default_containers = self._get_default_containers()
File "/usr/lib/python2.7/dist-packages/univention/udm/modules/generic.py", line 640, in _get_default_containers
mod = GenericModule('settings/directory', self.connection, 0)
File "/usr/lib/python2.7/dist-packages/univention/udm/modules/generic.py", line 554, in __init__
self._orig_udm_module = self._get_orig_udm_module()
File "/usr/lib/python2.7/dist-packages/univention/udm/modules/generic.py", line 691, in _get_orig_udm_module
univention.admin.modules.init(self.connection, po, udm_module)
File "/usr/lib/python2.7/dist-packages/univention/admin/modules.py", line 240, in init
univention.admin.ucr_overwrite_properties(module, lo)
File "/usr/lib/python2.7/dist-packages/univention/admin/__init__.py", line 73, in ucr_overwrite_properties
ucr_prefix = ucr_property_prefix % module.module
AttributeError: 'unicode' object has no attribute 'module'
Fixes: f56259d79
Bug #57146
This commit is contained in:
parent
6e5d14e15c
commit
59e66191f2
11
doc/errata/staging/univention-directory-manager-modules.yaml
Normal file
11
doc/errata/staging/univention-directory-manager-modules.yaml
Normal file
@ -0,0 +1,11 @@
|
||||
product: ucs
|
||||
release: "5.0"
|
||||
version: [6]
|
||||
scope: ucs_5.0-0-errata5.0-6
|
||||
src: univention-directory-manager-modules
|
||||
fix: 15.0.25-26
|
||||
desc: |
|
||||
This update addresses the following issues:
|
||||
* Compatibility with Python 2.7 has been restored, which was broken by
|
||||
erratum 991.
|
||||
bug: [57146]
|
||||
@ -1,3 +1,9 @@
|
||||
univention-directory-manager-modules (15.0.25-26) unstable; urgency=medium
|
||||
|
||||
* Bug #57146: restore Python 2.7 compatibility
|
||||
|
||||
-- Florian Best <best@univention.de> Thu, 14 Mar 2024 09:06:16 +0100
|
||||
|
||||
univention-directory-manager-modules (15.0.25-25) unstable; urgency=low
|
||||
|
||||
* Bug #50385: Fix UDM CLI server start
|
||||
|
||||
@ -206,7 +206,7 @@ def _get(module):
|
||||
"""
|
||||
if not modules:
|
||||
update()
|
||||
if isinstance(module, str):
|
||||
if isinstance(module, six.string_types):
|
||||
return modules[module]
|
||||
return module
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user