Bug 50950 - Disabling substring search causes traceback
Disabling substring search causes traceback
Status: NEW
Product: UCS
Classification: Unclassified
Component: UMC - Basic settings
UCS 4.4
Other Linux
: P5 normal (vote)
: ---
Assigned To: UMC maintainers
UMC maintainers
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2020-03-13 10:23 CET by Christian Völker
Modified: 2020-03-24 11:59 CET (History)
2 users (show)

See Also:
What kind of report is it?: Bug Report
What type of bug is this?: 4: Minor Usability: Impairs usability in secondary scenarios
Who will be affected by this bug?: 2: Will only affect a few installed domains
How will those affected feel about the bug?: 4: A User would return the product
User Pain: 0.183
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:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Christian Völker univentionstaff 2020-03-13 10:23:23 CET
UCS: 4.4-3 errata482
Installed: dhcp-server=12.0 radius=5.0 self-service=4.0 ucsschool=4.4 v4
Upgradable: 


ucr set directory/manager/web/auto_substring_search=no
systemctl restart univention-management-console-web-server.service 


Opening UMC module computers (red) results in a traceback and does not display any computer. When typing "*" in the search field it display all computers. Similar behaviour in other search fields but not tracebaack there (dhcp, dns, ...):
=================================================
Interner Server-Fehler in "udm/query (computers/computer)".
Request: udm/query (computers/computer)

  File "/usr/lib/python2.7/dist-packages/notifier/threads.py", line 80, in _run
    result = self._function()
  File "/usr/lib/python2.7/dist-packages/notifier/__init__.py", line 104, in __call__
    return self._function(*tmp, **self._kwargs)
  File "/usr/lib/python2.7/dist-packages/univention/management/console/modules/udm/__init__.py", line 605, in _thread
    result = module.search(container, objectProperty, objectPropertyValue, superordinate, scope=scope, hidden=hidden)
  File "/usr/lib/python2.7/dist-packages/univention/management/console/modules/udm/udm_ldap.py", line 681, in search
    result = self.module.lookup(None, ldap_connection, filter_s, base=container, superordinate=superordinate, scope=scope, sizelimit=sizelimit, **kwargs)
  File "/usr/lib/python2.7/dist-packages/univention/admin/handlers/computers/computer.py", line 130, in lookup
    res.extend(computer.lookup(co, lo, filter_s, base, superordinate, scope, unique, required, timeout, sizelimit))
  File "/usr/lib/python2.7/dist-packages/univention/admin/handlers/__init__.py", line 1733, in lookup
    filter_s = cls.lookup_filter(filter_s, lo)
  File "/usr/lib/python2.7/dist-packages/univention/admin/handlers/computers/__base.py", line 344, in lookup_filter
    lookup_filter_obj.append_unmapped_filter_string(filter_s, functools.partial(cls.rewrite_filter, lo=lo), module.mapping)
  File "/usr/lib/python2.7/dist-packages/univention/admin/filter.py", line 85, in append_unmapped_filter_string
    walk(filter_p, rewrite_function, arg=mapping)
  File "/usr/lib/python2.7/dist-packages/univention/admin/filter.py", line 246, in walk
    walk(e, expression_walk_function, conjunction_walk_function, arg)
  File "/usr/lib/python2.7/dist-packages/univention/admin/filter.py", line 251, in walk
    expression_walk_function(filter, arg)
  File "/usr/lib/python2.7/dist-packages/univention/admin/handlers/computers/__base.py", line 335, in rewrite_filter
    filter.transform_to_conjunction(univention.admin.filter.parse(univention.admin.filter.replace_fqdn_filter(str(filter))))
  File "/usr/lib/python2.7/dist-packages/univention/admin/filter.py", line 139, in transform_to_conjunction
    raise TypeError('must be conjunction, got %r (%r)' % (type(con).__name__, repr(con)))
TypeError: must be conjunction, got 'expression' ("expression('fqdn', '', '=')")

=================================================