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

Cannot create partitions from samples in received status #2024

Merged
merged 6 commits into from Jun 25, 2022

Conversation

xispa
Copy link
Member

@xispa xispa commented Jun 24, 2022

Description of the issue/feature this PR addresses

This Pull Request fixes the impossibility to create partitions because of #1965 . Reason is that sample partitions can only be created once the (primary) sample has been received. At this status, the permission "ReceiveSample" is not granted at this point, because the sample has been received already.

Current behavior before PR

Cannot create partitions

Desired behavior after PR is merged

Can create partitions

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

@ramonski ramonski merged commit 020e2a5 into 2.x Jun 25, 2022
@ramonski ramonski deleted the fix-create-partitions branch June 25, 2022 19:38
ramonski added a commit that referenced this pull request Aug 18, 2022
This fixes the regression in PR-2024 for PR-1839:

- #1839
- #2024
xispa pushed a commit that referenced this pull request Aug 21, 2022
* Fix allow sample partitions in submitted states

This fixes the regression in PR-2024 for PR-1839:

- #1839
- #2024

* Fixed test
Lunga001 added a commit to bikalims/senaite.core that referenced this pull request Aug 29, 2022
commit 13179f3
Author: Lunga Baliwe <lunga001@gmail.com>
Date:   Mon Mar 28 13:21:40 2022 +0200

    Fix Reference_Definitions, get AS by getKeyword

