feat: carry over promotions toggle on exchanges (#14128)
* feat: carry over promotions toggle on exchanges * fix: inital flag value, return the flag on preview * fix: validation of allocation type * fix: revert client changes * fix: invert condition * feat: recompute adjustments when outbound item is updated * fix: condition again * fix: display more accurate inbound/outbound totals for exchanges * fix: make exchanges specs green * feat: more testing cases * wip: pr feedback * fix: use plural for the flag on Admin * fix: schema test, route refactor * feat: tooltip * feat: refactor to use update workflow * feat: display applied promotion per item on order details, show copy sku on hover * feat: refactor edits and exchanges to have common flag toggle flow * fix: delete empty file * fix: exchange_id param query
This commit is contained in:
@@ -721,6 +721,15 @@
|
||||
"length": 6,
|
||||
"mappedType": "datetime"
|
||||
},
|
||||
"carry_over_promotions": {
|
||||
"name": "carry_over_promotions",
|
||||
"type": "boolean",
|
||||
"unsigned": false,
|
||||
"autoincrement": false,
|
||||
"primary": false,
|
||||
"nullable": true,
|
||||
"mappedType": "boolean"
|
||||
},
|
||||
"order_id": {
|
||||
"name": "order_id",
|
||||
"type": "text",
|
||||
@@ -1978,15 +1987,6 @@
|
||||
"unique": false,
|
||||
"expression": "CREATE INDEX IF NOT EXISTS \"IDX_order_item_order_id_version\" ON \"order_item\" (\"order_id\", \"version\") WHERE deleted_at IS NULL"
|
||||
},
|
||||
{
|
||||
"keyName": "IDX_order_item_version",
|
||||
"columnNames": [],
|
||||
"composite": false,
|
||||
"constraint": false,
|
||||
"primary": false,
|
||||
"unique": false,
|
||||
"expression": "CREATE INDEX IF NOT EXISTS \"IDX_order_item_version\" ON \"order_item\" (version) WHERE deleted_at IS NULL"
|
||||
},
|
||||
{
|
||||
"keyName": "IDX_order_item_item_id",
|
||||
"columnNames": [],
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
import { Migration } from "@mikro-orm/migrations"
|
||||
|
||||
export class Migration20251125164002 extends Migration {
|
||||
override async up(): Promise<void> {
|
||||
this.addSql(
|
||||
`alter table if exists "order_change" add column if not exists "carry_over_promotions" boolean null;`
|
||||
)
|
||||
}
|
||||
|
||||
override async down(): Promise<void> {
|
||||
this.addSql(
|
||||
`alter table if exists "order_change" drop column if exists "carry_over_promotions";`
|
||||
)
|
||||
}
|
||||
}
|
||||
@@ -27,6 +27,7 @@ const _OrderChange = model
|
||||
declined_at: model.dateTime().nullable(),
|
||||
canceled_by: model.text().nullable(),
|
||||
canceled_at: model.dateTime().nullable(),
|
||||
carry_over_promotions: model.boolean().nullable(),
|
||||
order: model.belongsTo<() => typeof Order>(() => Order, {
|
||||
mappedBy: "changes",
|
||||
}),
|
||||
|
||||
@@ -3336,6 +3336,7 @@ export default class OrderModuleService
|
||||
"status",
|
||||
"description",
|
||||
"internal_note",
|
||||
"carry_over_promotions",
|
||||
],
|
||||
relations: [] as string[],
|
||||
order: {},
|
||||
|
||||
Reference in New Issue
Block a user