Новости
2.0.0 — 2026-10-05
heading.anchorLabel2.0.0
heading.anchorLabelСпрямо 1.0.1.
Внимание при деплой
heading.anchorLabel- DI:
di.xmlе променен — при деплоя се чистиgenerated/. - Схема:
db_schemaе променена —setup:upgradeпипа жива база. - Setup: data/schema patch — изпълнява се срещу жива база при
setup:upgrade. - Static: стилове/JS/шаблони във
view/*/web(илиrequirejs-config.js) са променени — при деплояsetup:static-content:deploy. - Зависимости:
requireвcomposer.json: добавенmage-os/module-rma(^2.4); добавенmagento/module-backend(*); добавенmagento/module-customer(*); добавенmagento/module-sales(*); добавенwebcode/module-base(*).
Комити (5)
heading.anchorLabel058dbf1Release 2.0.0049e28brma-6: карти по артикул във формите за връщане (Luma + Hyvä)c22bec3rma-4: integration тестове за надбавката512ca9brma-4: Webcode_RMA 2.0 — надбавка върху MageOS_RMA02235abrma-3: conflict с mage-os/module-rma — 1.x не може да живее с MageOS_RMA
Бележки
heading.anchorLabel2.0 е надбавка към RMA модула на Mage-OS (mage-os/module-rma ^2.4, MIT; работи и на Magento Open Source). Процесът на връщане — формите за клиент и гост, „Моите връщания“, админ гридът и формата, статусите, причините, коментарите, файловете, имейлите, REST и GraphQL — е на Mage-OS. Webcode_RMA добавя:
- одобрение по причина — превключвател „Approve Automatically“ на всяка причина (Sales → RMA → RMA Reasons); заявка, чиято причина и причините на всички артикули са с включен превключвател, се одобрява веднага (истинска смяна на статус, тръгва
rma_approved_after); - причина за всеки артикул — в create формите (клиент, гост, админ), в админ „Requested Items“ и в изгледа на клиента;
- карта за всеки артикул във формите (снимка, цена, наличност; Luma и Hyvä);
- възстановяване на сума — бутон „Създай кредитно известие“ към нативния New Memo с попълнени количества; след refund статус „Сумата е възстановена“ / „Сумата е частично възстановена“ с отделни имейл шаблони (със сумата);
- товарителница за връщане —
Webcode\RMA\Api\ReturnLabelRepositoryInterface, сваляне от админа и от логнат клиент.
⚠️ BC-break спрямо 1.x
heading.anchorLabel- 2.0 не надгражда 1.x: собствените таблици, контролери, админ, имейли и API на 1.x (
Webcode\RMA\Api\RequestRepositoryInterface,RequestService,OrderLookupService,webcode_rma_request_status_change…) са махнати. Миграция на данни няма. Магазин с данни в 1.x остава на^1.0(клон1.x). - Консюмърите трябва да са на 2.x: Webcode_RMACarrier (magento2/rma-carrier!8) и Webcode_EasyReturns (magento2/easy-returns!7).
При деплой
heading.anchorLabelsetup:upgrade(схема + data patch за двата нови статуса), чистене наgenerated/,setup:static-content:deploy.- Hyvä: прекомпилирайте Tailwind на темата — модулът се регистрира за build-а, но класовете на картите ги няма, докато темата не се билдне.
- Включете RMA (Stores → Configuration → Sales → RMA - Return Management, по подразбиране изключен). Ако магазинът ползва собствени статуси на поръчките (напр.
payment_accepted), добавете ги в Allowed Order Statuses — сравнението е по статус, не по state.
Известни проблеми
heading.anchorLabel- В тестовете веднъж (от пет) refund не смени статуса на RMA; не се възпроизведе, причината не е установена. Integration тестът
RmaAddOnTestпокрива частичния и пълния refund. - RMA, създадена от админа директно като Approved, не задейства товарителница в RMACarrier.
1.0.1 — 2026-09-30
heading.anchorLabel1.0.1
heading.anchorLabelСпрямо 1.0.0.
Комити (7)
heading.anchorLabeldaf6271refactor: текущата RMA заявка само през Model\CurrentRequest (rma-1)5fd0d99ci: махни изводимите ключове и застоелия MATRIXea02d89Свържи rmaRequestFactory към property-то, което блокът наистина чете83f9287CI: DEPENDENTS — пълен обратен списък на консюмъритеecb6d93Declare comment in @translate so field comments are collectableab2329efix: PHPCS съответствие (Magento2 standard)fa0b851fix(ci): стандартен module pipeline (include + vars)
Бележки
heading.anchorLabel- Текущата RMA заявка идва от едно място —
Webcode\RMA\Model\CurrentRequest(rma-1). Блоковете на изгледа не четат регистъра сами; проектен код трябва да инжектираCurrentRequestвместо да чете ключаcurrent_rma_request. - Контролерът на изгледа регистрира заявката — блоковете вече не зависят от реда, в който layout-ът ги строи.
При деплой
heading.anchorLabel- Нови незадължителни конструкторски аргументи в блоковете и контролера — изчисти
generated/. Наследници, строени позиционно, продължават да работят.
1.0.0 — 2026-07-25
heading.anchorLabelRelease 1.0.0