Skip to content

Forward-merge 2026.2 into 2026.x#1948

Merged
xIrusux merged 3 commits into
2026.xfrom
merge/2026.2-into-2026.x
Jul 13, 2026
Merged

Forward-merge 2026.2 into 2026.x#1948
xIrusux merged 3 commits into
2026.xfrom
merge/2026.2-into-2026.x

Conversation

@xIrusux

@xIrusux xIrusux commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Summary

Test plan

  • CI passes on this branch
  • No behavioral changes expected on 2026.x beyond the WorkflowFilter addition already released on 2026.2

xIrusux and others added 3 commits July 9, 2026 18:25
#1938)

* [Workflow] Exclude folders from workflow element queries (#1930)

* [Workflow] exclude folders from workflow element queries

Folders share their element's ctype (asset/object/document) in
element_workflow_state, so fetchByWorkflowState listed asset folders
alongside real assets in the workflow pending-items widget and the
workflow_get_elements click-through list (pimcore/studio-dashboards-bundle#301).

Filter out folder subtypes in SQL via the already-present assets/objects/
documents joins. The IS NULL guard per table is required: a plain
"type != 'folder'" would drop every non-matching LEFT JOIN row (NULL type)
through three-valued logic, emptying the result. Orphaned states (element
deleted) are preserved unchanged.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* Address static-analysis finding: drop unused leftJoin callback params

Verify the join count via expects(exactly(3)) instead of a capturing
callback with unused $fromAlias/$join parameters (Codacy/PHPMD
UnusedFormalParameter).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* [Workflow] add WorkflowFilter to scope element grids by workflow place

New search-index filter (type `workflow`, key=workflow name, value=place) that
resolves the matching element ids via WorkflowElementsRepository (folders already
excluded) and applies the standard searchByIds modifier. Lets the native element
listing be filtered to a workflow state server-side — the basis for the state
distribution donut drill-down opening the native grid instead of a bespoke list.

Element type is derived from the query (data-object / asset / document). Empty id
set matches nothing; a MAX_IDS ceiling guards the OpenSearch terms limit (logged).
Registered with the pimcore.studio_backend.search_index.filter tag.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* [Workflow] document the workflow grid filter

Add the `workflow` column filter to the Grid architecture docs (filters
table + example): key = workflow name, value = place (omit/null = all
states), folders excluded, ids resolved server-side.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@sonarqubecloud

Copy link
Copy Markdown

@codacy-production

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 12 minor

Results:
12 new issues

Category Results
BestPractice 1 minor
CodeStyle 11 minor

View in Codacy

🟢 Metrics 24 complexity

Metric Results
Complexity 24

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

@xIrusux
xIrusux merged commit d7d7c6c into 2026.x Jul 13, 2026
14 checks passed
@xIrusux
xIrusux deleted the merge/2026.2-into-2026.x branch July 13, 2026 09:58
@github-actions github-actions Bot locked and limited conversation to collaborators Jul 13, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant