diff --git a/addons/point_of_sale/static/src/app/screens/partner_list/partner_list.js b/addons/point_of_sale/static/src/app/screens/partner_list/partner_list.js
index 8b594894e3b..dfd6525b9e8 100644
--- a/addons/point_of_sale/static/src/app/screens/partner_list/partner_list.js
+++ b/addons/point_of_sale/static/src/app/screens/partner_list/partner_list.js
@@ -51,14 +51,31 @@ export class PartnerListScreen extends Component {
this.partnerEditor = {}; // create an imperative handle for PartnerDetailsEdit
}
// Lifecycle hooks
- back() {
- if (this.state.detailIsShown) {
+ back(force = false) {
+ if (this.state.detailIsShown && !force) {
this.state.detailIsShown = false;
} else {
this.props.resolve({ confirmed: false, payload: false });
this.pos.closeTempScreen();
}
}
+
+ goToOrders() {
+ this.back(true);
+ const partner = this.state.editModeProps.partner;
+ const partnerHasActiveOrders = this.pos
+ .get_order_list()
+ .some((order) => order.partner?.id === partner.id);
+ const ui = {
+ searchDetails: {
+ fieldName: "PARTNER",
+ searchTerm: partner.name,
+ },
+ filter: partnerHasActiveOrders ? "" : "SYNCED",
+ };
+ this.pos.showScreen("TicketScreen", { ui });
+ }
+
confirm() {
this.props.resolve({ confirmed: true, payload: this.state.selectedPartner });
this.pos.closeTempScreen();
diff --git a/addons/point_of_sale/static/src/app/screens/partner_list/partner_list.xml b/addons/point_of_sale/static/src/app/screens/partner_list/partner_list.xml
index ff689cf716b..c9d46e6914e 100644
--- a/addons/point_of_sale/static/src/app/screens/partner_list/partner_list.xml
+++ b/addons/point_of_sale/static/src/app/screens/partner_list/partner_list.xml
@@ -22,9 +22,10 @@