commit 47fbd32
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Sun Aug 21 12:54:38 2022 +0200

    Customized Quickinstaller Configlet (senaite#2118)

    * Customized quickinstaller

    * ZCML include package

    * Changelog updated

    * UTF8 header added

    Co-authored-by: Jordi Puiggené <jp@naralabs.com>

commit f1f8127
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Sun Aug 21 12:50:28 2022 +0200

    Customized User/Groups Preferences in Site Configuration (senaite#2117)

    * Customized userprefs controlpanel

    * Custom groups controlpanel

    * styling and formatting

    * Hide settings tabs

    * Custom group membership control panel

    * Groupdetails customized

    * Custom userdata panel

    * Customized user group membership

    * Changelog updated

    * Align checkbox center and middle

    Co-authored-by: Jordi Puiggené <jp@naralabs.com>

commit 06ad1e4
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Sun Aug 21 12:36:49 2022 +0200

    Fix allow sample partitions in submitted states (senaite#2116)

    * Fix allow sample partitions in submitted states

    This fixes the regression in PR-2024 for PR-1839:

    - senaite#1839
    - senaite#2024

    * Fixed test

commit 0a1f776
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Sun Aug 21 12:35:52 2022 +0200

    Fix insufficient privileges for instrument QC viewlet (senaite#2115)

    * Change permission for viewlet to zope2.View

    * Changelog updated

    Co-authored-by: Jordi Puiggené <jp@naralabs.com>

commit a43b535
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Sun Aug 21 12:34:51 2022 +0200

    Allow Multi Analysis Results Entry (senaite#2114)

    * First mockup of multi-edit view

    * Added action adapter for wf transition

    * Added custom WF transition and rolemap

    * Filter out listing transitions

    * Switched to WF adapter

    * Changed to workflow action UID adapter

    * Show tabs for PoCs

    * Implemented show/hide functionality

    * Hanldle no visible analyses

    * Handle redirect URL in add form

    * Added setup option for immediate results entry

    * Handle results entry from stickers view

    * Fixed return value

    * Changelog updated

    * Added header and back link

    * Removed transition from invalid states

    * Changed schemata and added i18n identifiers

    * Added guard

    * Changed category to hide transition from WF menu

    * Better rolemap

    * Use the same permission as for the transition

    * Add all roles again

    * Rolemap reworked

commit da17b15
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Mon Aug 15 13:16:36 2022 +0200

    Replace header table with customizable sample header viewlet (senaite#2111)

    * Implemented viewlet stub for sample header

    * Removed header table import

    * Added some field methdos

    * Header table mockup

    * Fixed wrong interface

    * Field mockup for widgets

    * Changed CSS

    * Render widgets and labels

    * Styling

    * Field rendering

    * Widget rendering

    * Render required marker

    * Implemented form handling

    * Allow multiple columns for prominent table as well

    * Toggle standard fields visibility

    * Styling improved

    * Added CSS classes

    * Render tooltips

    * Added link to manage sample fields

    * Added JS for datetime fields

    * Changed naming

    * First mockup of manage view

    * Redirect to page URL

    * Implemented prominent/standard field switcher

    * Implemented registry to hold config settings

    * Use config to setup template

    * Write updated config to registry

    * Use field order from settings

    * Handle falsy values

    * Use fields from config

    * Skip invisible fields in manage view

    * Implemented reset functionality

    * Handle field visibility

    * Handle registry record update failure

    * Some refactoring and docstrings

    * Handle new appeared fields in manage view

    * Better naming

    * Code refactoring and cleanup

    * Disable header table completely

    * Allow to hide the header table completely

    * Check save button on form submission

    * Removed unused method

    * Removed old header_table code and template

    * Changelog updated

    * Added missing comment

    * Added missing word in description

commit ab37e34
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Thu Aug 11 15:01:53 2022 +0200

    Add a more descriptive message for "Reject" action inside a Worksheet (senaite#2110)

commit 269d16f
Author: Winnie <winniehell@users.noreply.github.com>
Date:   Tue Aug 9 09:17:11 2022 +0200

    Enable check for undefined variables (F821) (senaite#2105)

    * Enable check for undefined variables (F821)

    * Remove undefined position from worksheet

    * Ignore unknown variables in Zope scripts

    * Add missing imports

    * Fix copy&paste mistake in tima

    * Fix typo in ulite

commit 7bb4b86
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Sun Aug 7 19:10:22 2022 +0200

    Fix result formatting when result is below LDL or above UDL (senaite#2104)

    * Migrate LDL/UDL FixedPoint -> StringField

    * Changelog updated

    * Cleanup of the migration steps

    * Fixed typo

    * Re-added custom getters

    * Handle positive scientific formats in API

    * Format LDL/UDL with decimal notation

    * fix test

    * Changelog updated

    * Cut off trailing zeros

    Co-authored-by: Jordi Puiggené <jp@naralabs.com>

commit 6101d0f
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Sun Aug 7 19:06:22 2022 +0200

    Convert LDL/UDL fields to string (senaite#2103)

    * Migrate LDL/UDL FixedPoint -> StringField

    * Changelog updated

    * Cleanup of the migration steps

    * Fixed typo

    * Re-added custom getters

    * Cut off trailing zeros

    Co-authored-by: Jordi Puiggené <jp@naralabs.com>

commit b0267f6
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Sun Aug 7 19:00:29 2022 +0200

    Add help text for numeric result (senaite#2101)

    * Added help text for numeric result

    * Graceful handling if no help dictionary is in item

    * Changelog updated

    * Update CHANGES.rst

commit 45bfb2a
Author: Winnie <winniehell@users.noreply.github.com>
Date:   Sat Aug 6 14:36:48 2022 +0200

    Restrict flake8 to senaite.core and bika.lims (senaite#2102)

commit dc1c365
Author: Winnie <winniehell@users.noreply.github.com>
Date:   Sat Aug 6 14:18:45 2022 +0200

    Enable check for bare 'except' blocks (E722) (senaite#2100)

    * Enable check for bare 'except' blocks (E722)

    * Remove unnecessary noqa statements

commit ddc039e
Author: Winnie <winniehell@users.noreply.github.com>
Date:   Sat Aug 6 14:14:58 2022 +0200

    Enable check for unused variables (F841) (senaite#2099)

commit 66d390c
Author: Winnie <winniehell@users.noreply.github.com>
Date:   Sat Aug 6 14:10:59 2022 +0200

    Enable check for 'return' outside function (F706) (senaite#2098)

    * Enable check for 'return' outside function (F706)

    * Fix comparison to literals (F632)

    * Fix redefinition in list comprehension (F812)

commit ab603e4
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Fri Aug 5 10:01:23 2022 +0200

    Fix Attribute Error in Multi- Sample Add form when current user is linked to a client contact (senaite#2097)

    * Fix AttributeError for multi AR add form copy

    * fixed center alignment

    * Changelog updated

commit 2114287
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Fri Aug 5 09:54:27 2022 +0200

    Convert uncertainty field to string (senaite#2096)

    * Implemented float to string API function

    * Converted Uncertainty field to StringField

    * Converted methods to handle strings

    * Added migration step

    * Ensure we have a string result for interpolations

    * Handle different exponential notation

    * Set unfloatable uncertainty values to None

    * Don't float default value

    * added default return values

    * Fix test

    * Return empty string when field is not set

    * Convert to float in formatting function

    * Handle integer values

    * Fixed wrong interpolator

    * Always format manual uncertainty with full precision

    * convert to float for comparison

    * fixed test

    * set uncertainty to None if on a detection limit

    * Remove unsed import

    * Added doctest

    * Added another test

    * Doctest description

    * Added test for uncertainty value as percentage of the result

    * Added test for floating point arithmetic

    * Removed newlines

commit 30532ab
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Wed Aug 3 12:27:12 2022 +0200

    Fix rounded uncertainty value is stored in the database (senaite#2095)

    * Avoid the formatted uncertainty in edit mode

    * Changelog updated

commit 42d188c
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Wed Aug 3 11:21:17 2022 +0200

    Skip Auditlog catalog if disabled for DX types catalog multiplexer (senaite#2094)

    * Check if Auditlog disabled in catalogmultiplexer

    * Be graceful when setup container is not yet there

    * Changelog updated

commit 3b5a320
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Wed Aug 3 11:19:05 2022 +0200

    Reduce logging in localrole adapter (senaite#2093)

commit ac82000
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Tue Aug 2 10:55:18 2022 +0200

    Add support for dates before 1900 (senaite#2090)

    * Catch ValueError in datetimewidget

    Traceback:
    ```
    Traceback (innermost last):
      Module ZServer.ZPublisher.Publish, line 144, in publish
      Module ZPublisher.mapply, line 85, in mapply
      Module ZServer.ZPublisher.Publish, line 44, in call_object
      Module bika.lims.browser.analysisrequest.view, line 42, in __call__
      Module bika.lims.browser.header_table, line 99, in __call__
      Module Products.Five.browser.pagetemplatefile, line 126, in __call__
      Module Products.Five.browser.pagetemplatefile, line 61, in __call__
      Module zope.pagetemplate.pagetemplate, line 135, in pt_render
      Module Products.PageTemplates.engine, line 378, in __call__
      Module z3c.pt.pagetemplate, line 176, in render
      Module chameleon.zpt.template, line 302, in render
      Module chameleon.template, line 215, in render
      Module chameleon.template, line 192, in render
      Module b5af7af227d0614ddb683e49ef7fbcf2, line 576, in render
      Module f84d498475cc404181368cde9fa956bc, line 379, in render_edit
      Module d88bffbebbf4e01f15a333556ab23c2e, line 702, in render_edit
      Module f84d498475cc404181368cde9fa956bc, line 323, in __fill_widget_body
      Module zope.tales.pythonexpr, line 73, in __call__
       - __traceback_info__: (widget.get_time(value) if value else '')
      Module <string>, line 1, in <module>
      Module senaite.core.browser.widgets.datetimewidget, line 88, in get_time
      Module DateTime.DateTime, line 1566, in strftime
    ValueError: year=1111 is before 1900; the datetime strftime() methods require year >= 1900
    ```

    * Handle dates before 1900 gracefully in dtime API

    * Support date before 1900 in DX datewidget

    * Support date before 1900 in searchable text tokens

    * Support dates < 1900 in samples view

    * Moved to_localized_time to date API

    * Pad a zero if value is a single digit

    * Changelog updated

    * Fix tests and added some more

    * Make flake8 happy

    * Removed unused imports

    * Ensure DateTime object when a string was passed in

    Co-authored-by: Jordi Puiggené <jp@naralabs.com>

commit 1da8e42
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Tue Aug 2 09:54:13 2022 +0200

    Fix LDL/UDL cut-off and exponential float conversion (senaite#2089)

    * Remove custom LDL/UDL getters

    * Marked method getDetectionLimits() as deprecated

    * Manually convert string values of LDL/UDL

    * Added default values

    * Manually convert LDL/UDL to float

    * Fix test

    * Higher precision in LDL/UDL fields

    Also handle trailing zeros and possible trailing dot

    * Convert LDL/UDL to float in calculation

    * Changelog updated

commit 92d9bee
Author: Winnie <winniehell@users.noreply.github.com>
Date:   Tue Aug 2 09:34:26 2022 +0200

    Enable checks for multiple imports on same line (E401) and "import *" (F403, F405) (senaite#2092)

    * Remove unused import

    * Enable check for multiple imports on one line (E401)

    * Enable check for "import *" (F403)

    * Enable check for "import *" (F405)

    * Remove unnecessary commas from flake8 config

commit 3b16764
Author: Winnie <winniehell@users.noreply.github.com>
Date:   Tue Aug 2 09:32:56 2022 +0200

    Enable checks for "not in" order (E713) and semicolon at line end (E703) (senaite#2091)

    * Remove unused import

    * Enable check for "not in" order (E713)

    * Enable check for semicolon at line end (E703)

    * Clean up existing violations of E703 and E713

commit 09a552c
Author: Winnie <winniehell@users.noreply.github.com>
Date:   Mon Aug 1 23:06:00 2022 +0200

    Use isinstance for comparing types (E721) (senaite#2087)

    Co-authored-by: Ramon Bartl <rb@ridingbytes.com>

commit 737e6a6
Author: Winnie <winniehell@users.noreply.github.com>
Date:   Mon Aug 1 23:01:15 2022 +0200

    Fix multiple statements on one line (E701) (senaite#2086)

commit 72f4904
Author: Winnie <winniehell@users.noreply.github.com>
Date:   Mon Aug 1 22:58:31 2022 +0200

    Extend default ignores of flake8 (senaite#2085)

    * Extend default ignores of flake8

    * Fix redefinition of unused name (F811)

commit c716c8f
Author: Winnie <winniehell@users.noreply.github.com>
Date:   Mon Aug 1 22:54:52 2022 +0200

    Enable checks for mismatching format arguments (F523, F524) (senaite#2084)

    * Enable checks for mismatching format arguments (F523, F524)

    * Remove unnecessary format argument from analysisrequest.py

    * Fix format argument index in exportimport.setupdata

commit b2122d5
Author: Winnie <winniehell@users.noreply.github.com>
Date:   Mon Aug 1 22:50:40 2022 +0200

    Remove or ignore unused imports (F401) (senaite#2081)

    * Remove unused imports (F401)

    * Ignore unused imports in exportimport.instruments

    * Remove unused imports from browser.viewlets.toolbar

    * Remove unused imports from browser.form.adapters.sampletype

    * Remove unused imports from browser.fields.record

    * Ignore unused imports in behaviors

    * Remove unused imports from exportimport.dataimport

    * Remove unused imports from exportimport.instruments

    * Remove unused imports from numbergenerator

    * Remove unused imports from jsonapi

    * Ignore unused imports in skins.bika.guard_handler

    * Remove unused imports from content.referencesample

    * Remove unused imports from content.worksheetfolder

    * Remove unused imports from content.bikasetup

    * Remove unused imports from content.instrumenttype

    * Remove unused imports from content.duplicateanalysis

    * Remove unused imports from content.referencedefinition

    * Remove unused imports from content.manufacturer

    * Remove unused imports from content.report

    * Remove unused imports from browser.analysisprofile

    * Ignore unused imports in browser.worksheet.views

    * Remove unused imports in browser.department.ajax

    * Remove unused imports in browser.viewlets.analysisrequest

    * Ignore unused imports in browser.analyses

    * Remove unused imports in browser.analyses.view

    * Ignore unused imports in browser.client

    * Ignore unused imports in browser.widgets

    * Remove unused imports in browser.widgets.rejectionwidget

    * Ignore unused imports in browser.analysisrequest.analysisrequests

    * Ignore unused imports in browser.analysisrequest

    * Remove unused imports in browser.reports

    * Remove unused imports in lims.api.analysis

    * Remove unused imports in lims.monkey.Widget

    * Ignore unused imports in subscribers

    * Ignore unused imports in interfaces

    * Enable E712 in flake8

commit cff8ad0
Author: Winnie <winniehell@users.noreply.github.com>
Date:   Mon Aug 1 22:40:58 2022 +0200

    Replace dynamic code execution with dynamic import in reports (senaite#2078)

    * Replace dynamic code execution with dynamic import in reports

    * Use importlib instead of __import__

    * Add changelog entry

    * Add missing line break in senaitesetup.py

commit 5b3b7d8
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Mon Aug 1 10:40:57 2022 +0200

    Lookup workflow action redirect URL from request first (senaite#2083)

    * Lookup redirect URL from request

    * Changelog updated

    Co-authored-by: Jordi Puiggené <jp@naralabs.com>

commit 2c3152e
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Mon Aug 1 10:38:20 2022 +0200

    Include sample ID in form ID for lab, field and qc analyses listings (senaite#2082)

    * Include sample ID in listing table form ID

    * Use % substitutions

    * Changelog updated

    Co-authored-by: Jordi Puiggené <jp@naralabs.com>

commit f3b9200
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Mon Aug 1 10:29:08 2022 +0200

    Allow to override logo and styles in new SENAITE Setup (senaite#2075)

    * Patched catalog_object method

    * Added schema fields in senaite_setup

    * Hide setup tile when auditlogging is disabled

    * Added proxy fields in bika_setup

    * Changelog updated

    * Update src/bika/lims/content/bikasetup.py

    Co-authored-by: Winnie <winniehell@users.noreply.github.com>

    * Show status message when auditlog is disabled

    * Added sitelogo view

    * Added Logo/CSS fields to SENAITE setup

    * Check setup in toolbar logo view

    * Changelog

    * Be graceful for not-yet-migrated sites

    Co-authored-by: Winnie <winniehell@users.noreply.github.com>
    Co-authored-by: Jordi Puiggené <jp@naralabs.com>

commit 5f99f12
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Mon Aug 1 10:19:56 2022 +0200

    Fix style of selected language in dropdown (senaite#2076)

    * Fix style of selected language in dropdown

    * Changelog

    * Update CHANGES.rst

    Co-authored-by: Jordi Puiggené <jp@naralabs.com>

commit 825e8c9
Author: Winnie <winniehell@users.noreply.github.com>
Date:   Fri Jul 29 16:07:04 2022 +0200

    Clean up comparison to False (E712) (senaite#2079)

commit 90f68aa
Author: Winnie <winniehell@users.noreply.github.com>
Date:   Fri Jul 29 16:05:11 2022 +0200

    Enable flake8 for new violations in Travis CI (senaite#2077)

    * Enable flake8 for new violations in Travis CI

    * Manually install flake8 in Travis CI

    * Fix path to flake8

commit fa5b48b
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Thu Jul 28 13:50:12 2022 +0200

    Allow to disable global Auditlogging (senaite#2074)

    * Patched catalog_object method

    * Added schema fields in senaite_setup

    * Hide setup tile when auditlogging is disabled

    * Added proxy fields in bika_setup

    * Changelog updated

    * Update src/bika/lims/content/bikasetup.py

    Co-authored-by: Winnie <winniehell@users.noreply.github.com>

    * Show status message when auditlog is disabled

    Co-authored-by: Winnie <winniehell@users.noreply.github.com>

commit b4f47e1
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Wed Jul 27 17:08:57 2022 +0200

    Use <br/> to join recipients (senaite#2073)

commit b88d4bf
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Wed Jul 27 10:02:11 2022 +0200

    Refactor report filename generation to own method (senaite#2072)

    * Refactor report filename generation to own method

    * Changelog

    * Added filename method to download view as well

    * typo

    Co-authored-by: Jordi Puiggené <jp@naralabs.com>

commit 5566d6b
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Wed Jul 27 09:57:02 2022 +0200

    Move sample reports to report catalog, add batch ID and email sent flag to listing (senaite#2071)

    * Include Batch column in reports listing

    * Move ARReport to Report Catalog

    * Changelog added

    * Include email recipients in search index as well

    * Added email sent column

    * changelog changed

    * changelog

commit 8cddcef
Author: Winnie <winniehell@users.noreply.github.com>
Date:   Tue Jul 26 21:55:53 2022 +0200

    Fix typo/duplicate translation key in colophon (senaite#2070)

    * Fix typo/duplicate translation key in colophon

    * Add changelog entry

commit 1c23755
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Tue Jul 26 21:16:08 2022 +0200

    Replace ParentAnalysisRequest ReferenceField by UIDReferenceField (senaite#2069)

    * Replace ReferenceField by UIDReferenceField

    * Rewrite getDescendants function

    * Better comment

    * Changelog

    * Simplify

commit ff1102e
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Tue Jul 26 15:12:27 2022 +0200

    Fix samples w/o active analyses are displayed under "unassigned" filter (senaite#2066)

    * Fix samples w/o active analyses are displayed under "unassigned" filter

    * Whitespace end of file

    * Take partitions into consideration

    Co-authored-by: Ramon Bartl <rb@ridingbytes.com>

commit 696054e
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Tue Jul 26 13:22:02 2022 +0200

    Fix "Create Worksheet" modal visible for samples w/o unassigned analyses (senaite#2065)

    * Do not allow "Create Worksheet" action unless one unassigned analysis

    * No need to wake up the analysis objects

    * Fix "unassigned_state" for samples

    * Changelog

    * Revert "Fix "unassigned_state" for samples"

    This reverts commit 2359c5a.

commit 0b458c2
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Mon Jul 25 09:41:50 2022 +0200

    Fix Traceback for SENAITE Setup during installation (senaite#2064)

commit 3874f56
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Fri Jul 22 10:44:57 2022 +0200

    Allow to customize email publication template in setup (senaite#2063)

    * Implemented SENAITE Registry

    * Allow to set publication email body text in Setup

    * Implemented SENAITE RichTextField

    * Use new RichTextField for registry

    * Use body text for email from setup

    * send HTML Emails

    * Test fixture

    * Added test for HTML email

    * Added upgrade step

    * Fix bypassed default factory

    * Description changed

    * Added SENAITE Setup Object

    * Proxy to SENAITE setup

    * Moved to SENAITE Setup

    * WYSIWYG Support

    * Handle default value

    * Added test for API

    * Added test for setup

    * Changelog updated

commit 353ef78
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Tue Jul 19 13:36:28 2022 +0200

    Fix listing not updated after instrument assignment in Worksheet's view (senaite#2062)

    * Refresh worksheet after instrumnent assignment

    * Changelog

    * Fix listing not updated after instrument assignment in Worksheet's view

    * Use a reload event for the refresh of the analyses listing

commit 5adaf31
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Mon Jul 18 09:48:00 2022 +0200

    Fire notifications when UID references are created/destroyed (senaite#2061)

    * Fire notifications when references are created/destroyed

    * Changelog updated

    * Docstring added

commit 5d9b1d1
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Thu Jul 14 20:53:00 2022 +0200

    Filter 'Interpretation templates' in sample view by template and type (senaite#2058)

    * Allow to filter 'Interpretation templates' by sample template and type

    * Changelog

    * Remove pdb

commit a4e5247
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Tue Jul 12 12:16:59 2022 +0200

    Fix catalog logging counter duplicates (senaite#2048)

    * Fix recatalog logging counter

    * Changelog

commit 7025319
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Fri Jul 8 12:02:42 2022 +0200

    Make resultsinterpretations template to rely on the viewlet for departments retrieval (senaite#2047)

    * Make resultsinterpretatoin viewlet to rely on a get_panels to retrieve the text areas

    * Changelog

commit 42cd40e
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Tue Jul 5 22:27:48 2022 +0200

    Fix instrument types instruments view (senaite#2045)

    * Fix instrumenttypes instruments listing view

    * Changelog

commit 7f87e20
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Tue Jul 5 15:34:16 2022 +0200

    Skip Invoice for content exports (senaite#2044)

    * Skip Invoice in export

    * Changelog
Lunga001 added a commit to bikalims/senaite.core that referenced this pull request Oct 6, 2022
commit 53afe39
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Tue Oct 4 09:45:43 2022 +0200

    Fix F841 local variable 'setup' is assigned to but never used

commit b5e3b5e
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Mon Oct 3 23:35:08 2022 +0200

    Version bump v2.4.0

commit e81a501
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Mon Oct 3 23:27:23 2022 +0200

    Release 2.3.0 (221003)

commit 9d8ae18
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Sun Oct 2 15:48:26 2022 +0200

    Updated translations (senaite#2155)

commit e7862b2
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Fri Sep 30 13:10:14 2022 +0200

    Update CHANGES.rst

commit 5609a01
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Fri Sep 30 13:07:40 2022 +0200

    Improve default body text for email publication to allow translations (senaite#2153)

    * Added template variables for lab name/address

    * Default template updated

    * Use only lab name in default body text

    * Changed labels and descriptions

    * Wrap into message factory

commit ab07811
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Thu Sep 29 20:07:07 2022 +0200

    Updated translations from Transifex (senaite#2152)

commit 6cc1a46
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Thu Sep 29 11:24:44 2022 +0200

    Added api.copy_object function for both DX and AT types (senaite#2151)

    * Improve the function for the creation of AT content types

    * Fix doctest BatchClientAssignment

    * Check permission when editing object unless temporary

    * Move the internal import outside of the loop

    * Save one reindex

    * Explicitly bypass permission check on creation

    * Additional doctest snippet to ensure that new objects are properly indexed

    * Added `api.copy_object` function for both DX and AT types

    Co-authored-by: Ramon Bartl <rb@ridingbytes.com>

commit 5133315
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Thu Sep 29 11:19:39 2022 +0200

    Improve the creation process of AT content types (senaite#2150)

    * Improve the function for the creation of AT content types

    * Fix doctest BatchClientAssignment

    * Check permission when editing object unless temporary

    * Move the internal import outside of the loop

    * Save one reindex

    * Explicitly bypass permission check on creation

    * Additional doctest snippet to ensure that new objects are properly indexed

commit bb5fa7e
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Tue Sep 27 20:50:37 2022 +0200

    Performance: prioritize raw getter for AllowedMethods field (senaite#2149)

    Co-authored-by: Ramon Bartl <rb@ridingbytes.com>

commit 6d4760e
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Tue Sep 27 20:49:28 2022 +0200

    Performance: prioritize raw getter for AllowedInstruments field (senaite#2148)

    * Performance: prioritize raw getter for AllowedInstruments field

    * Do not wakeup instrument unless strictly necessary

    * Extract the UIDs of method instruments for proper comparison

    * Remove whitespace

    * Retrieval of full objects is recommended sometimes

    * Simplify getRawInstrument function

    * Remove unnecessary fallback to list

commit 55d0fbd
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Tue Sep 27 13:07:44 2022 +0200

    Remove stale function workflow.getReviewHistory (senaite#2147)

    * Remove stale function workflow.getReviewHistory

    * Fix F401 'bika.lims.workflow as wf' imported but unused

    Co-authored-by: Ramon Bartl <rb@ridingbytes.com>

commit 29276a8
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Tue Sep 27 13:05:43 2022 +0200

    Fix "No object found for UID: <laboratory_uid>" in report preview (senaite#2146)

    * Fix laboratory content type is not properly indexed

    * Move setup_catalogs_order to setuphandlers

commit 11b3967
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Tue Sep 27 11:55:29 2022 +0200

    Crop page navigation for DX reference widget (senaite#2145)

    * Crop large page navigation for reference widget

    * changelog updated

    * Crop between current and last page

    * Formatting only

    * Production JS

    * Comments only

    * Rebuild production JS

    * Rebuilt JS

commit 82bd3cc
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Mon Sep 26 20:04:21 2022 +0200

    Ajax submit transition page refresh (senaite#2142)

    * Implemented event handler

    * Additional DOM attributes

    * Production JS

    * Improved page reload logic

    NOTE:  Requires senaite/senaite.app.listing#92

    * Production JS

    * Better naming

    * Remove portal_type check

    * Build js

    * Better comment

    * Build js

    Co-authored-by: Jordi Puiggené <jp@naralabs.com>

commit 1014fab
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Mon Sep 26 16:47:08 2022 +0200

    Remove owner from default rolemap (senaite#2144)

commit eef5950
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Mon Sep 26 13:48:32 2022 +0200

    Fix Traceback when using reaodnly_transaction decorator for objects with no __name__ (senaite#2143)

    * Fix Traceback when using decorator for objects with no __name__

    * Changelog

commit 1713351
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Sat Sep 24 22:23:06 2022 +0200

    Added readonly transaction decorator (senaite#2141)

commit 95472cd
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Sat Sep 24 22:19:56 2022 +0200

    Allow to enable/disable analysis categories for samples (senaite#2140)

    * Added senaite setup schema field

    * Added proxy for bika setup

    * Enable/Disable analyses categories for samples

    * Changelog updated

    * spelling

    * Do not automatically expand on every update

    * Check if the context is a sample

    Co-authored-by: Jordi Puiggené <jp@naralabs.com>

commit 5c04635
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Fri Sep 23 09:00:34 2022 +0200

    Dynamic Workflow Menu (senaite#2137)

    * Added menu provider

    * Implemented WF Menu Updater

    * Production JS

    * Changelog updated

    * Handle no workflow menu views, e.g. multi_results

    * Production JS

    * Log warning instead of throwing an error

    * Production JS

    * Do not repace WF menu if the server responded exceptionally

    * Production JS

    * Fetch the current url from the attribute dataset

    * Comment updated

commit 36ece05
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Wed Sep 21 13:55:04 2022 +0200

    Fix LabClerk cannot create partitions from received samples (senaite#2139)

commit 6fac67b
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Wed Sep 21 06:32:15 2022 +0200

    Always redirect multi-results to samples view (senaite#2138)

commit 51aaa26
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Wed Sep 21 06:30:20 2022 +0200

    Catalog mapping for Samples and Analyses (senaite#2130)

    * Added doctest

    * Map Analysis and Sample to their own catalogs

    * Changelog

    * Added upgrade step

    * Remap auditlog catalog

    * Removed duplicate line

    * Added missing types

    * Fixed catalog mapping for worksheet

    * Added doctest for mapped catalogs

commit 3d481fe
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Wed Sep 21 06:28:44 2022 +0200

    Fix unit overlapping with additional icons (senaite#2136)

commit 341f853
Author: Winnie <winniehell@users.noreply.github.com>
Date:   Tue Sep 20 14:03:29 2022 +0200

    Remove # noqa comments (senaite#2124)

    * Remove # noqa from all files

    * Ignore import issues in meta packages

    * Remove dead code from pre_install()

    * Ignore F821 for global app variable

    * Remove unused import from instrument package

commit 44914a3
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Tue Sep 20 14:00:20 2022 +0200

    Add a default date for batch creation (merge branch for senaite#2132) (senaite#2135)

    * Add a default date for batch creation

    * Updating CHANGES.rst

    * imports sorted

    Co-authored-by: Arneldo <ta.arneldo@gmail.com>

commit 8a073ab
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Mon Sep 19 17:01:24 2022 +0200

    Allow to edit the analysis service sort keys in the services listing (senaite#2131)

    * Added datamanager for analysis services

    * Allow to edit the service sortkey in the listing

    * Changelog updated

    * Set refetch flag

    * Added column help text

    * Change help key to be equal to the colum key

    Co-authored-by: Jordi Puiggené <jp@naralabs.com>

commit 1c3f4a9
Author: Lunga <lunga001@gmail.com>
Date:   Mon Sep 19 16:02:10 2022 +0200

    Filter Contact and CCContact by Client on first click (senaite#2133)

    * LIMS-1735 Filter Contact and CCContact by Client on first click

    * Changelog

    Co-authored-by: Jordi Puiggené <jp@naralabs.com>

commit 9829b28
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Mon Sep 19 15:45:03 2022 +0200

    Render unit after result and interim fields (senaite#2134)

    * Added helper method to render the unit

    * Render the unit after the result field

    * Render unit after interim fields

    * Changelog added

commit 62b538b
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Tue Sep 13 14:42:04 2022 +0200

    Fix Traceback when invalidating a Sample with Remarks (senaite#2129)

    * Omit Remarks field when creating a retest from an invalidated sample

    * Do not reindex unless non-temporary when Remarks value is set

    * Changelog

    * Misspelling

    * Add doctest that checks if value for Remarks field is copied in retests

commit 97ce14b
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Sun Sep 11 09:20:29 2022 +0200

    Fix referenceresults widget view mode (senaite#2128)

commit 430a247
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Sun Sep 11 09:18:07 2022 +0200

    Fix instrument expiry date display in listing view (senaite#2127)

    * Fix instrument expiry date

    * Changelog updated

commit 060f603
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Thu Sep 8 23:06:57 2022 +0200

    Fixed typo in upgrade step (senaite#2126)

commit 367b574
Author: Winnie <winniehell@users.noreply.github.com>
Date:   Thu Sep 8 22:17:35 2022 +0200

    Add GitHub action workflow to replace Travis CI (senaite#2125)

    * Add GitHub action workflow to replace Travis CI

    * Delete Travis CI config

commit ff07a9f
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Thu Sep 8 13:20:26 2022 +0200

    Add Sample Form: Save and Copy Action (senaite#2123)

    * Handle Save&Copy action

    * Implemented JS logic

    * Added sample action

    * Changelog added

    * Comment only

commit edc6a53
Author: Winnie <winniehell@users.noreply.github.com>
Date:   Tue Sep 6 12:54:49 2022 +0200

    Enable remaining flake8 checks (W601, W605, F901) (senaite#2109)

    * Enable check for .has_key() (W601)

    * Enable check for invalid escape sequences (W605)

    * Enable check for NotImplementedError (F901)

commit 321cdfb
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Tue Aug 30 16:39:42 2022 +0200

    Fix linked client contact user can not see existing samples (senaite#2119)

    * Better styling for contact login details page

    * Smaller input boxes

    * Reindexing object after user linking

    * changelog updated

    * Update src/bika/lims/browser/templates/login_details.pt

    Co-authored-by: Winnie <winniehell@users.noreply.github.com>

    * Update src/bika/lims/browser/templates/login_details.pt

    Co-authored-by: Winnie <winniehell@users.noreply.github.com>

    * Reindex only allowedRolesAndUsers

    Co-authored-by: Jordi Puiggené <jp@naralabs.com>
    Co-authored-by: Winnie <winniehell@users.noreply.github.com>

commit 47fbd32
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Sun Aug 21 12:54:38 2022 +0200

    Customized Quickinstaller Configlet (senaite#2118)

    * Customized quickinstaller

    * ZCML include package

    * Changelog updated

    * UTF8 header added

    Co-authored-by: Jordi Puiggené <jp@naralabs.com>

commit f1f8127
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Sun Aug 21 12:50:28 2022 +0200

    Customized User/Groups Preferences in Site Configuration (senaite#2117)

    * Customized userprefs controlpanel

    * Custom groups controlpanel

    * styling and formatting

    * Hide settings tabs

    * Custom group membership control panel

    * Groupdetails customized

    * Custom userdata panel

    * Customized user group membership

    * Changelog updated

    * Align checkbox center and middle

    Co-authored-by: Jordi Puiggené <jp@naralabs.com>

commit 06ad1e4
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Sun Aug 21 12:36:49 2022 +0200

    Fix allow sample partitions in submitted states (senaite#2116)

    * Fix allow sample partitions in submitted states

    This fixes the regression in PR-2024 for PR-1839:

    - senaite#1839
    - senaite#2024

    * Fixed test

commit 0a1f776
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Sun Aug 21 12:35:52 2022 +0200

    Fix insufficient privileges for instrument QC viewlet (senaite#2115)

    * Change permission for viewlet to zope2.View

    * Changelog updated

    Co-authored-by: Jordi Puiggené <jp@naralabs.com>

commit a43b535
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Sun Aug 21 12:34:51 2022 +0200

    Allow Multi Analysis Results Entry (senaite#2114)

    * First mockup of multi-edit view

    * Added action adapter for wf transition

    * Added custom WF transition and rolemap

    * Filter out listing transitions

    * Switched to WF adapter

    * Changed to workflow action UID adapter

    * Show tabs for PoCs

    * Implemented show/hide functionality

    * Hanldle no visible analyses

    * Handle redirect URL in add form

    * Added setup option for immediate results entry

    * Handle results entry from stickers view

    * Fixed return value

    * Changelog updated

    * Added header and back link

    * Removed transition from invalid states

    * Changed schemata and added i18n identifiers

    * Added guard

    * Changed category to hide transition from WF menu

    * Better rolemap

    * Use the same permission as for the transition

    * Add all roles again

    * Rolemap reworked

commit da17b15
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Mon Aug 15 13:16:36 2022 +0200

    Replace header table with customizable sample header viewlet (senaite#2111)

    * Implemented viewlet stub for sample header

    * Removed header table import

    * Added some field methdos

    * Header table mockup

    * Fixed wrong interface

    * Field mockup for widgets

    * Changed CSS

    * Render widgets and labels

    * Styling

    * Field rendering

    * Widget rendering

    * Render required marker

    * Implemented form handling

    * Allow multiple columns for prominent table as well

    * Toggle standard fields visibility

    * Styling improved

    * Added CSS classes

    * Render tooltips

    * Added link to manage sample fields

    * Added JS for datetime fields

    * Changed naming

    * First mockup of manage view

    * Redirect to page URL

    * Implemented prominent/standard field switcher

    * Implemented registry to hold config settings

    * Use config to setup template

    * Write updated config to registry

    * Use field order from settings

    * Handle falsy values

    * Use fields from config

    * Skip invisible fields in manage view

    * Implemented reset functionality

    * Handle field visibility

    * Handle registry record update failure

    * Some refactoring and docstrings

    * Handle new appeared fields in manage view

    * Better naming

    * Code refactoring and cleanup

    * Disable header table completely

    * Allow to hide the header table completely

    * Check save button on form submission

    * Removed unused method

    * Removed old header_table code and template

    * Changelog updated

    * Added missing comment

    * Added missing word in description

commit ab37e34
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Thu Aug 11 15:01:53 2022 +0200

    Add a more descriptive message for "Reject" action inside a Worksheet (senaite#2110)

commit 269d16f
Author: Winnie <winniehell@users.noreply.github.com>
Date:   Tue Aug 9 09:17:11 2022 +0200

    Enable check for undefined variables (F821) (senaite#2105)

    * Enable check for undefined variables (F821)

    * Remove undefined position from worksheet

    * Ignore unknown variables in Zope scripts

    * Add missing imports

    * Fix copy&paste mistake in tima

    * Fix typo in ulite

commit 7bb4b86
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Sun Aug 7 19:10:22 2022 +0200

    Fix result formatting when result is below LDL or above UDL (senaite#2104)

    * Migrate LDL/UDL FixedPoint -> StringField

    * Changelog updated

    * Cleanup of the migration steps

    * Fixed typo

    * Re-added custom getters

    * Handle positive scientific formats in API

    * Format LDL/UDL with decimal notation

    * fix test

    * Changelog updated

    * Cut off trailing zeros

    Co-authored-by: Jordi Puiggené <jp@naralabs.com>

commit 6101d0f
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Sun Aug 7 19:06:22 2022 +0200

    Convert LDL/UDL fields to string (senaite#2103)

    * Migrate LDL/UDL FixedPoint -> StringField

    * Changelog updated

    * Cleanup of the migration steps

    * Fixed typo

    * Re-added custom getters

    * Cut off trailing zeros

    Co-authored-by: Jordi Puiggené <jp@naralabs.com>

commit b0267f6
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Sun Aug 7 19:00:29 2022 +0200

    Add help text for numeric result (senaite#2101)

    * Added help text for numeric result

    * Graceful handling if no help dictionary is in item

    * Changelog updated

    * Update CHANGES.rst

commit 45bfb2a
Author: Winnie <winniehell@users.noreply.github.com>
Date:   Sat Aug 6 14:36:48 2022 +0200

    Restrict flake8 to senaite.core and bika.lims (senaite#2102)

commit dc1c365
Author: Winnie <winniehell@users.noreply.github.com>
Date:   Sat Aug 6 14:18:45 2022 +0200

    Enable check for bare 'except' blocks (E722) (senaite#2100)

    * Enable check for bare 'except' blocks (E722)

    * Remove unnecessary noqa statements

commit ddc039e
Author: Winnie <winniehell@users.noreply.github.com>
Date:   Sat Aug 6 14:14:58 2022 +0200

    Enable check for unused variables (F841) (senaite#2099)

commit 66d390c
Author: Winnie <winniehell@users.noreply.github.com>
Date:   Sat Aug 6 14:10:59 2022 +0200

    Enable check for 'return' outside function (F706) (senaite#2098)

    * Enable check for 'return' outside function (F706)

    * Fix comparison to literals (F632)

    * Fix redefinition in list comprehension (F812)

commit ab603e4
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Fri Aug 5 10:01:23 2022 +0200

    Fix Attribute Error in Multi- Sample Add form when current user is linked to a client contact (senaite#2097)

    * Fix AttributeError for multi AR add form copy

    * fixed center alignment

    * Changelog updated

commit 2114287
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Fri Aug 5 09:54:27 2022 +0200

    Convert uncertainty field to string (senaite#2096)

    * Implemented float to string API function

    * Converted Uncertainty field to StringField

    * Converted methods to handle strings

    * Added migration step

    * Ensure we have a string result for interpolations

    * Handle different exponential notation

    * Set unfloatable uncertainty values to None

    * Don't float default value

    * added default return values

    * Fix test

    * Return empty string when field is not set

    * Convert to float in formatting function

    * Handle integer values

    * Fixed wrong interpolator

    * Always format manual uncertainty with full precision

    * convert to float for comparison

    * fixed test

    * set uncertainty to None if on a detection limit

    * Remove unsed import

    * Added doctest

    * Added another test

    * Doctest description

    * Added test for uncertainty value as percentage of the result

    * Added test for floating point arithmetic

    * Removed newlines

commit 30532ab
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Wed Aug 3 12:27:12 2022 +0200

    Fix rounded uncertainty value is stored in the database (senaite#2095)

    * Avoid the formatted uncertainty in edit mode

    * Changelog updated

commit 42d188c
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Wed Aug 3 11:21:17 2022 +0200

    Skip Auditlog catalog if disabled for DX types catalog multiplexer (senaite#2094)

    * Check if Auditlog disabled in catalogmultiplexer

    * Be graceful when setup container is not yet there

    * Changelog updated

commit 3b5a320
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Wed Aug 3 11:19:05 2022 +0200

    Reduce logging in localrole adapter (senaite#2093)

commit ac82000
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Tue Aug 2 10:55:18 2022 +0200

    Add support for dates before 1900 (senaite#2090)

    * Catch ValueError in datetimewidget

    Traceback:
    ```
    Traceback (innermost last):
      Module ZServer.ZPublisher.Publish, line 144, in publish
      Module ZPublisher.mapply, line 85, in mapply
      Module ZServer.ZPublisher.Publish, line 44, in call_object
      Module bika.lims.browser.analysisrequest.view, line 42, in __call__
      Module bika.lims.browser.header_table, line 99, in __call__
      Module Products.Five.browser.pagetemplatefile, line 126, in __call__
      Module Products.Five.browser.pagetemplatefile, line 61, in __call__
      Module zope.pagetemplate.pagetemplate, line 135, in pt_render
      Module Products.PageTemplates.engine, line 378, in __call__
      Module z3c.pt.pagetemplate, line 176, in render
      Module chameleon.zpt.template, line 302, in render
      Module chameleon.template, line 215, in render
      Module chameleon.template, line 192, in render
      Module b5af7af227d0614ddb683e49ef7fbcf2, line 576, in render
      Module f84d498475cc404181368cde9fa956bc, line 379, in render_edit
      Module d88bffbebbf4e01f15a333556ab23c2e, line 702, in render_edit
      Module f84d498475cc404181368cde9fa956bc, line 323, in __fill_widget_body
      Module zope.tales.pythonexpr, line 73, in __call__
       - __traceback_info__: (widget.get_time(value) if value else '')
      Module <string>, line 1, in <module>
      Module senaite.core.browser.widgets.datetimewidget, line 88, in get_time
      Module DateTime.DateTime, line 1566, in strftime
    ValueError: year=1111 is before 1900; the datetime strftime() methods require year >= 1900
    ```

    * Handle dates before 1900 gracefully in dtime API

    * Support date before 1900 in DX datewidget

    * Support date before 1900 in searchable text tokens

    * Support dates < 1900 in samples view

    * Moved to_localized_time to date API

    * Pad a zero if value is a single digit

    * Changelog updated

    * Fix tests and added some more

    * Make flake8 happy

    * Removed unused imports

    * Ensure DateTime object when a string was passed in

    Co-authored-by: Jordi Puiggené <jp@naralabs.com>

commit 1da8e42
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Tue Aug 2 09:54:13 2022 +0200

    Fix LDL/UDL cut-off and exponential float conversion (senaite#2089)

    * Remove custom LDL/UDL getters

    * Marked method getDetectionLimits() as deprecated

    * Manually convert string values of LDL/UDL

    * Added default values

    * Manually convert LDL/UDL to float

    * Fix test

    * Higher precision in LDL/UDL fields

    Also handle trailing zeros and possible trailing dot

    * Convert LDL/UDL to float in calculation

    * Changelog updated

commit 92d9bee
Author: Winnie <winniehell@users.noreply.github.com>
Date:   Tue Aug 2 09:34:26 2022 +0200

    Enable checks for multiple imports on same line (E401) and "import *" (F403, F405) (senaite#2092)

    * Remove unused import

    * Enable check for multiple imports on one line (E401)

    * Enable check for "import *" (F403)

    * Enable check for "import *" (F405)

    * Remove unnecessary commas from flake8 config

commit 3b16764
Author: Winnie <winniehell@users.noreply.github.com>
Date:   Tue Aug 2 09:32:56 2022 +0200

    Enable checks for "not in" order (E713) and semicolon at line end (E703) (senaite#2091)

    * Remove unused import

    * Enable check for "not in" order (E713)

    * Enable check for semicolon at line end (E703)

    * Clean up existing violations of E703 and E713

commit 09a552c
Author: Winnie <winniehell@users.noreply.github.com>
Date:   Mon Aug 1 23:06:00 2022 +0200

    Use isinstance for comparing types (E721) (senaite#2087)

    Co-authored-by: Ramon Bartl <rb@ridingbytes.com>

commit 737e6a6
Author: Winnie <winniehell@users.noreply.github.com>
Date:   Mon Aug 1 23:01:15 2022 +0200

    Fix multiple statements on one line (E701) (senaite#2086)

commit 72f4904
Author: Winnie <winniehell@users.noreply.github.com>
Date:   Mon Aug 1 22:58:31 2022 +0200

    Extend default ignores of flake8 (senaite#2085)

    * Extend default ignores of flake8

    * Fix redefinition of unused name (F811)

commit c716c8f
Author: Winnie <winniehell@users.noreply.github.com>
Date:   Mon Aug 1 22:54:52 2022 +0200

    Enable checks for mismatching format arguments (F523, F524) (senaite#2084)

    * Enable checks for mismatching format arguments (F523, F524)

    * Remove unnecessary format argument from analysisrequest.py

    * Fix format argument index in exportimport.setupdata

commit b2122d5
Author: Winnie <winniehell@users.noreply.github.com>
Date:   Mon Aug 1 22:50:40 2022 +0200

    Remove or ignore unused imports (F401) (senaite#2081)

    * Remove unused imports (F401)

    * Ignore unused imports in exportimport.instruments

    * Remove unused imports from browser.viewlets.toolbar

    * Remove unused imports from browser.form.adapters.sampletype

    * Remove unused imports from browser.fields.record

    * Ignore unused imports in behaviors

    * Remove unused imports from exportimport.dataimport

    * Remove unused imports from exportimport.instruments

    * Remove unused imports from numbergenerator

    * Remove unused imports from jsonapi

    * Ignore unused imports in skins.bika.guard_handler

    * Remove unused imports from content.referencesample

    * Remove unused imports from content.worksheetfolder

    * Remove unused imports from content.bikasetup

    * Remove unused imports from content.instrumenttype

    * Remove unused imports from content.duplicateanalysis

    * Remove unused imports from content.referencedefinition

    * Remove unused imports from content.manufacturer

    * Remove unused imports from content.report

    * Remove unused imports from browser.analysisprofile

    * Ignore unused imports in browser.worksheet.views

    * Remove unused imports in browser.department.ajax

    * Remove unused imports in browser.viewlets.analysisrequest

    * Ignore unused imports in browser.analyses

    * Remove unused imports in browser.analyses.view

    * Ignore unused imports in browser.client

    * Ignore unused imports in browser.widgets

    * Remove unused imports in browser.widgets.rejectionwidget

    * Ignore unused imports in browser.analysisrequest.analysisrequests

    * Ignore unused imports in browser.analysisrequest

    * Remove unused imports in browser.reports

    * Remove unused imports in lims.api.analysis

    * Remove unused imports in lims.monkey.Widget

    * Ignore unused imports in subscribers

    * Ignore unused imports in interfaces

    * Enable E712 in flake8

commit cff8ad0
Author: Winnie <winniehell@users.noreply.github.com>
Date:   Mon Aug 1 22:40:58 2022 +0200

    Replace dynamic code execution with dynamic import in reports (senaite#2078)

    * Replace dynamic code execution with dynamic import in reports

    * Use importlib instead of __import__

    * Add changelog entry

    * Add missing line break in senaitesetup.py

commit 5b3b7d8
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Mon Aug 1 10:40:57 2022 +0200

    Lookup workflow action redirect URL from request first (senaite#2083)

    * Lookup redirect URL from request

    * Changelog updated

    Co-authored-by: Jordi Puiggené <jp@naralabs.com>

commit 2c3152e
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Mon Aug 1 10:38:20 2022 +0200

    Include sample ID in form ID for lab, field and qc analyses listings (senaite#2082)

    * Include sample ID in listing table form ID

    * Use % substitutions

    * Changelog updated

    Co-authored-by: Jordi Puiggené <jp@naralabs.com>

commit f3b9200
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Mon Aug 1 10:29:08 2022 +0200

    Allow to override logo and styles in new SENAITE Setup (senaite#2075)

    * Patched catalog_object method

    * Added schema fields in senaite_setup

    * Hide setup tile when auditlogging is disabled

    * Added proxy fields in bika_setup

    * Changelog updated

    * Update src/bika/lims/content/bikasetup.py

    Co-authored-by: Winnie <winniehell@users.noreply.github.com>

    * Show status message when auditlog is disabled

    * Added sitelogo view

    * Added Logo/CSS fields to SENAITE setup

    * Check setup in toolbar logo view

    * Changelog

    * Be graceful for not-yet-migrated sites

    Co-authored-by: Winnie <winniehell@users.noreply.github.com>
    Co-authored-by: Jordi Puiggené <jp@naralabs.com>

commit 5f99f12
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Mon Aug 1 10:19:56 2022 +0200

    Fix style of selected language in dropdown (senaite#2076)

    * Fix style of selected language in dropdown

    * Changelog

    * Update CHANGES.rst

    Co-authored-by: Jordi Puiggené <jp@naralabs.com>

commit 825e8c9
Author: Winnie <winniehell@users.noreply.github.com>
Date:   Fri Jul 29 16:07:04 2022 +0200

    Clean up comparison to False (E712) (senaite#2079)

commit 90f68aa
Author: Winnie <winniehell@users.noreply.github.com>
Date:   Fri Jul 29 16:05:11 2022 +0200

    Enable flake8 for new violations in Travis CI (senaite#2077)

    * Enable flake8 for new violations in Travis CI

    * Manually install flake8 in Travis CI

    * Fix path to flake8

commit fa5b48b
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Thu Jul 28 13:50:12 2022 +0200

    Allow to disable global Auditlogging (senaite#2074)

    * Patched catalog_object method

    * Added schema fields in senaite_setup

    * Hide setup tile when auditlogging is disabled

    * Added proxy fields in bika_setup

    * Changelog updated

    * Update src/bika/lims/content/bikasetup.py

    Co-authored-by: Winnie <winniehell@users.noreply.github.com>

    * Show status message when auditlog is disabled

    Co-authored-by: Winnie <winniehell@users.noreply.github.com>

commit b4f47e1
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Wed Jul 27 17:08:57 2022 +0200

    Use <br/> to join recipients (senaite#2073)

commit b88d4bf
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Wed Jul 27 10:02:11 2022 +0200

    Refactor report filename generation to own method (senaite#2072)

    * Refactor report filename generation to own method

    * Changelog

    * Added filename method to download view as well

    * typo

    Co-authored-by: Jordi Puiggené <jp@naralabs.com>

commit 5566d6b
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Wed Jul 27 09:57:02 2022 +0200

    Move sample reports to report catalog, add batch ID and email sent flag to listing (senaite#2071)

    * Include Batch column in reports listing

    * Move ARReport to Report Catalog

    * Changelog added

    * Include email recipients in search index as well

    * Added email sent column

    * changelog changed

    * changelog

commit 8cddcef
Author: Winnie <winniehell@users.noreply.github.com>
Date:   Tue Jul 26 21:55:53 2022 +0200

    Fix typo/duplicate translation key in colophon (senaite#2070)

    * Fix typo/duplicate translation key in colophon

    * Add changelog entry

commit 1c23755
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Tue Jul 26 21:16:08 2022 +0200

    Replace ParentAnalysisRequest ReferenceField by UIDReferenceField (senaite#2069)

    * Replace ReferenceField by UIDReferenceField

    * Rewrite getDescendants function

    * Better comment

    * Changelog

    * Simplify

commit ff1102e
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Tue Jul 26 15:12:27 2022 +0200

    Fix samples w/o active analyses are displayed under "unassigned" filter (senaite#2066)

    * Fix samples w/o active analyses are displayed under "unassigned" filter

    * Whitespace end of file

    * Take partitions into consideration

    Co-authored-by: Ramon Bartl <rb@ridingbytes.com>

commit 696054e
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Tue Jul 26 13:22:02 2022 +0200

    Fix "Create Worksheet" modal visible for samples w/o unassigned analyses (senaite#2065)

    * Do not allow "Create Worksheet" action unless one unassigned analysis

    * No need to wake up the analysis objects

    * Fix "unassigned_state" for samples

    * Changelog

    * Revert "Fix "unassigned_state" for samples"

    This reverts commit 2359c5a.

commit 0b458c2
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Mon Jul 25 09:41:50 2022 +0200

    Fix Traceback for SENAITE Setup during installation (senaite#2064)

commit 3874f56
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Fri Jul 22 10:44:57 2022 +0200

    Allow to customize email publication template in setup (senaite#2063)

    * Implemented SENAITE Registry

    * Allow to set publication email body text in Setup

    * Implemented SENAITE RichTextField

    * Use new RichTextField for registry

    * Use body text for email from setup

    * send HTML Emails

    * Test fixture

    * Added test for HTML email

    * Added upgrade step

    * Fix bypassed default factory

    * Description changed

    * Added SENAITE Setup Object

    * Proxy to SENAITE setup

    * Moved to SENAITE Setup

    * WYSIWYG Support

    * Handle default value

    * Added test for API

    * Added test for setup

    * Changelog updated

commit 353ef78
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Tue Jul 19 13:36:28 2022 +0200

    Fix listing not updated after instrument assignment in Worksheet's view (senaite#2062)

    * Refresh worksheet after instrumnent assignment

    * Changelog

    * Fix listing not updated after instrument assignment in Worksheet's view

    * Use a reload event for the refresh of the analyses listing

commit 5adaf31
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Mon Jul 18 09:48:00 2022 +0200

    Fire notifications when UID references are created/destroyed (senaite#2061)

    * Fire notifications when references are created/destroyed

    * Changelog updated

    * Docstring added

commit 5d9b1d1
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Thu Jul 14 20:53:00 2022 +0200

    Filter 'Interpretation templates' in sample view by template and type (senaite#2058)

    * Allow to filter 'Interpretation templates' by sample template and type

    * Changelog

    * Remove pdb

commit a4e5247
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Tue Jul 12 12:16:59 2022 +0200

    Fix catalog logging counter duplicates (senaite#2048)

    * Fix recatalog logging counter

    * Changelog

commit 7025319
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Fri Jul 8 12:02:42 2022 +0200

    Make resultsinterpretations template to rely on the viewlet for departments retrieval (senaite#2047)

    * Make resultsinterpretatoin viewlet to rely on a get_panels to retrieve the text areas

    * Changelog

commit 42cd40e
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Tue Jul 5 22:27:48 2022 +0200

    Fix instrument types instruments view (senaite#2045)

    * Fix instrumenttypes instruments listing view

    * Changelog

commit 7f87e20
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Tue Jul 5 15:34:16 2022 +0200

    Skip Invoice for content exports (senaite#2044)

    * Skip Invoice in export

    * Changelog
Lunga001 added a commit to bikalims/senaite.core that referenced this pull request Jan 11, 2023
commit 25295caf0a31fdcabd3a46b238e05b2c63cabb37
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Wed Jan 11 09:56:05 2023 +0100

    Ensure object of the reference (#2227)

commit 88248253080e158701460abaaccc09bc643b053d
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Tue Jan 10 12:23:38 2023 +0100

    Add setting to CC responsible persons in publication emails  (#2226)

    * Added configuration option in new SENAITE setup

    * Added proxy fields in old Setup

    * Added Template option

    * fixed condition

    * Changelog updated

    * Update CHANGES.rst

    Co-authored-by: Jordi Puiggené <jp@naralabs.com>

commit 6901b2cf5408ae3be72a778f4ecf0abfa22dc24d
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Tue Jan 10 00:06:33 2023 +0100

    Fix wrong precision for exponential formatted uncertainties (#2224)

    * Removed old comment

    * Added example in comment

    * Removed superfluous result parameter

    * Doctest updated

    * Fix precision for exponential formatted numbers

    * changelog updated

commit 52afb04d4da1ebd947684b0c40800c296c14157f
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Mon Jan 9 14:05:28 2023 +0100

    Avoid full page reloads in multi_results view and removed WF menu update handler (#2222)

    * Remove workflow menu update handler

    This one was superseded by the next handler

    * Never do a full page reload if in multi_results

    * Semicolon added

    * Production JS

commit ea8189a638d20daedbbf6bea21f37851bf42b174
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Wed Jan 4 10:24:24 2023 +0100

    Make `UIDReferenceField` to not keep back-references by default (#2219)

    * Allow to not keep backreferences through `UIDReferenceField`

    * Make `UIDReferenceField` to not keep back-references by default

    * Update name of the upgrade step

    * W391 blank line at end of file

    * F523 '...'.format(...) has unused arguments at position(s): 1

    * Cleanup

    * Less overthinking

    * Remove backreferences with old relationship names for RetestOf

    * Upgrade step to purge back-references

    * api.get_fields(obj) returns a dict, not a list

    * Removed questionmark

    * Move out of the loop

    Co-authored-by: Ramon Bartl <rb@ridingbytes.com>

commit df866e0e12c5f5d8dcd6bb43d7a3bcb5fb35b4c5
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Mon Jan 2 18:34:32 2023 +0100

    Fix traceback when value is ['null'] (#2220)

    The following traceback is raised when an instrument is assigned to an
    analysis service:

    ```
    Traceback (innermost last):
      Module ZPublisher.WSGIPublisher, line 162, in transaction_pubevents
      Module ZPublisher.WSGIPublisher, line 371, in publish_module
      Module ZPublisher.WSGIPublisher, line 274, in publish
      Module ZPublisher.mapply, line 85, in mapply
      Module ZPublisher.WSGIPublisher, line 63, in call_object
      Module Products.CMFFormController.FSControllerPageTemplate, line 92, in __call__
      Module Products.CMFFormController.BaseControllerPageTemplate, line 30, in _call
      Module Products.CMFFormController.ControllerBase, line 233, in getNext
      Module Products.CMFFormController.Actions.TraverseTo, line 38, in __call__
      Module ZPublisher.mapply, line 85, in mapply
      Module ZPublisher.WSGIPublisher, line 63, in call_object
      Module Products.CMFFormController.FSControllerPythonScript, line 104, in __call__
      Module Products.CMFFormController.Script, line 145, in __call__
      Module Products.CMFCore.FSPythonScript, line 134, in __call__
      Module Shared.DC.Scripts.Bindings, line 335, in __call__
      Module Shared.DC.Scripts.Bindings, line 372, in _bindAndExec
      Module Products.PythonScripts.PythonScript, line 349, in _exec
      Module script, line 1, in content_edit
       - <FSControllerPythonScript at /senaite/content_edit used for /senaite/bika_setup/bika_analysisservices/analysisservice-3>
       - Line 1
      Module Products.CMFCore.FSPythonScript, line 134, in __call__
      Module Shared.DC.Scripts.Bindings, line 335, in __call__
      Module Shared.DC.Scripts.Bindings, line 372, in _bindAndExec
      Module Products.PythonScripts.PythonScript, line 349, in _exec
      Module script, line 12, in content_edit_impl
       - <FSPythonScript at /senaite/content_edit_impl used for /senaite/bika_setup/bika_analysisservices/analysisservice-3>
       - Line 12
      Module Products.Archetypes.BaseObject, line 676, in processForm
      Module Products.Archetypes.BaseObject, line 666, in _processForm
       - __traceback_info__: (<AnalysisService at /senaite/bika_setup/bika_analysisservices/analysisservice-3>, <Field Instrument(uidreference:rw)>, <bound method AnalysisService.setInstrument of <AnalysisService at /senaite/bika_setup/bika_analysisservices/analysisservice-3>>)
      Module Products.Archetypes.utils, line 131, in mapply
      Module Products.Archetypes.ClassGen, line 77, in generatedMutator
      Module bika.lims.browser.fields.uidreferencefield, line 230, in set
      Module bika.lims.browser.fields.uidreferencefield, line 116, in get_uid
      Module bika.lims.api, line 575, in get_uid
      Module bika.lims.api, line 384, in get_object
      Module bika.lims.api, line 347, in fail
    APIError: 'null' is not supported.
    ```

commit bd408bc80efc84928e184d227a236df4f6fb6bf3
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Fri Dec 30 11:16:04 2022 +0100

    Migrate AnalysisRequest's ReferenceField fields to UIDReferenceField (#2209)

    * Migrate CCContacts

    * Migrate Client

    * Migrate PrimaryAnalysisRequest

    * Migrate Batch

    * Changelog

    * Fix tests

    * Migrate SubGroup

    * Migrate Template

    * Be sure no searches with empty UIDs are done

    * Migrate Profile

    * Remove irrelevant code

    * Migrate Profiles

    * getRefs always returns a list

    * Migrate Specification

    * Better logger message

    * Migrate PublicationSpecification

    * Migrate Attachment

    * No need to reindex references

    * Migrate Invoice

    * Remove DetachedFrom

    * Let the system infere the name of the relationship

    * Migrated Invalidated

    * Remove unused import

    * Rely on fields to get the name of the relationship

    * F401 'Products.Archetypes.atapi.ReferenceField' imported but unused

    * E251 unexpected spaces around keyword / parameter equals

    * E231 missing whitespace after ','

    * E128 continuation line under-indented for visual indent

    * E501 line too long

    * No need to reindexObject after ReferenceField migration

    Co-authored-by: Ramon Bartl <rb@ridingbytes.com>

commit 5ca10115de816f10e7f46cf9ffadcaa6a22e52d8
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Fri Dec 30 11:13:25 2022 +0100

    Improve performance of legacy AT `UIDReferenceField`'s setter (#2218)

commit 4646086e02bfef144c47cf5c2aba0017bd765732
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Fri Dec 30 09:03:10 2022 +0100

    Fix traceback when creating multiple samples with attachments (#2217)

    ```
    Traceback (innermost last):
      Module ZPublisher.WSGIPublisher, line 162, in transaction_pubevents
      Module ZPublisher.WSGIPublisher, line 371, in publish_module
      Module ZPublisher.WSGIPublisher, line 274, in publish
      Module ZPublisher.mapply, line 85, in mapply
      Module ZPublisher.WSGIPublisher, line 63, in call_object
      Module bika.lims.browser.analysisrequest.add2, line 70, in decorator
      Module bika.lims.browser.analysisrequest.add2, line 715, in __call__
      Module bika.lims.browser.analysisrequest.add2, line 1743, in ajax_submit
    AttributeError: 'list' object has no attribute 'get'
    ```

commit cee671a9ef36a14845df70408379b4bf9aa9efcf
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Fri Dec 30 08:04:26 2022 +0100

    Added BBB getters for PR #2213 (#2216)

    * Added BBB getters for PR #2213

    * Use getRawProfiles instead

commit ce92dc3adf232755f633ab345055dbd167b29c18
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Fri Dec 30 08:00:04 2022 +0100

    Remove `DefaultContainerType` field (stale) from AnalysisRequest (#2214)

commit 93b9ad1d32262066e76aff8fc00c6f93eb11049e
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Thu Dec 29 22:42:34 2022 +0100

    Fix ParseError when search term contains parenthesis in widget search (#2215)

    Co-authored-by: Ramon Bartl <rb@ridingbytes.com>

commit b159fd4fbff4b8d8cf23c95224836913b51162de
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Thu Dec 29 22:37:15 2022 +0100

    Purge ComputedField fields from AnalysisRequest related with Profiles (#2213)

    * Remove ProfilesUID computed field

    * Added upgrade step

    * Remove ProfilesURL

    * Remove getProfilesTitle

    * Remove ProfilesTitleStr

    * Clarifying message

    * Changelog

commit f9f320f55f4b40c443a6f7f1459bd774a5a31a9d
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Thu Dec 29 15:26:55 2022 +0100

    Improve performance of legacy AT `UIDReferenceField`'s getter (#2212)

    * Improve performance of legacy AT `UIDReferenceField`'s getter

    * Better comment

    * Better commment

    * Remove unnecessary code

    * Keep the order of references

    * Check by instance instead of multiValue

    * Rely on UID catalog instead of validating UIDs beforehand

commit 763919df4b2f7fca33d663f4fdf0a0312f2d8b33
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Thu Dec 29 14:28:55 2022 +0100

    Remove `Profile` field (stale) from AnalysisRequest (#2211)

commit 07088f05a85be882a4f8a9661fa95dce893b40d0
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Thu Dec 29 12:15:26 2022 +0100

    Support for file upload on analysis (pre) conditions (#2207)

    * Support for file upload on analysis (pre) conditions

    * Orrganize imports (flake8 complaining)

    * Remove non-required **kwargs

    Co-authored-by: Ramon Bartl <rb@ridingbytes.com>

commit 8bc3abbf269cd2dff6ec80339fc393adfdcaf38c
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Wed Dec 28 20:35:39 2022 +0100

    Remove `default_method` from AnalysisRequest's Contact field (#2208)

commit 3056d44caef2b2c9ad0b127e8014270373c000ce
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Fri Dec 23 18:08:37 2022 +0100

    Update GitHub Docker Action (#2206)

    * Update docker.yml

    Update to checkout action v3

    * Update docker.yml

    * Update docker.yml

    * Update docker.yml

    * Update docker.yml

    * Update docker.yml

commit 14a606de8bd9eebefd47773c8f2d16d6b9a4957b
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Thu Dec 22 10:13:56 2022 +0100

    Add transaction savepoint in fix_traceback_retract_dl func (#2205)

commit c2368e231d7e636e8ede2703fc15435d14ca7b56
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Thu Dec 22 07:35:36 2022 +0100

    Fix traceback when retracting an analysis with a detection limit (#2204)

    * Fix traceback when retracting an analysis with a detection limit

    ```
    Traceback (innermost last):
      Module ZServer.ZPublisher.Publish, line 144, in publish
      Module ZPublisher.mapply, line 85, in mapply
      Module ZServer.ZPublisher.Publish, line 44, in call_object
      Module bika.lims.browser.workflow, line 154, in __call__
      Module bika.lims.browser.workflow, line 165, in __call__
      Module bika.lims.browser.workflow, line 184, in do_action
      Module bika.lims.workflow, line 123, in doActionFor
      Module Products.CMFCore.WorkflowTool, line 252, in doActionFor
      Module Products.CMFCore.WorkflowTool, line 537, in _invokeWithNotification
    AttributeError: 'exceptions.TypeError' object has no attribute 'with_traceback'
    ```

    * Fix doctest

    * Remove duplicate changelog entry

commit a13b4cbec3931231e6a656be21a4d9bc52dd8362
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Wed Dec 21 17:11:06 2022 +0100

    Fix detection limit set manually is not displayed on result save (#2202)

    * Fix DL selector is not displayed on result save

    * Better wording

    * Clear the detection limit operand when non-dl result is entered

    * Strip the result when DL is manually entered

    * Do not consider a result as DL unless floatable

    * Cleanup

    * Fix test

    Co-authored-by: Ramon Bartl <rb@ridingbytes.com>

commit f1a08145da2c9e357e204a14fe260561f2f739d1
Author: Lunga <lunga001@gmail.com>
Date:   Mon Dec 19 15:40:30 2022 +0200

    Fix date sampled is empty in listings when sampling workflow is enabled (#2203)

    * Added missing parameter date to  date_to_string on sample listing

    * Changelog

    * Changelog

commit caf77a1632488ac88923a7d9c4a27035ae06ff9b
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Sat Dec 10 08:03:26 2022 +0100

    Use portal as relative path for sticker icons (#2197)

    * Use absolute paths for sticker icons

    * Changelog

    * Better wording

    * Better wording (2)

    * Import typeinfo step instead of applying changes programmatically

commit 97dae9ed4376428fd7256f3a44b83d15bda3deec
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Wed Dec 7 15:10:10 2022 +0100

    Order sample analyses by sortable title on get per default (#2196)

    * Order Analyses by sortable_title

    * Changelog updated

commit 99ba1847793fa6f7e5dc4e296a3c75c92408af66
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Sat Nov 26 12:20:42 2022 +0100

    Skip AutoImportLog on content import (#2194)

commit f44234cbf619cafdfb981363a9ec846d49d95bbd
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Thu Nov 24 09:53:41 2022 +0100

    Fix analyst cannot import results from instruments (#2193)

commit dafbd11817cfab93c9c59ed05530a3c6ff8adf4a
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Thu Nov 24 05:12:53 2022 +0100

    Fix Python version for GitHub workflow (#2192)

    * Fix Python version for GitHub workflow

    https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json

    * single quotes

    * Runnder changed

    * Using older ubuntu version

commit 92702aadac0ef60a5ba9f92819d7ae8b19d8e964
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Fri Nov 18 14:11:45 2022 +0100

    Fix sample actions without translation (#2190)

    * Fix sample actions without translation

    * Typo

    Co-authored-by: Ramon Bartl <rb@ridingbytes.com>

commit 0b881bdd2ed0cf6ac48e6dc8921f671e8d0a0f3e
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Fri Nov 18 14:08:53 2022 +0100

    Fix auto-print of barcode labels when auto-receive is enabled (#2189)

commit 4a8e6b888bc12801958a21aa99f494b2877b30dc
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Fri Nov 18 13:08:23 2022 +0100

    Fix archive path for Generic Setup file imports (#2188)

    * Fix archive path for file imports

    * changelog updated

    * Replace site path only at the beginning of the path

commit 79726d1b74aceba6f5a38aec2e1b7f1196547022
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Thu Nov 17 20:14:02 2022 +0100

    Integration for PR #2185 (#2187)

    * Production JS rebuild

    * Changelog updated

commit 1104e766821beba63599437cb6814d13776acc69
Author: luthando5 <104898641+luthando5@users.noreply.github.com>
Date:   Thu Nov 17 21:08:35 2022 +0200

    analysis-profiles-not-recognized-in-artemplates (#2185)

commit 760a784553398aa0a344e052eeb668594a4dab75
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Thu Nov 17 20:04:38 2022 +0100

    Fix sticker template for sample type is not selected by default (#2186)

    * Fix sticker default template not rendered by default

    * Fallback to a list with the UID of the current context

    * Fix sticker template for sample type is not selected by default

    * Typo

    Co-authored-by: Ramon Bartl <rb@ridingbytes.com>

commit beb38299adf1de9e096c937f1e95f538dbd6afb7
Author: Lunga <lunga001@gmail.com>
Date:   Thu Nov 17 15:24:40 2022 +0200

    Instrument Supplier does not load on data import (#2183)

    * getName for Supplier from pc and not bsc catalog

    * CHANGES.rst

    * Get Instrument supplier field from senaite_catalog_setup

commit 11f95e0964722949f9fb6c3e8623faab31c05910
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Thu Nov 10 11:38:42 2022 +0100

    Better styling for widget display templates (#2181)

commit 9f24bce8214a85731c5496687b003d3d9744c422
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Wed Nov 9 15:06:29 2022 +0100

    Rely on analysis permission when displaying results (#2180)

    * Rely on analys's ViewResults permission instead of sample's

    * Cleanup unnecessary stuff

    * Rely on analysis permission when displaying results

    Co-authored-by: Ramon Bartl <rb@ridingbytes.com>

commit d82fcf53bff13d5b1fb58d5c7fb6d00ae7e12737
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Wed Nov 9 15:04:23 2022 +0100

    Fix Traceback when removing a Worksheet (#2179)

    * Fix Traceback when removing a Worksheet

    ```
    Traceback (innermost last):
      Module ZPublisher.WSGIPublisher, line 162, in transaction_pubevents
      Module ZPublisher.WSGIPublisher, line 371, in publish_module
      Module ZPublisher.WSGIPublisher, line 274, in publish
      Module ZPublisher.mapply, line 85, in mapply
      Module ZPublisher.WSGIPublisher, line 63, in call_object
      Module bika.lims.browser.workflow, line 154, in __call__
      Module bika.lims.browser.workflow, line 165, in __call__
      Module bika.lims.browser.workflow, line 184, in do_action
      Module bika.lims.workflow, line 123, in doActionFor
      Module Products.CMFCore.WorkflowTool, line 252, in doActionFor
      Module Products.CMFCore.WorkflowTool, line 537, in _invokeWithNotification
    AttributeError: 'Unauthorized' object has no attribute 'with_traceback'
    ```

    * Do not wake up object when evaluating guard_remove

commit 165ef13fa2280a244b1d7061f1fcea2a7a204590
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Mon Nov 7 13:38:53 2022 +0100

    AT Queryselect Widget (#2178)

    * Implemented base widget structure

    * Started separate API package

    * README added

    * Refactored API to own package

    * Moved components to be sharable between widgets

    * Base structure for queryselect widget implemented

    * Renamed ReferenceField -> SearchField

    * ReferenceResults -> SearchResults

    * Pass catalog query/searchterm to widget

    * Unify ReactJS widget controller

    * Handle values internally instead of uids

    * typo

    * Use the title key per default

    * Support for wildcard searches

    * Prevent browser suggestions

    * Only append * if a searchterm is given

    * Pass limit and display template to widget

    * value key instead of uid

    * get the value key from the widget

    * Typo fixed

    * Production JS

    * Result value instead of static UID

    * query select widget renders only the value

    * comment added

    * Allow to set user values

    * Renamed component

    * Skip empty values

    * Handle blur event better

    * Clear search field on enter

    * Better styling for selected values

    * Render the value plain

    * Added hidden field

    * README updated

    * UTF8 header added

    * No support for display_template in queryselect widget

    * Wildcard search per default

    * README added for queryselect widget

    * Removed dev variable

    * Prodution JS

    * typo

    * Moved UIDReference Widget to own package

    * Removed standard widget adapter

    * No default adapter for the widget

    * Docstring added

    * Better display template for multi valued fields

    * Allow to set all values at once

    * Added comment

    * Template and attribute cleanup

    * removed unused import

    * Support for hide_input_after_select

    * Changelog updated

    * Production JS

    * Added semicolon

    * Added explicit class name for results table

    * Production JS

    * Additional classes added

    * Production JS

    * Trigger custom select/deselect events

    * Allow to unset the value

    * Use pointer cursor for results list

    * Production JS

    * Trigger select/deselect events on set values

    * Production JS

    * Select row on mouse over

    * Handle empty keys better

    * Implemented AT QuerySelect Widget

    * Avoid Style interference

    * Log Traceback in console

    * Added native input setter

    * Changelog updated

    * Wildcard search config

    * Use colons for CSS selector

    * Production JS

    * Fix bottom/right overflow of popup

    * Fixed class names

    * Fixed z-index of buttons

    * Production JS

    * Fixed table styling when used in sample add/header

commit 7c9886aaa6fb7589659d0ef7bf7b5459055aae40
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Mon Nov 7 10:25:30 2022 +0100

    Dexterity Queryselect Widget (#2177)

    * Implemented base widget structure

    * Started separate API package

    * README added

    * Refactored API to own package

    * Moved components to be sharable between widgets

    * Base structure for queryselect widget implemented

    * Renamed ReferenceField -> SearchField

    * ReferenceResults -> SearchResults

    * Pass catalog query/searchterm to widget

    * Unify ReactJS widget controller

    * Handle values internally instead of uids

    * typo

    * Use the title key per default

    * Support for wildcard searches

    * Prevent browser suggestions

    * Only append * if a searchterm is given

    * Pass limit and display template to widget

    * value key instead of uid

    * get the value key from the widget

    * Typo fixed

    * Production JS

    * Result value instead of static UID

    * query select widget renders only the value

    * comment added

    * Allow to set user values

    * Renamed component

    * Skip empty values

    * Handle blur event better

    * Clear search field on enter

    * Better styling for selected values

    * Render the value plain

    * Added hidden field

    * README updated

    * UTF8 header added

    * No support for display_template in queryselect widget

    * Wildcard search per default

    * README added for queryselect widget

    * Removed dev variable

    * Prodution JS

    * typo

    * Moved UIDReference Widget to own package

    * Removed standard widget adapter

    * No default adapter for the widget

    * Docstring added

    * Better display template for multi valued fields

    * Allow to set all values at once

    * Added comment

    * Template and attribute cleanup

    * removed unused import

    * Support for hide_input_after_select

    * Changelog updated

    * Production JS

    * Added semicolon

    * Added explicit class name for results table

    * Production JS

    * Additional classes added

    * Production JS

    * Trigger custom select/deselect events

    * Allow to unset the value

    * Use pointer cursor for results list

    * Production JS

    * Trigger select/deselect events on set values

    * Production JS

    * Select row on mouse over

    * Handle empty keys better

commit dfb5c595915858094607a640b84d03ecd85ee42b
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Thu Oct 27 21:04:55 2022 +0200

    Fix UnicodeDecodeError when a required condition is empty in add form (#2173)

    ```
    Traceback (innermost last):
      Module ZPublisher.WSGIPublisher, line 162, in transaction_pubevents
      Module ZPublisher.WSGIPublisher, line 371, in publish_module
      Module ZPublisher.WSGIPublisher, line 274, in publish
      Module ZPublisher.mapply, line 85, in mapply
      Module ZPublisher.WSGIPublisher, line 63, in call_object
      Module bika.lims.browser.analysisrequest.add2, line 72, in decorator
      Module bika.lims.browser.analysisrequest.add2, line 717, in __call__
      Module bika.lims.browser.analysisrequest.add2, line 1620, in ajax_submit
      Module zope.i18nmessageid.message, line 112, in __call__
    UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 8: ordinal not in range(128)
    ```

commit 1baf228471e8554636891e862d61865b6c319da9
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Wed Oct 26 15:49:19 2022 +0200

    Fix SuperModel import error (#2172)

    * Fix SuperModel import error

    * Changelog updated

commit 812d3e2c0b72613d33cf0ba47df859554d62eb09
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Mon Oct 24 10:20:47 2022 +0200

    Simplify worksheets listing a bit (#2170)

commit 2f6dade0c33c0692afe7679f70de91493be0678c
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Sun Oct 23 22:37:51 2022 +0200

    Fix field error indication in sample header (#2169)

    * Fix field error indication in sample header

    * Changelog

    * Removed extra line

commit 33a18ac3be39c06e1d21d2cf2b6e085872e12896
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Wed Oct 19 05:32:54 2022 +0200

    Added data-name to field attributes (#2167)

    * Removed name from attributes

    * Added data-name to attributes

commit 6a2ba365787dd9931d358f93952fc7fe5c224c85
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Tue Oct 18 11:59:20 2022 +0200

    Fix partitions not displaying complete list of Interpretation Templates (#2166)

commit 6f5930697e1455fe5225af577e4dd69f5109d0b3
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Tue Oct 18 09:40:58 2022 +0200

    Add DX phone field and widget (#2165)

    * Added custom field

    * Implemented phone widget

    * Added CSS loader

    * Splitted widgets into own module

    * Added intl-tel-input

    * Notify when datagrid row is added/removed

    * Dispatch event on document.body directly

    * Refactored widgets to own module

    * Use small select fields for phone inputs

    * Production JS

    * ESLint added

    * Bind event listener to document.body

    * Removed parameter

    * Include utilsScript

    * Set international number in hidden field

    * Copy module for utils script

    * Production JS

    * Tests fixed

    * Changelog

    * Allod to set initial and preferred countries

    * Production JS

    * Fixed test

commit 6e719a4453c9cc52a02550683d521f3a99df1159
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Sun Oct 16 09:14:49 2022 +0200

    Added `IRetracted` and `IRejected` marker interfaces for analyses (#2164)

    * ReferenceAnalysis objects cannot be rejected, but unassigned

    The transition "reject" was missing in the workflow definition, so although
    it was defined as a possible transition in "to_be_verified_status" and the
    status "rejected" was declared, such status was never reachable.

    * Added doctests

    * Typos

    * Fix doctests md

    * Changelog

    * New upgrade paradigm

    * Fix argument from upgrade step

commit bdcf9c736969c564316c73c693135ad938df56e0
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Fri Oct 14 21:39:52 2022 +0200

    Cleanup `get*UID` functions to prevent unnecessary searches and instantiations (#2163)

    * Make `get*UID(`functions to rely on getRaw*

    * Cleanup getRetest()

    * Use isRetested

commit bf6542acfb462cdc746c26737bb2c17a635fc5fb
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Fri Oct 14 08:38:53 2022 +0200

    Allow to create samples without analyses (#2162)

    * Added field in senaite setup

    * Added proxy field in bika setup

    * Added logic in sample add form

    * Changelog updated

commit 00f734c9e17a7000a63994cf4bc10b1c8fd58e91
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Sun Oct 9 08:30:00 2022 +0200

    Allow indexed attributes for ZCTextIndex in catalog API (#2160)

    * Allow indexed attributes for ZCTextIndex

    * Changelog updated

commit ccb6d7ce777093bab72bdb9b1dac302ed9b594d5
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Fri Oct 7 12:09:57 2022 +0200

    Fix traceback when accessing registry (#2158)

    * Fix traceback when accessing registry

    * Changelog added

commit e500bd90e05c51d081becc2e2a43c9ac5fc38d57
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Fri Oct 7 11:16:35 2022 +0200

    Fix duplicates and QC analyses are not added in worksheet (#2157)

    * Fix duplicates and qc analyses are not added in worksheet

    * Added upgrade step

    * Hooked upgrade function to own import step

    Co-authored-by: Ramon Bartl <rb@ridingbytes.com>

commit 78a11b6d08d2b806b1af2ed8a645222f057510bc
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Thu Oct 6 23:00:33 2022 +0200

    Cleanup the internal logic used for the creation of analysis objects (#2154)

    * Simplify/Cleanup the creation of services and analyses

    * Improve the function for the creation of AT content types

    * Fix doctest BatchClientAssignment

    * Check permission when editing object unless temporary

    * Move the internal import outside of the loop

    * Save one reindex

    * Explicitly bypass permissions check on creation

    * Remove copy_analysis_field_values function (no longer used)

    * Remove utils.duplicateAnalysis function (no longer used)

    * Cleanup retest creation

    * copy_service is no longer required

    * Ensure calculation interims are stored when a Calculation is set

    * Simplify the creation of ReferenceAnalysis

    * Add functions for the creation of different types of analyses

    * Simplify

    * Changelog

    * Remove stale code

    * Claryfying comment

    * Added TODO comment

    * Add Worksheet as parameter on reference analyses creation in worksheet

    * Update changelog

    Co-authored-by: Ramon Bartl <rb@ridingbytes.com>

commit d668b24f86162d5c76678a33b2a5e2419daa3cd2
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Thu Oct 6 22:10:28 2022 +0200

    Fix groups for selection in login details view are hardcoded (#2156)

    * Fix groups for selection in login details view are hardcoded

    * Test fixture

    * Imports sorted

    Co-authored-by: Ramon Bartl <rb@ridingbytes.com>

commit 53afe39d82b2ba9a7895fa87ce7c1b7e9ad9ca0e
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Tue Oct 4 09:45:43 2022 +0200

    Fix F841 local variable 'setup' is assigned to but never used

commit b5e3b5e5133379b108272fb54084a429963c17c2
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Mon Oct 3 23:35:08 2022 +0200

    Version bump v2.4.0

commit e81a501a2d99d7dedeb37a57ae8b951aa123bff8
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Mon Oct 3 23:27:23 2022 +0200

    Release 2.3.0 (221003)

commit 9d8ae1873c904662fa663ffba790a79a6a46d757
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Sun Oct 2 15:48:26 2022 +0200

    Updated translations (#2155)

commit e7862b2d41bcb766f2a0748c9d8c61dee615d3ae
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Fri Sep 30 13:10:14 2022 +0200

    Update CHANGES.rst

commit 5609a01259cfb1c54c7edd344f9bff0080e001fc
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Fri Sep 30 13:07:40 2022 +0200

    Improve default body text for email publication to allow translations (#2153)

    * Added template variables for lab name/address

    * Default template updated

    * Use only lab name in default body text

    * Changed labels and descriptions

    * Wrap into message factory

commit ab078117b4758844ae9ba2fa0bb406ee1cd4b624
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Thu Sep 29 20:07:07 2022 +0200

    Updated translations from Transifex (#2152)

commit 6cc1a46e3637b058e3cc28ed2c93d2f3cec0fe15
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Thu Sep 29 11:24:44 2022 +0200

    Added api.copy_object function for both DX and AT types (#2151)

    * Improve the function for the creation of AT content types

    * Fix doctest BatchClientAssignment

    * Check permission when editing object unless temporary

    * Move the internal import outside of the loop

    * Save one reindex

    * Explicitly bypass permission check on creation

    * Additional doctest snippet to ensure that new objects are properly indexed

    * Added `api.copy_object` function for both DX and AT types

    Co-authored-by: Ramon Bartl <rb@ridingbytes.com>

commit 5133315733b2fd9041b24730c6e279236f6c329b
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Thu Sep 29 11:19:39 2022 +0200

    Improve the creation process of AT content types (#2150)

    * Improve the function for the creation of AT content types

    * Fix doctest BatchClientAssignment

    * Check permission when editing object unless temporary

    * Move the internal import outside of the loop

    * Save one reindex

    * Explicitly bypass permission check on creation

    * Additional doctest snippet to ensure that new objects are properly indexed

commit bb5fa7e4fbe30777f6f6dc9810c93fabf2f6ccf4
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Tue Sep 27 20:50:37 2022 +0200

    Performance: prioritize raw getter for AllowedMethods field (#2149)

    Co-authored-by: Ramon Bartl <rb@ridingbytes.com>

commit 6d4760ec5f3fe617b0ea05b2b772e812d38a22fd
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Tue Sep 27 20:49:28 2022 +0200

    Performance: prioritize raw getter for AllowedInstruments field (#2148)

    * Performance: prioritize raw getter for AllowedInstruments field

    * Do not wakeup instrument unless strictly necessary

    * Extract the UIDs of method instruments for proper comparison

    * Remove whitespace

    * Retrieval of full objects is recommended sometimes

    * Simplify getRawInstrument function

    * Remove unnecessary fallback to list

commit 55d0fbde5763c2cdcab10fd3f85f6d2f900b4df4
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Tue Sep 27 13:07:44 2022 +0200

    Remove stale function workflow.getReviewHistory (#2147)

    * Remove stale function workflow.getReviewHistory

    * Fix F401 'bika.lims.workflow as wf' imported but unused

    Co-authored-by: Ramon Bartl <rb@ridingbytes.com>

commit 29276a818c1f211fb3ed39cf8336b881a62202e5
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Tue Sep 27 13:05:43 2022 +0200

    Fix "No object found for UID: <laboratory_uid>" in report preview (#2146)

    * Fix laboratory content type is not properly indexed

    * Move setup_catalogs_order to setuphandlers

commit 11b396724302c4f331bccc01c473fdb86e77e5f9
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Tue Sep 27 11:55:29 2022 +0200

    Crop page navigation for DX reference widget (#2145)

    * Crop large page navigation for reference widget

    * changelog updated

    * Crop between current and last page

    * Formatting only

    * Production JS

    * Comments only

    * Rebuild production JS

    * Rebuilt JS

commit 82bd3ccc872e8d033a4194df6e3d8068399b5913
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Mon Sep 26 20:04:21 2022 +0200

    Ajax submit transition page refresh (#2142)

    * Implemented event handler

    * Additional DOM attributes

    * Production JS

    * Improved page reload logic

    NOTE:  Requires https://github.com/senaite/senaite.app.listing/pull/92

    * Production JS

    * Better naming

    * Remove portal_type check

    * Build js

    * Better comment

    * Build js

    Co-authored-by: Jordi Puiggené <jp@naralabs.com>

commit 1014fab72af12cd1b743129e4e1d2511d0c070e9
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Mon Sep 26 16:47:08 2022 +0200

    Remove owner from default rolemap (#2144)

commit eef59500bded94d3c0c4e48a57733897c23bedf3
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Mon Sep 26 13:48:32 2022 +0200

    Fix Traceback when using reaodnly_transaction decorator for objects with no __name__ (#2143)

    * Fix Traceback when using decorator for objects with no __name__

    * Changelog

commit 171335151208205951a8f04e3ec165772dfa086a
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Sat Sep 24 22:23:06 2022 +0200

    Added readonly transaction decorator (#2141)

commit 95472cd7b7d2a4dfd225c9355c3e7c50f4715587
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Sat Sep 24 22:19:56 2022 +0200

    Allow to enable/disable analysis categories for samples (#2140)

    * Added senaite setup schema field

    * Added proxy for bika setup

    * Enable/Disable analyses categories for samples

    * Changelog updated

    * spelling

    * Do not automatically expand on every update

    * Check if the context is a sample

    Co-authored-by: Jordi Puiggené <jp@naralabs.com>

commit 5c046357b7539b8496152fdb075d6524c11e632d
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Fri Sep 23 09:00:34 2022 +0200

    Dynamic Workflow Menu (#2137)

    * Added menu provider

    * Implemented WF Menu Updater

    * Production JS

    * Changelog updated

    * Handle no workflow menu views, e.g. multi_results

    * Production JS

    * Log warning instead of throwing an error

    * Production JS

    * Do not repace WF menu if the server responded exceptionally

    * Production JS

    * Fetch the current url from the attribute dataset

    * Comment updated

commit 36ece056e321c2a01dccee923a5f3b65bd8763d6
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Wed Sep 21 13:55:04 2022 +0200

    Fix LabClerk cannot create partitions from received samples (#2139)

commit 6fac67bed0655e2f04ab4e7b3519fdd058380229
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Wed Sep 21 06:32:15 2022 +0200

    Always redirect multi-results to samples view (#2138)

commit 51aaa26beb57758de78024b4f10e47806a42da5e
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Wed Sep 21 06:30:20 2022 +0200

    Catalog mapping for Samples and Analyses (#2130)

    * Added doctest

    * Map Analysis and Sample to their own catalogs

    * Changelog

    * Added upgrade step

    * Remap auditlog catalog

    * Removed duplicate line

    * Added missing types

    * Fixed catalog mapping for worksheet

    * Added doctest for mapped catalogs

commit 3d481fea91ffaa0532f02406a5adfda035fa4bff
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Wed Sep 21 06:28:44 2022 +0200

    Fix unit overlapping with additional icons (#2136)

commit 341f853555c016291819da8e2040334eef638132
Author: Winnie <winniehell@users.noreply.github.com>
Date:   Tue Sep 20 14:03:29 2022 +0200

    Remove # noqa comments (#2124)

    * Remove # noqa from all files

    * Ignore import issues in meta packages

    * Remove dead code from pre_install()

    * Ignore F821 for global app variable

    * Remove unused import from instrument package

commit 44914a3237a5c351812cb726081952949159b54b
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Tue Sep 20 14:00:20 2022 +0200

    Add a default date for batch creation (merge branch for #2132) (#2135)

    * Add a default date for batch creation

    * Updating CHANGES.rst

    * imports sorted

    Co-authored-by: Arneldo <ta.arneldo@gmail.com>

commit 8a073ab403aa11564075fc2df77dbf60ff177f91
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Mon Sep 19 17:01:24 2022 +0200

    Allow to edit the analysis service sort keys in the services listing (#2131)

    * Added datamanager for analysis services

    * Allow to edit the service sortkey in the listing

    * Changelog updated

    * Set refetch flag

    * Added column help text

    * Change help key to be equal to the colum key

    Co-authored-by: Jordi Puiggené <jp@naralabs.com>

commit 1c3f4a93a9e5e384426d08215fb0c7923a8e3a86
Author: Lunga <lunga001@gmail.com>
Date:   Mon Sep 19 16:02:10 2022 +0200

    Filter Contact and CCContact by Client on first click (#2133)

    * LIMS-1735 Filter Contact and CCContact by Client on first click

    * Changelog

    Co-authored-by: Jordi Puiggené <jp@naralabs.com>

commit 9829b28e56ceac872096c4da4306c8005c58e548
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Mon Sep 19 15:45:03 2022 +0200

    Render unit after result and interim fields (#2134)

    * Added helper method to render the unit

    * Render the unit after the result field

    * Render unit after interim fields

    * Changelog added

commit 62b538b46ed32da66fa681b97d0658401744ec43
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Tue Sep 13 14:42:04 2022 +0200

    Fix Traceback when invalidating a Sample with Remarks (#2129)

    * Omit Remarks field when creating a retest from an invalidated sample

    * Do not reindex unless non-temporary when Remarks value is set

    * Changelog

    * Misspelling

    * Add doctest that checks if value for Remarks field is copied in retests

commit 97ce14bf22ab902cda6d604e56c8cc96795b520f
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Sun Sep 11 09:20:29 2022 +0200

    Fix referenceresults widget view mode (#2128)

commit 430a2476c9c09ddce4f67680bf1e8f4a18711ba5
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Sun Sep 11 09:18:07 2022 +0200

    Fix instrument expiry date display in listing view (#2127)

    * Fix instrument expiry date

    * Changelog updated

commit 060f603524bc298a0c11fd1fa22052c2457f9377
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Thu Sep 8 23:06:57 2022 +0200

    Fixed typo in upgrade step (#2126)

commit 367b574a83d72919fb3fd2b6f795abdc8e46bc3c
Author: Winnie <winniehell@users.noreply.github.com>
Date:   Thu Sep 8 22:17:35 2022 +0200

    Add GitHub action workflow to replace Travis CI (#2125)

    * Add GitHub action workflow to replace Travis CI

    * Delete Travis CI config

commit ff07a9f9eb2297b125f3c23f1c96a58779deffd6
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Thu Sep 8 13:20:26 2022 +0200

    Add Sample Form: Save and Copy Action (#2123)

    * Handle Save&Copy action

    * Implemented JS logic

    * Added sample action

    * Changelog added

    * Comment only

commit edc6a533081de185a42e2f9049484df08e676b84
Author: Winnie <winniehell@users.noreply.github.com>
Date:   Tue Sep 6 12:54:49 2022 +0200

    Enable remaining flake8 checks (W601, W605, F901) (#2109)

    * Enable check for .has_key() (W601)

    * Enable check for invalid escape sequences (W605)

    * Enable check for NotImplementedError (F901)

commit 321cdfba6681b600f9e71362188e8b4a4f1c6c59
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Tue Aug 30 16:39:42 2022 +0200

    Fix linked client contact user can not see existing samples (#2119)

    * Better styling for contact login details page

    * Smaller input boxes

    * Reindexing object after user linking

    * changelog updated

    * Update src/bika/lims/browser/templates/login_details.pt

    Co-authored-by: Winnie <winniehell@users.noreply.github.com>

    * Update src/bika/lims/browser/templates/login_details.pt

    Co-authored-by: Winnie <winniehell@users.noreply.github.com>

    * Reindex only allowedRolesAndUsers

    Co-authored-by: Jordi Puiggené <jp@naralabs.com>
    Co-authored-by: Winnie <winniehell@users.noreply.github.com>

commit 47fbd32c2bc7c07445324037aa2ae67281ef9a32
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Sun Aug 21 12:54:38 2022 +0200

    Customized Quickinstaller Configlet (#2118)

    * Customized quickinstaller

    * ZCML include package

    * Changelog updated

    * UTF8 header added

    Co-authored-by: Jordi Puiggené <jp@naralabs.com>

commit f1f8127b456b404fb0880cca8813eae7414a376a
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Sun Aug 21 12:50:28 2022 +0200

    Customized User/Groups Preferences in Site Configuration (#2117)

    * Customized userprefs controlpanel

    * Custom groups controlpanel

    * styling and formatting

    * Hide settings tabs

    * Custom group membership control panel

    * Groupdetails customized

    * Custom userdata panel

    * Customized user group membership

    * Changelog updated

    * Align checkbox center and middle

    Co-authored-by: Jordi Puiggené <jp@naralabs.com>

commit 06ad1e4ab5dcf74ff8554ba30266519174f8bb77
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Sun Aug 21 12:36:49 2022 +0200

    Fix allow sample partitions in submitted states (#2116)

    * Fix allow sample partitions in submitted states

    This fixes the regression in PR-2024 for PR-1839:

    - https://github.com/senaite/senaite.core/pull/1839
    - https://github.com/senaite/senaite.core/pull/2024

    * Fixed test

commit 0a1f77648418f7121925659b3962d9d33d875b59
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Sun Aug 21 12:35:52 2022 +0200

    Fix insufficient privileges for instrument QC viewlet (#2115)

    * Change permission for viewlet to zope2.View

    * Changelog updated

    Co-authored-by: Jordi Puiggené <jp@naralabs.com>

commit a43b535a24634706bbcb3c1eeacd8253bc426608
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Sun Aug 21 12:34:51 2022 +0200

    Allow Multi Analysis Results Entry (#2114)

    * First mockup of multi-edit view

    * Added action adapter for wf transition

    * Added custom WF transition and rolemap

    * Filter out listing transitions

    * Switched to WF adapter

    * Changed to workflow action UID adapter

    * Show tabs for PoCs

    * Implemented show/hide functionality

    * Hanldle no visible analyses

    * Handle redirect URL in add form

    * Added setup option for immediate results entry

    * Handle results entry from stickers view

    * Fixed return value

    * Changelog updated

    * Added header and back link

    * Removed transition from invalid states

    * Changed schemata and added i18n identifiers

    * Added guard

    * Changed category to hide transition from WF menu

    * Better rolemap

    * Use the same permission as for the transition

    * Add all roles again

    * Rolemap reworked

commit da17b154a2c67d11a170efe8d1c11d29fceb22cc
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Mon Aug 15 13:16:36 2022 +0200

    Replace header table with customizable sample header viewlet (#2111)

    * Implemented viewlet stub for sample header

    * Removed header table import

    * Added some field methdos

    * Header table mockup

    * Fixed wrong interface

    * Field mockup for widgets

    * Changed CSS

    * Render widgets and labels

    * Styling

    * Field rendering

    * Widget rendering

    * Render required marker

    * Implemented form handling

    * Allow multiple columns for prominent table as well

    * Toggle standard fields visibility

    * Styling improved

    * Added CSS classes

    * Render tooltips

    * Added link to manage sample fields

    * Added JS for datetime fields

    * Changed naming

    * First mockup of manage view

    * Redirect to page URL

    * Implemented prominent/standard field switcher

    * Implemented registry to hold config settings

    * Use config to setup template

    * Write updated config to registry

    * Use field order from settings

    * Handle falsy values

    * Use fields from config

    * Skip invisible fields in manage view

    * Implemented reset functionality

    * Handle field visibility

    * Handle registry record update failure

    * Some refactoring and docstrings

    * Handle new appeared fields in manage view

    * Better naming

    * Code refactoring and cleanup

    * Disable header table completely

    * Allow to hide the header table completely

    * Check save button on form submission

    * Removed unused method

    * Removed old header_table code and template

    * Changelog updated

    * Added missing comment

    * Added missing word in description

commit ab37e341f188616e195cbb7656862cef934d6a70
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Thu Aug 11 15:01:53 2022 +0200

    Add a more descriptive message for "Reject" action inside a Worksheet (#2110)

commit 269d16fa299f7f65a56bdce5e5c2954e1bf8cc74
Author: Winnie <winniehell@users.noreply.github.com>
Date:   Tue Aug 9 09:17:11 2022 +0200

    Enable check for undefined variables (F821) (#2105)

    * Enable check for undefined variables (F821)

    * Remove undefined position from worksheet

    * Ignore unknown variables in Zope scripts

    * Add missing imports

    * Fix copy&paste mistake in tima

    * Fix typo in ulite

commit 7bb4b86206d0153e1b8582d4da4f214e65748746
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Sun Aug 7 19:10:22 2022 +0200

    Fix result formatting when result is below LDL or above UDL (#2104)

    * Migrate LDL/UDL FixedPoint -> StringField

    * Changelog updated

    * Cleanup of the migration steps

    * Fixed typo

    * Re-added custom getters

    * Handle positive scientific formats in API

    * Format LDL/UDL with decimal notation

    * fix test

    * Changelog updated

    * Cut off trailing zeros

    Co-authored-by: Jordi Puiggené <jp@naralabs.com>

commit 6101d0f1810eca281013bed731f90bbf962c7fc9
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Sun Aug 7 19:06:22 2022 +0200

    Convert LDL/UDL fields to string (#2103)

    * Migrate LDL/UDL FixedPoint -> StringField

    * Changelog updated

    * Cleanup of the migration steps

    * Fixed typo

    * Re-added custom getters

    * Cut off trailing zeros

    Co-authored-by: Jordi Puiggené <jp@naralabs.com>

commit b0267f66d56603325f7cffbdba3edb0fe4477cb4
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Sun Aug 7 19:00:29 2022 +0200

    Add help text for numeric result (#2101)

    * Added help text for numeric result

    * Graceful handling if no help dictionary is in item

    * Changelog updated

    * Update CHANGES.rst

commit 45bfb2a37932cf34e2def59d8de7f4c44256dfbb
Author: Winnie <winniehell@users.noreply.github.com>
Date:   Sat Aug 6 14:36:48 2022 +0200

    Restrict flake8 to senaite.core and bika.lims (#2102)

commit dc1c3657610663420aebba969e867026d3144708
Author: Winnie <winniehell@users.noreply.github.com>
Date:   Sat Aug 6 14:18:45 2022 +0200

    Enable check for bare 'except' blocks (E722) (#2100)

    * Enable check for bare 'except' blocks (E722)

    * Remove unnecessary noqa statements

commit ddc039e21544c105af2c73ffd3292c62a5ac9164
Author: Winnie <winniehell@users.noreply.github.com>
Date:   Sat Aug 6 14:14:58 2022 +0200

    Enable check for unused variables (F841) (#2099)

commit 66d390cb06e3ff816f9cac157e672837507fec0a
Author: Winnie <winniehell@users.noreply.github.com>
Date:   Sat Aug 6 14:10:59 2022 +0200

    Enable check for 'return' outside function (F706) (#2098)

    * Enable check for 'return' outside function (F706)

    * Fix comparison to literals (F632)

    * Fix redefinition in list comprehension (F812)

commit ab603e4df3be68c39e1111e2f9b07a75c55f5556
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Fri Aug 5 10:01:23 2022 +0200

    Fix Attribute Error in Multi- Sample Add form when current user is linked to a client contact (#2097)

    * Fix AttributeError for multi AR add form copy

    * fixed center alignment

    * Changelog updated

commit 21142876e6bd37a2f25ae3b3284b8dd45bf7a885
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Fri Aug 5 09:54:27 2022 +0200

    Convert uncertainty field to string (#2096)

    * Implemented float to string API function

    * Converted Uncertainty field to StringField

    * Converted methods to handle strings

    * Added migration step

    * Ensure we have a string result for interpolations

    * Handle different exponential notation

    * Set unfloatable uncertainty values to None

    * Don't float default value

    * added default return values

    * Fix test

    * Return empty string when field is not set

    * Convert to float in formatting function

    * Handle integer values

    * Fixed wrong interpolator

    * Always format manual uncertainty with full precision

    * convert to float for comparison

    * fixed test

    * set uncertainty to None if on a detection limit

    * Remove unsed import

    * Added doctest

    * Added another test

    * Doctest description

    * Added test for uncertainty value as percentage of the result

    * Added test for floating point arithmetic

    * Removed newlines

commit 30532ab5c809ee012ff5be53a435fc91fa01ac17
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Wed Aug 3 12:27:12 2022 +0200

    Fix rounded uncertainty value is stored in the database (#2095)

    * Avoid the formatted uncertainty in edit mode

    * Changelog updated

commit 42d188c0bdc8c21b341e1f2cc98726f7bd83bfff
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Wed Aug 3 11:21:17 2022 +0200

    Skip Auditlog catalog if disabled for DX types catalog multiplexer (#2094)

    * Check if Auditlog disabled in catalogmultiplexer

    * Be graceful when setup container is not yet there

    * Changelog updated

commit 3b5a32002f54cd2ec5095bef58f06bad98686fc8
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Wed Aug 3 11:19:05 2022 +0200

    Reduce logging in localrole adapter (#2093)

commit ac82000a258b53344e808ff82c9a523022c363c7
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Tue Aug 2 10:55:18 2022 +0200

    Add support for dates before 1900 (#2090)

    * Catch ValueError in datetimewidget

    Traceback:
    ```
    Traceback (innermost last):
      Module ZServer.ZPublisher.Publish, line 144, in publish
      Module ZPublisher.mapply, line 85, in mapply
      Module ZServer.ZPublisher.Publish, line 44, in call_object
      Module bika.lims.browser.analysisrequest.view, line 42, in __call__
      Module bika.lims.browser.header_table, line 99, in __call__
      Module Products.Five.browser.pagetemplatefile, line 126, in __call__
      Module Products.Five.browser.pagetemplatefile, line 61, in __call__
      Module zope.pagetemplate.pagetemplate, line 135, in pt_render
      Module Products.PageTemplates.engine, line 378, in __call__
      Module z3c.pt.pagetemplate, line 176, in render
      Module chameleon.zpt.template, line 302, in render
      Module chameleon.template, line 215, in render
      Module chameleon.template, line 192, in render
      Module b5af7af227d0614ddb683e49ef7fbcf2, line 576, in render
      Module f84d498475cc404181368cde9fa956bc, line 379, in render_edit
      Module d88bffbebbf4e01f15a333556ab23c2e, line 702, in render_edit
      Module f84d498475cc404181368cde9fa956bc, line 323, in __fill_widget_body
      Module zope.tales.pythonexpr, line 73, in __call__
       - __traceback_info__: (widget.get_time(value) if value else '')
      Module <string>, line 1, in <module>
      Module senaite.core.browser.widgets.datetimewidget, line 88, in get_time
      Module DateTime.DateTime, line 1566, in strftime
    ValueError: year=1111 is before 1900; the datetime strftime() methods require year >= 1900
    ```

    * Handle dates before 1900 gracefully in dtime API

    * Support date before 1900 in DX datewidget

    * Support date before 1900 in searchable text tokens

    * Support dates < 1900 in samples view

    * Moved to_localized_time to date API

    * Pad a zero if value is a single digit

    * Changelog updated

    * Fix tests and added some more

    * Make flake8 happy

    * Removed unused imports

    * Ensure DateTime object when a string was passed in

    Co-authored-by: Jordi Puiggené <jp@naralabs.com>

commit 1da8e42eaf578c4a30cf950fb08667dfc95a2825
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Tue Aug 2 09:54:13 2022 +0200

    Fix LDL/UDL cut-off and exponential float conversion (#2089)

    * Remove custom LDL/UDL getters

    * Marked method getDetectionLimits() as deprecated

    * Manually convert string values of LDL/UDL

    * Added default values

    * Manually convert LDL/UDL to float

    * Fix test

    * Higher precision in LDL/UDL fields

    Also handle trailing zeros and possible trailing dot

    * Convert LDL/UDL to float in calculation

    * Changelog updated

commit 92d9bee04149529fbb2ebd1a5d58bc87a41ea567
Author: Winnie <winniehell@users.noreply.github.com>
Date:   Tue Aug 2 09:34:26 2022 +0200

    Enable checks for multiple imports on same line (E401) and "import *" (F403, F405) (#2092)

    * Remove unused import

    * Enable check for multiple imports on one line (E401)

    * Enable check for "import *" (F403)

    * Enable check for "import *" (F405)

    * Remove unnecessary commas from flake8 config

commit 3b16764eb7ba487a7f460bd675ad471471393906
Author: Winnie <winniehell@users.noreply.github.com>
Date:   Tue Aug 2 09:32:56 2022 +0200

    Enable checks for "not in" order (E713) and semicolon at line end (E703) (#2091)

    * Remove unused import

    * Enable check for "not in" order (E713)

    * Enable check for semicolon at line end (E703)

    * Clean up existing violations of E703 and E713

commit 09a552c8ae1d3c764960b070cb271c69ff48317b
Author: Winnie <winniehell@users.noreply.github.com>
Date:   Mon Aug 1 23:06:00 2022 +0200

    Use isinstance for comparing types (E721) (#2087)

    Co-authored-by: Ramon Bartl <rb@ridingbytes.com>

commit 737e6a668ad21df0d47b1137f4308d37fe032751
Author: Winnie <winniehell@users.noreply.github.com>
Date:   Mon Aug 1 23:01:15 2022 +0200

    Fix multiple statements on one line (E701) (#2086)

commit 72f4904c7fcb7746971a8979b32858e49edfb1ec
Author: Winnie <winniehell@users.noreply.github.com>
Date:   Mon Aug 1 22:58:31 2022 +0200

    Extend default ignores of flake8 (#2085)

    * Extend default ignores of flake8

    * Fix redefinition of unused name (F811)

commit c716c8faba7b69d38071d28f37cc7c95efb91e7d
Author: Winnie <winniehell@users.noreply.github.com>
Date:   Mon Aug 1 22:54:52 2022 +0200

    Enable checks for mismatching format arguments (F523, F524) (#2084)

    * Enable checks for mismatching format arguments (F523, F524)

    * Remove unnecessary format argument from analysisrequest.py

    * Fix format argument index in exportimport.setupdata

commit b2122d5104bcadf9bcc08c2ee3aa52d82f1d891f
Author: Winnie <winniehell@users.noreply.github.com>
Date:   Mon Aug 1 22:50:40 2022 +0200

    Remove or ignore unused imports (F401) (#2081)

    * Remove unused imports (F401)

    * Ignore unused imports in exportimport.instruments

    * Remove unused imports from browser.viewlets.toolbar

    * Remove unused imports from browser.form.adapters.sampletype

    * Remove unused imports from browser.fields.record

    * Ignore unused imports in behaviors

    * Remove unused imports from exportimport.dataimport

    * Remove unused imports from exportimport.instruments

    * Remove unused imports from numbergenerator

    * Remove unused imports from jsonapi

    * Ignore unused imports in skins.bika.guard_handler

    * Remove unused imports from content.referencesample

    * Remove unused imports from content.worksheetfolder

    * Remove unused imports from content.bikasetup

    * Remove unused imports from content.instrumenttype

    * Remove unused imports from content.duplicateanalysis

    * Remove unused imports from content.referencedefinition

    * Remove unused imports from content.manufacturer

    * Remove unused imports from content.report

    * Remove unused imports from browser.analysisprofile

    * Ignore unused imports in browser.worksheet.views

    * Remove unused imports in browser.department.ajax

    * Remove unused imports in browser.viewlets.analysisrequest

    * Ignore unused imports in browser.analyses

    * Remove unused imports in browser.analyses.view

    * Ignore unused imports in browser.client

    * Ignore unused imports in browser.widgets

    * Remove unused imports in browser.widgets.rejectionwidget

    * Ignore unused imports in browser.analysisrequest.analysisrequests

    * Ignore unused imports in browser.analysisrequest

    * Remove unused imports in browser.reports

    * Remove unused imports in lims.api.analysis

    * Remove unused imports in lims.monkey.Widget

    * Ignore unused imports in subscribers

    * Ignore unused imports in interfaces

    * Enable E712 in flake8

commit cff8ad01d2fe6a7407ab9ed2d1b1ceefd540a727
Author: Winnie <winniehell@users.noreply.github.com>
Date:   Mon Aug 1 22:40:58 2022 +0200

    Replace dynamic code execution with dynamic import in reports (#2078)

    * Replace dynamic code execution with dynamic import in reports

    * Use importlib instead of __import__

    * Add changelog entry

    * Add missing line break in senaitesetup.py

commit 5b3b7d849e2575a30cd85864d5405e0b89b33070
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Mon Aug 1 10:40:57 2022 +0200

    Lookup workflow action redirect URL from request first (#2083)

    * Lookup redirect URL from request

    * Changelog updated

    Co-authored-by: Jordi Puiggené <jp@naralabs.com>

commit 2c3152ef9bdde7fd84efe00759b64c9e6330b584
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Mon Aug 1 10:38:20 2022 +0200

    Include sample ID in form ID for lab, field and qc analyses listings (#2082)

    * Include sample ID in listing table form ID

    * Use % substitutions

    * Changelog updated

    Co-authored-by: Jordi Puiggené <jp@naralabs.com>

commit f3b920090b319ad5426e3fc6ad2ad124ec91e35a
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Mon Aug 1 10:29:08 2022 +0200

    Allow to override logo and styles in new SENAITE Setup (#2075)

    * Patched catalog_object method

    * Added schema fields in senaite_setup

    * Hide setup tile when auditlogging is disabled

    * Added proxy fields in bika_setup

    * Changelog updated

    * Update src/bika/lims/content/bikasetup.py

    Co-authored-by: Winnie <winniehell@users.noreply.github.com>

    * Show status message when auditlog is disabled

    * Added sitelogo view

    * Added Logo/CSS fields to SENAITE setup

    * Check setup in toolbar logo view

    * Changelog

    * Be graceful for not-yet-migrated sites

    Co-authored-by: Winnie <winniehell@users.noreply.github.com>
    Co-authored-by: Jordi Puiggené <jp@naralabs.com>

commit 5f99f12bd9cc76075ed466dddfb4b2edb0e29920
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Mon Aug 1 10:19:56 2022 +0200

    Fix style of selected language in dropdown (#2076)

    * Fix style of selected language in dropdown

    * Changelog

    * Update CHANGES.rst

    Co-authored-by: Jordi Puiggené <jp@naralabs.com>

commit 825e8c92a8c7403eb52c35c865599db524609f6f
Author: Winnie <winniehell@users.noreply.github.com>
Date:   Fri Jul 29 16:07:04 2022 +0200

    Clean up comparison to False (E712) (#2079)

commit 90f68aa4aa7287d8cb83ec02d0c769d49fe0e433
Author: Winnie <winniehell@users.noreply.github.com>
Date:   Fri Jul 29 16:05:11 2022 +0200

    Enable flake8 for new violations in Travis CI (#2077)

    * Enable flake8 for new violations in Travis CI

    * Manually install flake8 in Travis CI

    * Fix path to flake8

commit fa5b48b127d1007ef4fb3e02157a1b4edc67f8ea
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Thu Jul 28 13:50:12 2022 +0200

    Allow to disable global Auditlogging (#2074)

    * Patched catalog_object method

    * Added schema fields in senaite_setup

    * Hide setup tile when auditlogging is disabled

    * Added proxy fields in bika_setup

    * Changelog updated

    * Update src/bika/lims/content/bikasetup.py

    Co-authored-by: Winnie <winniehell@users.noreply.github.com>

    * Show status message when auditlog is disabled

    Co-authored-by: Winnie <winniehell@users.noreply.github.com>

commit b4f47e102b5c07b72cd7b77323d23674e5b72c1e
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Wed Jul 27 17:08:57 2022 +0200

    Use <br/> to join recipients (#2073)

commit b88d4bf11826adcc43ebcb27f9ede43d86369f47
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Wed Jul 27 10:02:11 2022 +0200

    Refactor report filename generation to own method (#2072)

    * Refactor report filename generation to own method

    * Changelog

    * Added filename method to download view as well

    * typo

    Co-authored-by: Jordi Puiggené <jp@naralabs.com>

commit 5566d6b2d864762acb71e409ecd93719c1a4fb35
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Wed Jul 27 09:57:02 2022 +0200

    Move sample reports to report catalog, add batch ID and email sent flag to listing (#2071)

    * Include Batch column in reports listing

    * Move ARReport to Report Catalog

    * Changelog added

    * Include email recipients in search index as well

    * Added email sent column

    * changelog changed

    * changelog

commit 8cddcef2e5f550e45878b1aa6ddc9bfbab27d2a4
Author: Winnie <winniehell@users.noreply.github.com>
Date:   Tue Jul 26 21:55:53 2022 +0200

    Fix typo/duplicate translation key in colophon (#2070)

    * Fix typo/duplicate translation key in colophon

    * Add changelog entry

commit 1c237556b547a822231dfa02bb944f09054b8255
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Tue Jul 26 21:16:08 2022 +0200

    Replace ParentAnalysisRequest ReferenceField by UIDReferenceField (#2069)

    * Replace ReferenceField by UIDReferenceField

    * Rewrite getDescendants function

    * Better comment

    * Changelog

    * Simplify

commit ff1102e853996e8ec5cad186f14430e4ce8d1b21
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Tue Jul 26 15:12:27 2022 +0200

    Fix samples w/o active analyses are displayed under "unassigned" filter (#2066)

    * Fix samples w/o active analyses are displayed under "unassigned" filter

    * Whitespace end of file

    * Take partitions into consideration

    Co-authored-by: Ramon Bartl <rb@ridingbytes.com>

commit 696054ef88ee6a652476dc0d65500d025b238513
Author: Jordi Puiggené <jp@naralabs.com>
Date:   Tue Jul 26 13:22:02 2022 +0200

    Fix "Create Worksheet" modal visible for samples w/o unassigned analyses (#2065)

    * Do not allow "Create Worksheet" action unless one unassigned analysis

    * No need to wake up the analysis objects

    * Fix "unassigned_state" for samples

    * Changelog

    * Revert "Fix "unassigned_state" for samples"

    This reverts commit 2359c5a352d1c786302b944bf2a0d346784a17d2.

commit 0b458c227f0fbb152cabac89442cfb051350d9a5
Author: Ramon Bartl <rb@ridingbytes.com>
Date:   Mon Jul 25 09:41:50 2022 +0200

    Fix Traceback for SENAITE Setup during installation (#2064)

commit 38…
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging this pull request may close these issues.

None yet

2 participants