Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 2 additions & 27 deletions src/ROUTES.ts
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,8 @@ const DYNAMIC_ROUTES = {
SCREENS.RIGHT_MODAL.SEARCH_REPORT,
SCREENS.RIGHT_MODAL.EXPENSE_REPORT,
SCREENS.RIGHT_MODAL.SEARCH_MONEY_REQUEST_REPORT,
SCREENS.MONEY_REQUEST.CREATE,

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Authorize verify routes from create tabs

When the unvalidated-user flow is opened from money-request creation tabs, createDynamicRoute() appends verify-account to the active tab URL (for example create/pay/start/.../manual/verify-account). The create flow redirects users directly to these tab URLs in IOURequestRedirectToStartPage, and the linking config parses the tab (manual, distance, scan, etc.) as the focused route under SCREENS.MONEY_REQUEST.CREATE. Since this entry only authorizes the parent create screen, getStateFromPath rejects the dynamic suffix for those tab URLs and the magic-code page will not open from that flow.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't fully understand what codex has in mind here but SCREENS.MONEY_REQUEST.CREATE seems to be working fine:

Screen.Recording.2026-06-09.at.14.01.59.mov

SCREENS.MONEY_REQUEST.STEP_CONFIRMATION,
],
},
TWO_FACTOR_AUTH_VERIFY_ACCOUNT: {
Expand Down Expand Up @@ -908,7 +910,6 @@ const ROUTES = {
return `search?q=${encodeURIComponent(query)}${name ? `&name=${name}` : ''}${rawQuerySegment}` as const;
},
},
SEARCH_ROOT_VERIFY_ACCOUNT: `search/${VERIFY_ACCOUNT}`,
SEARCH_SAVE: 'search/save',
SEARCH_SAVED_SEARCH_RENAME: {
route: 'search/saved-search/rename',
Expand Down Expand Up @@ -951,10 +952,6 @@ const ROUTES = {
},
},

