Skip to content

Add unmanaged storage container support#69

Open
aurthurm wants to merge 1 commit into
senaite:2.xfrom
aurthurm:unmanaged-container
Open

Add unmanaged storage container support#69
aurthurm wants to merge 1 commit into
senaite:2.xfrom
aurthurm:unmanaged-container

Conversation

@aurthurm

Copy link
Copy Markdown

Description of the issue/feature this PR addresses

Linked issue: #68

This PR implements unmanaged sample container support in senaite.storage.

StorageSamplesContainer previously assumed all sample containers were grid-managed and required fixed row/column positions. This PR adds support for unmanaged containers that store samples without slot-level position tracking,
while preserving the existing managed behavior.

The PR also updates the related store/list/viewlet flows so unmanaged containers behave correctly in the UI and backend.

Current behavior before PR

  • StorageSamplesContainer always behaves as a managed grid container
  • storing samples requires selecting a position
  • sample listings inside a samples container always show a position column
  • stored-sample location viewlets always display a position
  • unmanaged-like containers cannot be modeled properly
  • editing a container that has unmanaged semantics can trigger row/column validation errors after samples have already been added

Desired behavior after PR is merged

  • StorageSamplesContainer supports both managed and unmanaged modes
  • managed containers keep the existing row/column position behavior
  • unmanaged containers allow storing samples without fixed positions
  • unmanaged containers can optionally enforce a physical_capacity
  • container listings and stored-sample displays no longer show meaningless positions for unmanaged containers
  • the edit form shows the relevant fields depending on mode:
    • managed: rows and columns
    • unmanaged: physical_capacity
  • managed capacity stays aligned with rows * columns
  • unmanaged containers no longer fail managed-grid minimum-size validation when edited after samples have been stored

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

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

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant