Skip to content

fix(order): повторная проверка fixed после mutation статуса плагином - #464

Open
Ibochkarev wants to merge 1 commit into
betafrom
fix/issue-382-status-fixed-revalidate
Open

fix(order): повторная проверка fixed после mutation статуса плагином#464
Ibochkarev wants to merge 1 commit into
betafrom
fix/issue-382-status-fixed-revalidate

Conversation

@Ibochkarev

Copy link
Copy Markdown
Member

Описание

OrderStatusService::change() проверял fixed/final до msOnBeforeChangeOrderStatus, но не после merge returnedValues['status']. Плагин мог подменить target status на более ранний position и обойти правило.

Вынесена validateStatusTransition(); после перечитывания статуса из mutation правила применяются повторно.

Тип изменений

  • Исправление бага (non-breaking change)

Связанные Issues

Closes #382

Как это было протестировано?

cd core/components/minishop3
php -l src/Services/Order/OrderStatusService.php   # exit 0
php tests/OrderStatusFixedRevalidateTest.php         # exit 0
composer ci:php                                    # exit 0 (14 smoke)

Gate A

AC Evidence
После mutation — re-validate fixed/position validateStatusTransition() после $resolvedStatusId !== $statusId
Ошибка ms3_err_status_fixed тот же helper, что до события
Regression guard OrderStatusFixedRevalidateTest.php

@Ibochkarev
Ibochkarev requested a review from biz87 July 28, 2026 05:45
@Ibochkarev Ibochkarev added bug Something isn't working priority: medium Средний приоритет labels Jul 28, 2026
@Ibochkarev
Ibochkarev force-pushed the fix/issue-382-status-fixed-revalidate branch from c30783a to 004c53a Compare July 29, 2026 02:05
Extract validateStatusTransition() and run it again after
msOnBeforeChangeOrderStatus may change the target status id.
@Ibochkarev
Ibochkarev force-pushed the fix/issue-382-status-fixed-revalidate branch from 004c53a to 85467c4 Compare July 29, 2026 11:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working priority: medium Средний приоритет

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug] fixed status можно обойти через msOnBeforeChangeOrderStatus mutation

1 participant