Skip to content

Commit 894ea88

Browse files
authored
Merge pull request Expensify#67134 from thelullabyy/fix/66220/not-here-page-issue
Workflows-"Not here" page displayed after editing the approver, then the "Expenses from"
2 parents dbf8aad + 7cf1a6d commit 894ea88

4 files changed

Lines changed: 10 additions & 3 deletions

File tree

src/libs/WorkflowUtils.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ const INITIAL_APPROVAL_WORKFLOW: ApprovalWorkflowOnyx = {
1515
usedApproverEmails: [],
1616
isDefault: false,
1717
action: CONST.APPROVAL_WORKFLOW.ACTION.CREATE,
18+
originalApprovers: [],
1819
};
1920

2021
type GetApproversParams = {

src/pages/workspace/workflows/approvals/WorkspaceWorkflowsApprovalsEditPage.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ type WorkspaceWorkflowsApprovalsEditPageProps = WithPolicyAndFullscreenLoadingPr
3434
function WorkspaceWorkflowsApprovalsEditPage({policy, isLoadingReportData = true, route}: WorkspaceWorkflowsApprovalsEditPageProps) {
3535
const styles = useThemeStyles();
3636
const {translate} = useLocalize();
37-
const [personalDetails] = useOnyx(ONYXKEYS.PERSONAL_DETAILS_LIST);
38-
const [approvalWorkflow] = useOnyx(ONYXKEYS.APPROVAL_WORKFLOW);
37+
const [personalDetails] = useOnyx(ONYXKEYS.PERSONAL_DETAILS_LIST, {canBeMissing: true});
38+
const [approvalWorkflow] = useOnyx(ONYXKEYS.APPROVAL_WORKFLOW, {canBeMissing: true});
3939
const [initialApprovalWorkflow, setInitialApprovalWorkflow] = useState<ApprovalWorkflow | undefined>();
4040
const [isDeleteModalVisible, setIsDeleteModalVisible] = useState(false);
4141
const formRef = useRef<ScrollView>(null);
@@ -111,6 +111,7 @@ function WorkspaceWorkflowsApprovalsEditPage({policy, isLoadingReportData = true
111111
usedApproverEmails,
112112
action: CONST.APPROVAL_WORKFLOW.ACTION.EDIT,
113113
errors: null,
114+
originalApprovers: currentApprovalWorkflow.approvers,
114115
});
115116
setInitialApprovalWorkflow(currentApprovalWorkflow);
116117
}, [currentApprovalWorkflow, defaultWorkflowMembers, initialApprovalWorkflow, usedApproverEmails]);

src/pages/workspace/workflows/approvals/WorkspaceWorkflowsApprovalsExpensesFromPage.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ function WorkspaceWorkflowsApprovalsExpensesFromPage({policy, isLoadingReportDat
6868
const shouldShowNotFoundView = (isEmptyObject(policy) && !isLoadingReportData) || !isPolicyAdmin(policy) || isPendingDeletePolicy(policy);
6969
const isInitialCreationFlow = approvalWorkflow?.action === CONST.APPROVAL_WORKFLOW.ACTION.CREATE && !route.params.backTo;
7070
const shouldShowListEmptyContent = !isLoadingApprovalWorkflow && approvalWorkflow && approvalWorkflow.availableMembers.length === 0;
71-
const firstApprover = approvalWorkflow?.approvers?.[0]?.email ?? '';
71+
const firstApprover = approvalWorkflow?.originalApprovers?.[0]?.email ?? '';
7272

7373
const personalDetailLogins = useDeepCompareRef(Object.fromEntries(Object.entries(personalDetails ?? {}).map(([id, details]) => [id, details?.login])));
7474

src/types/onyx/ApprovalWorkflow.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,11 @@ type ApprovalWorkflowOnyx = Omit<ApprovalWorkflow, 'approvers'> & {
114114
* Errors for the workflow
115115
*/
116116
errors?: Record<string, TranslationPaths>;
117+
118+
/**
119+
* List of original approvers in the workflow
120+
*/
121+
originalApprovers: Approver[];
117122
};
118123

119124
export default ApprovalWorkflow;

0 commit comments

Comments
 (0)