SEARCH_REPORT_VERIFY_ACCOUNT: {
route: `search/view/:reportID/${VERIFY_ACCOUNT}`,
getRoute: (reportID: string) => `search/view/${reportID}/${VERIFY_ACCOUNT}` as const,
},
SEARCH_MONEY_REQUEST_REPORT: {
route: 'search/r/:reportID',
getRoute: ({reportID, backTo}: {reportID: string; backTo?: string}) => {
Expand All @@ -963,10 +960,6 @@ const ROUTES = {
return getUrlWithBackToParam(baseRoute, backTo);
},
},
SEARCH_MONEY_REQUEST_REPORT_VERIFY_ACCOUNT: {
route: `search/r/:reportID/${VERIFY_ACCOUNT}`,
getRoute: (reportID: string) => `search/r/${reportID}/${VERIFY_ACCOUNT}` as const,
},
SEARCH_MONEY_REQUEST_REPORT_HOLD_TRANSACTIONS: {
route: 'search/r/:reportID/hold',
getRoute: ({reportID, backTo}: {reportID: string; backTo?: string}) => {
Expand Down Expand Up @@ -1511,14 +1504,6 @@ const ROUTES = {
return `r/${reportID}/avatar` as const;
},
},
REPORT_VERIFY_ACCOUNT: {
route: `r/:reportID/${VERIFY_ACCOUNT}`,
getRoute: (reportID: string) => `r/${reportID}/${VERIFY_ACCOUNT}` as const,
},
EXPENSE_REPORT_VERIFY_ACCOUNT: {
route: `e/:reportID/${VERIFY_ACCOUNT}`,
getRoute: (reportID: string) => `e/${reportID}/${VERIFY_ACCOUNT}` as const,
},
REPORT_CHANGE_APPROVER_ADD_APPROVER: {
route: 'r/:reportID/change-approver/add',
getRoute: (reportID: string) => `r/${reportID}/change-approver/add` as const,
Expand Down Expand Up @@ -1593,11 +1578,6 @@ const ROUTES = {
return `${action as string}/${iouType as string}/start/${transactionID}/${reportID}` as const;
},
},
MONEY_REQUEST_CREATE_VERIFY_ACCOUNT: {
route: `:action/:iouType/start/:transactionID/:reportID/${VERIFY_ACCOUNT}`,
getRoute: (action: IOUAction, iouType: IOUType, transactionID: string, reportID: string) =>
`${action as string}/${iouType as string}/start/${transactionID}/${reportID}/${VERIFY_ACCOUNT}` as const,
},
MONEY_REQUEST_STEP_SEND_FROM: {
route: 'create/:iouType/from/:transactionID/:reportID',

Expand All @@ -1622,11 +1602,6 @@ const ROUTES = {
return getUrlWithBackToParam(`${action as string}/${iouType as string}/confirmation/${transactionID}/${reportID}${optionalRoutePart}` as const, backTo);
},
},
MONEY_REQUEST_STEP_CONFIRMATION_VERIFY_ACCOUNT: {
route: `:action/:iouType/confirmation/:transactionID/:reportID/${VERIFY_ACCOUNT}`,
getRoute: (action: IOUAction, iouType: IOUType, transactionID: string, reportID: string) =>
`${action as string}/${iouType as string}/confirmation/${transactionID}/${reportID}/${VERIFY_ACCOUNT}` as const,
},
MONEY_REQUEST_STEP_AMOUNT: {
route: ':action/:iouType/amount/:transactionID/:reportID/:reportActionID?/:pageIndex?/:backToReport?',
getRoute: (action: IOUAction, iouType: IOUType, transactionID: string | undefined, reportID: string | undefined, reportActionID?: string, pageIndex?: string, backTo = '') => {
Expand Down
8 changes: 0 additions & 8 deletions src/SCREENS.ts
Original file line number Diff line number Diff line change
Expand Up @@ -45,13 +45,10 @@ const SCREENS = {
},
SEARCH: {
ROOT: 'Search_Root',
ROOT_VERIFY_ACCOUNT: 'Search_Root_Verify_Account',
MONEY_REQUEST_REPORT: 'Search_Money_Request_Report',
MONEY_REQUEST_REPORT_VERIFY_ACCOUNT: 'Search_Money_Request_Report_Verify_Account',
MONEY_REQUEST_REPORT_HOLD_TRANSACTIONS: 'Search_Money_Request_Report_Hold_Transactions',
MONEY_REQUEST_REPORT_REJECT_TRANSACTIONS: 'Search_Money_Request_Report_Reject_Transactions',
COLUMNS_RHP: 'Search_Columns_RHP',
REPORT_VERIFY_ACCOUNT: 'Search_Report_Verify_Account',
ADVANCED_FILTERS_RHP: 'Search_Advanced_Filters_RHP',
ADVANCED_FILTERS_CONTENT_RHP: 'Search_Advanced_Filters_Content_RHP',
ADVANCED_FILTERS_TYPE_RHP: 'Search_Advanced_Filters_Type_RHP',
Expand Down Expand Up @@ -352,7 +349,6 @@ const SCREENS = {
ADD_EXISTING_EXPENSE: 'AddExistingExpense',
SCHEDULE_CALL: 'ScheduleCall',
REPORT_CHANGE_APPROVER: 'Report_Change_Approver',
REPORT_VERIFY_ACCOUNT: 'Report_Verify_Account',
MERGE_TRANSACTION: 'MergeTransaction',
REPORT_CARD_ACTIVATE: 'Report_Card_Activate',
DOMAIN: 'Domain',
Expand All @@ -366,12 +362,10 @@ const SCREENS = {

MONEY_REQUEST: {
CREATE: 'Money_Request_Create',
CREATE_VERIFY_ACCOUNT: 'Money_Request_Create_Verify_Account',
HOLD: 'Money_Request_Hold_Reason',
REJECT: 'Money_Request_Reject_Reason',
REPORT_REJECT: 'Money_Request_Report_Reject',
STEP_CONFIRMATION: 'Money_Request_Step_Confirmation',
STEP_CONFIRMATION_VERIFY_ACCOUNT: 'Money_Request_Step_Confirmation_Verify_Account',
START: 'Money_Request_Start',
STEP_UPGRADE: 'Money_Request_Step_Upgrade',
STEP_AMOUNT: 'Money_Request_Step_Amount',
Expand Down Expand Up @@ -1022,8 +1016,6 @@ const SCREENS = {
REIMBURSEMENT_ACCOUNT_NON_USD: 'Reimbursement_Account_Non_USD',
REIMBURSEMENT_ACCOUNT_ENTER_SIGNER_INFO: 'Reimbursement_Account_Signer_Info',
DYNAMIC_REFERRAL_DETAILS: 'Dynamic_Referral_Details',
REPORT_VERIFY_ACCOUNT: 'Report_Verify_Account',
EXPENSE_REPORT_VERIFY_ACCOUNT: 'Expense_Report_Verify_Account',
SHARE: {
ROOT: 'Share_Root',
SHARE_DETAILS: 'Share_Details',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,10 @@ import {generateDefaultWorkspaceName} from '@libs/actions/Policy/Policy';
import {search} from '@libs/actions/Search';
import getNonEmptyStringOnyxID from '@libs/getNonEmptyStringOnyxID';
import {getTotalAmountForIOUReportPreviewButton} from '@libs/MoneyRequestReportUtils';
import createDynamicRoute from '@libs/Navigation/helpers/dynamicRoutesUtils/createDynamicRoute';
import Navigation from '@libs/Navigation/Navigation';
import type {KYCFlowEvent, TriggerKYCFlow, WorkspacePolicyPaymentOption} from '@libs/PaymentUtils';
import {handleUnvalidatedAccount, selectPaymentType} from '@libs/PaymentUtils';
import {selectPaymentType} from '@libs/PaymentUtils';
import {sortPoliciesByName} from '@libs/PolicyUtils';
import {hasRequestFromCurrentAccount} from '@libs/ReportActionsUtils';
import {getSecondaryReportActions} from '@libs/ReportSecondaryActionUtils';
Expand All @@ -62,7 +64,7 @@ import {payInvoice, payMoneyRequest} from '@userActions/IOU/PayMoneyRequest';
import {canIOUBePaid as canIOUBePaidAction} from '@userActions/IOU/ReportWorkflow';
import CONST from '@src/CONST';
import ONYXKEYS from '@src/ONYXKEYS';
import ROUTES from '@src/ROUTES';
import ROUTES, {DYNAMIC_ROUTES} from '@src/ROUTES';
import type {Route} from '@src/ROUTES';
import {personalDetailsLoginSelector} from '@src/selectors/PersonalDetails';
import type {PaymentMethodType} from '@src/types/onyx/OriginalMessage';
Expand Down Expand Up @@ -233,7 +235,7 @@ function MoneyReportHeaderSelectionDropdown({reportID, primaryAction, isReportIn
return true;
}
if (!isUserValidated && paymentMethodType !== CONST.IOU.PAYMENT_TYPE.ELSEWHERE) {
handleUnvalidatedAccount(moneyRequestReport);
Navigation.navigate(createDynamicRoute(DYNAMIC_ROUTES.VERIFY_ACCOUNT.path));
return true;
}
return false;
Expand Down
9 changes: 4 additions & 5 deletions src/components/SettlementButton/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ import {createWorkspace, generateDefaultWorkspaceName, isCurrencySupportedForDir
import {navigateToBankAccountRoute} from '@libs/actions/ReimbursementAccount';
import {getLastPolicyBankAccountID, getLastPolicyPaymentMethod} from '@libs/actions/Search';
import {isBankAccountPartiallySetup} from '@libs/BankAccountUtils';
import createDynamicRoute from '@libs/Navigation/helpers/dynamicRoutesUtils/createDynamicRoute';
import Navigation from '@libs/Navigation/Navigation';
import {formatPaymentMethods, getActivePaymentType, getBusinessBankAccountOptions, matchesCurrency} from '@libs/PaymentUtils';
import {getPolicyEmployeeAccountIDs, isPaidGroupPolicy, isPolicyAdmin, sortPoliciesByName} from '@libs/PolicyUtils';
Expand All @@ -43,15 +44,15 @@ import {
isInvoiceReport as isInvoiceReportUtil,
isIOUReport,
} from '@libs/ReportUtils';
import {handleUnvalidatedUserNavigation, useSettlementButtonPaymentMethods} from '@libs/SettlementButtonUtils';
import useSettlementButtonPaymentMethods from '@libs/SettlementButtonUtils';
import shouldPopoverUseScrollView from '@libs/shouldPopoverUseScrollView';
import {shouldRestrictUserBillableActions} from '@libs/SubscriptionUtils';
import {pressLockedBankAccount, setPersonalBankAccountContinueKYCOnSuccess} from '@userActions/BankAccounts';
import {approveMoneyRequest} from '@userActions/IOU/ReportWorkflow';
import {navigateToConciergeChat} from '@userActions/Report';
import CONST from '@src/CONST';
import ONYXKEYS from '@src/ONYXKEYS';
import ROUTES from '@src/ROUTES';
import ROUTES, {DYNAMIC_ROUTES} from '@src/ROUTES';
import type {AccountData, BankAccount, LastPaymentMethodType, Policy} from '@src/types/onyx';
import type {PaymentMethodType} from '@src/types/onyx/OriginalMessage';
import {isEmptyObject} from '@src/types/utils/EmptyObject';
Expand Down Expand Up @@ -202,7 +203,7 @@ function SettlementButton({
}

if (!isUserValidated && paymentMethodType !== CONST.IOU.PAYMENT_TYPE.ELSEWHERE) {
handleUnvalidatedUserNavigation(chatReportID, reportID);
Navigation.navigate(createDynamicRoute(DYNAMIC_ROUTES.VERIFY_ACCOUNT.path));

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Route amount-step verification through a valid entry

This new generic navigation also runs for the SettlementButton rendered by MoneyRequestAmountForm on the pay amount step when iouType=PAY and skipConfirmation is true. That base screen is not included in DYNAMIC_ROUTES.VERIFY_ACCOUNT.entryScreens, and the amount route accepts extra optional trailing segments, so a URL like create/pay/amount/.../verify-account is parsed as the amount step (or rejected by dynamic-route validation) instead of opening the magic-code verification RHP. In that scenario an unvalidated user pressing a personal/business pay option will not see account verification; add the amount-step entry screens or append the suffix to a supported base route.

Useful? React with 👍 / 👎.

return true;
}

Expand Down Expand Up @@ -246,8 +247,6 @@ function SettlementButton({
ownerBillingGracePeriodEnd,
showDelegateNoAccessModal,
showLockedAccountModal,
chatReportID,
reportID,
showConfirmModal,
translate,
styles.renderHTML,
Expand Down
2 changes: 1 addition & 1 deletion src/hooks/useBulkPayOptions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ import {
isInvoiceReport as isInvoiceReportUtil,
isIOUReport as isIOUReportUtil,
} from '@libs/ReportUtils';
import {useSettlementButtonPaymentMethods} from '@libs/SettlementButtonUtils';
import useSettlementButtonPaymentMethods from '@libs/SettlementButtonUtils';
import CONST from '@src/CONST';
import ONYXKEYS from '@src/ONYXKEYS';
import type {AccountData} from '@src/types/onyx';
Expand Down
7 changes: 5 additions & 2 deletions src/hooks/useSelectionModeReportActions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,10 @@ import {generateDefaultWorkspaceName} from '@libs/actions/Policy/Policy';
import {search} from '@libs/actions/Search';
import getPlatform from '@libs/getPlatform';
import {getTotalAmountForIOUReportPreviewButton} from '@libs/MoneyRequestReportUtils';
import createDynamicRoute from '@libs/Navigation/helpers/dynamicRoutesUtils/createDynamicRoute';
import Navigation from '@libs/Navigation/Navigation';
import type {KYCFlowEvent, TriggerKYCFlow} from '@libs/PaymentUtils';
import {handleUnvalidatedAccount, selectPaymentType} from '@libs/PaymentUtils';
import {selectPaymentType} from '@libs/PaymentUtils';
import {sortPoliciesByName} from '@libs/PolicyUtils';
import {hasRequestFromCurrentAccount} from '@libs/ReportActionsUtils';
import {getReportPrimaryAction} from '@libs/ReportPrimaryActionUtils';
Expand All @@ -44,6 +46,7 @@ import {hasAnyPendingRTERViolation as hasAnyPendingRTERViolationTransactionUtils
import {markPendingRTERTransactionsAsCash} from '@userActions/Transaction';
import CONST from '@src/CONST';
import ONYXKEYS from '@src/ONYXKEYS';
import {DYNAMIC_ROUTES} from '@src/ROUTES';
import {personalDetailsLoginSelector} from '@src/selectors/PersonalDetails';
import type * as OnyxTypes from '@src/types/onyx';
import type {PaymentMethodType} from '@src/types/onyx/OriginalMessage';
Expand Down Expand Up @@ -284,7 +287,7 @@ function useSelectionModeReportActions({
return true;
}
if (!isUserValidated && paymentMethodType !== CONST.IOU.PAYMENT_TYPE.ELSEWHERE) {
handleUnvalidatedAccount(report);
Navigation.navigate(createDynamicRoute(DYNAMIC_ROUTES.VERIFY_ACCOUNT.path));
return true;
}
return false;
Expand Down
12 changes: 0 additions & 12 deletions src/libs/Navigation/AppNavigator/ModalStackNavigators/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@ import type {
ReportDescriptionNavigatorParamList,
ReportDetailsNavigatorParamList,
ReportSettingsNavigatorParamList,
ReportVerifyAccountNavigatorParamList,
RestrictedActionParamList,
RoomMembersNavigatorParamList,
ScheduleCallParamList,
Expand Down Expand Up @@ -170,9 +169,7 @@ function createModalStackNavigator<ParamList extends ParamListBase>(screens: Scr
const MoneyRequestModalStackNavigator = createModalStackNavigator<MoneyRequestNavigatorParamList>({
[SCREENS.MONEY_REQUEST.START]: () => require<ReactComponentModule>('../../../../pages/iou/request/IOURequestRedirectToStartPage').default,
[SCREENS.MONEY_REQUEST.CREATE]: () => require<ReactComponentModule>('../../../../pages/iou/request/IOURequestStartPage').default,
[SCREENS.MONEY_REQUEST.CREATE_VERIFY_ACCOUNT]: () => require<ReactComponentModule>('../../../../pages/iou/request/MoneyRequestCreateVerifyAccountPage').default,
[SCREENS.MONEY_REQUEST.STEP_CONFIRMATION]: () => require<ReactComponentModule>('../../../../pages/iou/request/step/IOURequestStepConfirmation').default,
[SCREENS.MONEY_REQUEST.STEP_CONFIRMATION_VERIFY_ACCOUNT]: () => require<ReactComponentModule>('../../../../pages/iou/request/step/MoneyRequestStepConfirmationVerifyAccountPage').default,
[SCREENS.MONEY_REQUEST.STEP_AMOUNT]: () => require<ReactComponentModule>('../../../../pages/iou/request/step/IOURequestStepAmount').default,
[SCREENS.MONEY_REQUEST.STEP_TAX_AMOUNT]: () => require<ReactComponentModule>('../../../../pages/iou/request/step/IOURequestStepTaxAmountPage').default,
[SCREENS.MONEY_REQUEST.STEP_TAX_RATE]: () => require<ReactComponentModule>('../../../../pages/iou/request/step/IOURequestStepTaxRatePage').default,
Expand Down Expand Up @@ -305,12 +302,6 @@ const TaskModalStackNavigator = createModalStackNavigator<TaskDetailsNavigatorPa
[SCREENS.DYNAMIC_TASK_ASSIGNEE]: () => require<ReactComponentModule>('../../../../pages/tasks/TaskAssigneeSelectorModal').default,
});

const ReportVerifyAccountModalStackNavigator = createModalStackNavigator<ReportVerifyAccountNavigatorParamList>({
[SCREENS.REPORT_VERIFY_ACCOUNT]: () => require<ReactComponentModule>('../../../../pages/inbox/report/ReportVerifyAccountPage').default,
[SCREENS.EXPENSE_REPORT_VERIFY_ACCOUNT]: () => require<ReactComponentModule>('../../../../pages/inbox/report/ExpenseReportVerifyAccountPage').default,
[SCREENS.SEARCH.REPORT_VERIFY_ACCOUNT]: () => require<ReactComponentModule>('../../../../pages/Search/SearchReportVerifyAccountPage').default,
});

const ReportDescriptionModalStackNavigator = createModalStackNavigator<ReportDescriptionNavigatorParamList>({
[SCREENS.DYNAMIC_REPORT_DESCRIPTION]: () => require<ReactComponentModule>('../../../../pages/ReportDescriptionPage').default,
});
Expand Down Expand Up @@ -1193,8 +1184,6 @@ const MergeTransactionStackNavigator = createModalStackNavigator<MergeTransactio
});

const SearchReportActionsModalStackNavigator = createModalStackNavigator<SearchReportActionsParamList>({
[SCREENS.SEARCH.ROOT_VERIFY_ACCOUNT]: () => require<ReactComponentModule>('../../../../pages/Search/SearchRootVerifyAccountPage').default,
[SCREENS.SEARCH.MONEY_REQUEST_REPORT_VERIFY_ACCOUNT]: () => require<ReactComponentModule>('../../../../pages/Search/SearchMoneyRequestReportVerifyAccountPage').default,
[SCREENS.SEARCH.MONEY_REQUEST_REPORT_HOLD_TRANSACTIONS]: () => require<ReactComponentModule>('../../../../pages/Search/SearchHoldReasonPage').default,
[SCREENS.SEARCH.MONEY_REQUEST_REPORT_REJECT_TRANSACTIONS]: () => require<ReactComponentModule>('../../../../pages/Search/SearchRejectReasonPage').default,
[SCREENS.SEARCH.TRANSACTION_HOLD_REASON_RHP]: () => require<ReactComponentModule>('../../../../pages/Search/SearchHoldReasonPage').default,
Expand Down Expand Up @@ -1346,7 +1335,6 @@ export {
ReportDetailsModalStackNavigator,
ReportParticipantsModalStackNavigator,
ReportSettingsModalStackNavigator,
ReportVerifyAccountModalStackNavigator,
RestrictedActionModalStackNavigator,
RoomMembersModalStackNavigator,
ScheduleCallModalStackNavigator,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -293,10 +293,6 @@ function RightModalNavigator({navigation, route}: RightModalNavigatorProps) {
name={SCREENS.RIGHT_MODAL.CHRONOS_SCHEDULE_OOO}
component={ModalStackNavigators.ChronosScheduleOOOModalStackNavigator}
/>
<Stack.Screen
name={SCREENS.RIGHT_MODAL.REPORT_VERIFY_ACCOUNT}
component={ModalStackNavigators.ReportVerifyAccountModalStackNavigator}
/>
<Stack.Screen
name={SCREENS.RIGHT_MODAL.SETTINGS_CATEGORIES}
component={ModalStackNavigators.CategoriesModalStackNavigator}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,8 @@ import SCREENS from '@src/SCREENS';
// This file is used to define RHP screens that are in relation to the search screen.
const SEARCH_TO_RHP: Partial<Record<keyof SearchFullscreenNavigatorParamList, string[]>> = {
[SCREENS.SEARCH.ROOT]: [
SCREENS.SEARCH.ROOT_VERIFY_ACCOUNT,
SCREENS.SEARCH.ADVANCED_FILTERS_TYPE_RHP,
SCREENS.SEARCH.ADVANCED_FILTERS_STATUS_RHP,
SCREENS.SEARCH.REPORT_VERIFY_ACCOUNT,
SCREENS.SEARCH.TRANSACTION_HOLD_REASON_RHP,
SCREENS.SEARCH.TRANSACTION_HOLD_REASON_SEARCH,
SCREENS.SEARCH.SEARCH_REJECT_REASON_RHP,
Expand Down
Loading
Loading