Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix reference widget lookups #2384

Merged
merged 81 commits into from
Sep 12, 2023
Merged

Conversation

ramonski
Copy link
Contributor

Description of the issue/feature this PR addresses

This PR fixes (and refactors) all AT reference widgets that returned no results when no query was given.

Current behavior before PR

AT reference widgets return no results if no query is given.

Desired behavior after PR is merged

AT reference widgets are refactored to ensure results are correctly returned

--
I confirm I have tested this PR thoroughly and coded it according to PEP8
and Plone's Python styleguide standards.

@ramonski ramonski requested a review from xispa September 11, 2023 20:29
@ramonski ramonski added Bug 🐞 Cleanup 🧹 Code cleanup and refactoring labels Sep 11, 2023
ramonski and others added 15 commits September 11, 2023 22:56
```
Traceback (innermost last):
  Module ZPublisher.WSGIPublisher, line 176, in transaction_pubevents
  Module ZPublisher.WSGIPublisher, line 385, in publish_module
  Module ZPublisher.WSGIPublisher, line 288, in publish
  Module ZPublisher.mapply, line 85, in mapply
  Module ZPublisher.WSGIPublisher, line 63, in call_object
  Module senaite.core.browser.widgets.referencewidget_search, line 29, in __call__
  Module senaite.core.browser.widgets.referencewidget_search, line 73, in search
  Module senaite.core.browser.widgets.referencewidget_search, line 47, in get_ref_data
  Module senaite.core.adapters.referencewidget.dataproviders, line 105, in to_dict
  Module senaite.core.adapters.referencewidget.dataproviders, line 50, in lookup
  Module bika.lims.content.batch, line 260, in getProgress
  Module bika.lims.content.batch, line 242, in getAnalysisRequests
  Module bika.lims.content.batch, line 234, in getAnalysisRequestsBrains
  Module Products.CMFCore.utils, line 13, in check_getToolByName
  Module Products.CMFCore.utils, line 139, in getToolByName
AttributeError: senaite_catalog_sample
```
Some functions from content types my rely on `aq_parent` (e.g objects that
implement `IClientAware`). Current decorator unwraps acquisition from the
object to extract data from, so functions that use acquisition fail

```
Traceback (innermost last):
  Module ZPublisher.WSGIPublisher, line 176, in transaction_pubevents
  Module ZPublisher.WSGIPublisher, line 385, in publish_module
  Module ZPublisher.WSGIPublisher, line 288, in publish
  Module ZPublisher.mapply, line 85, in mapply
  Module ZPublisher.WSGIPublisher, line 63, in call_object
  Module senaite.core.browser.widgets.referencewidget_search, line 29, in __call__
  Module senaite.core.browser.widgets.referencewidget_search, line 73, in search
  Module senaite.core.browser.widgets.referencewidget_search, line 47, in get_ref_data
  Module senaite.core.adapters.referencewidget.dataproviders, line 95, in to_dict
  Module senaite.core.adapters.referencewidget.dataproviders, line 64, in get_base_info
  Module senaite.core.adapters.referencewidget.dataproviders, line 50, in lookup
  Module bika.lims.content.analysisrequest, line 1466, in Description
AttributeError: 'AnalysisRequest' object has no attribute 'aq_parent'
```
Copy link
Member

@xispa xispa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for taking care of this!

@xispa xispa merged commit 87c3c9c into 2.x Sep 12, 2023
2 checks passed
@xispa xispa deleted the fix-at-uidreference-fields-with-no-catalog-set branch September 12, 2023 11:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

Successfully merging this pull request may close these issues.

2 participants