Skip to content

Commit ffb5194

Browse files
authored
Merge pull request #58482 from Expensify/revert-57197-rodrigo-dismiss-violation-transaction-merge
[CP Staging] Revert "Adds new RESOLVEDDUPLICATES action"
2 parents 93f6946 + fe82311 commit ffb5194

File tree

13 files changed

+14
-78
lines changed

13 files changed

+14
-78
lines changed

src/CONST.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1312,7 +1312,6 @@ const CONST = {
13121312
CORPORATE_UPGRADE: 'POLICYCHANGELOG_CORPORATE_UPGRADE',
13131313
TEAM_DOWNGRADE: 'POLICYCHANGELOG_TEAM_DOWNGRADE',
13141314
},
1315-
RESOLVED_DUPLICATES: 'RESOLVEDDUPLICATES',
13161315
ROOM_CHANGE_LOG: {
13171316
INVITE_TO_ROOM: 'INVITETOROOM',
13181317
REMOVE_FROM_ROOM: 'REMOVEFROMROOM',

src/languages/en.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5516,7 +5516,6 @@ const translations = {
55165516
confirmDetails: `Confirm the details you're keeping`,
55175517
confirmDuplicatesInfo: `The duplicate requests you don't keep will be held for the member to delete`,
55185518
hold: 'Hold',
5519-
resolvedDuplicates: 'resolved the duplicate',
55205519
},
55215520
reportViolations: {
55225521
[CONST.REPORT_VIOLATIONS.FIELD_REQUIRED]: ({fieldName}: RequiredFieldParams) => `${fieldName} is required`,

src/languages/es.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6033,7 +6033,6 @@ const translations = {
60336033
confirmDetails: 'Confirma los detalles que conservas',
60346034
confirmDuplicatesInfo: 'Los duplicados que no conserves se guardarán para que el usuario los elimine',
60356035
hold: 'Retenido',
6036-
resolvedDuplicates: 'resolvió el duplicado',
60376036
},
60386037
reportViolations: {
60396038
[CONST.REPORT_VIOLATIONS.FIELD_REQUIRED]: ({fieldName}: RequiredFieldParams) => `${fieldName} es obligatorio`,

src/libs/API/parameters/MergeDuplicatesParams.ts renamed to src/libs/API/parameters/TransactionMergeParams.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
type MergeDuplicatesParams = {
1+
type TransactionMergeParams = {
22
transactionID: string | undefined;
33
transactionIDList: string[];
44
created: string;
@@ -12,7 +12,6 @@ type MergeDuplicatesParams = {
1212
tag: string;
1313
receiptID: number;
1414
reportID: string | undefined;
15-
reportActionID?: string | undefined;
1615
};
1716

18-
export default MergeDuplicatesParams;
17+
export default TransactionMergeParams;

src/libs/API/parameters/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -246,7 +246,7 @@ export type {default as SearchParams} from './Search';
246246
export type {default as SendInvoiceParams} from './SendInvoiceParams';
247247
export type {default as PayInvoiceParams} from './PayInvoiceParams';
248248
export type {default as MarkAsCashParams} from './MarkAsCashParams';
249-
export type {default as MergeDuplicatesParams} from './MergeDuplicatesParams';
249+
export type {default as TransactionMergeParams} from './TransactionMergeParams';
250250
export type {default as ResolveDuplicatesParams} from './ResolveDuplicatesParams';
251251
export type {default as UpdateSubscriptionTypeParams} from './UpdateSubscriptionTypeParams';
252252
export type {default as SignUpUserParams} from './SignUpUserParams';

src/libs/API/types.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -312,7 +312,7 @@ const WRITE_COMMANDS = {
312312
SEND_INVOICE: 'SendInvoice',
313313
PAY_INVOICE: 'PayInvoice',
314314
MARK_AS_CASH: 'MarkAsCash',
315-
MERGE_DUPLICATES: 'MergeDuplicates',
315+
TRANSACTION_MERGE: 'Transaction_Merge',
316316
RESOLVE_DUPLICATES: 'ResolveDuplicates',
317317
UPDATE_SUBSCRIPTION_TYPE: 'UpdateSubscriptionType',
318318
SIGN_UP_USER: 'SignUpUser',
@@ -786,7 +786,7 @@ type WriteCommandParameters = {
786786
[WRITE_COMMANDS.SEND_INVOICE]: Parameters.SendInvoiceParams;
787787
[WRITE_COMMANDS.PAY_INVOICE]: Parameters.PayInvoiceParams;
788788
[WRITE_COMMANDS.MARK_AS_CASH]: Parameters.MarkAsCashParams;
789-
[WRITE_COMMANDS.MERGE_DUPLICATES]: Parameters.MergeDuplicatesParams;
789+
[WRITE_COMMANDS.TRANSACTION_MERGE]: Parameters.TransactionMergeParams;
790790
[WRITE_COMMANDS.RESOLVE_DUPLICATES]: Parameters.ResolveDuplicatesParams;
791791
[WRITE_COMMANDS.UPDATE_SUBSCRIPTION_TYPE]: Parameters.UpdateSubscriptionTypeParams;
792792
[WRITE_COMMANDS.SIGN_UP_USER]: Parameters.SignUpUserParams;

src/libs/ReportUtils.ts

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -6605,32 +6605,6 @@ function buildOptimisticDismissedViolationReportAction(
66056605
};
66066606
}
66076607

6608-
function buildOptimisticResolvedDuplicatesReportAction(): OptimisticDismissedViolationReportAction {
6609-
return {
6610-
actionName: CONST.REPORT.ACTIONS.TYPE.RESOLVED_DUPLICATES,
6611-
actorAccountID: currentUserAccountID,
6612-
avatar: getCurrentUserAvatar(),
6613-
created: DateUtils.getDBTime(),
6614-
message: [
6615-
{
6616-
type: CONST.REPORT.MESSAGE.TYPE.TEXT,
6617-
style: 'normal',
6618-
text: translateLocal('violations.resolvedDuplicates'),
6619-
},
6620-
],
6621-
pendingAction: CONST.RED_BRICK_ROAD_PENDING_ACTION.ADD,
6622-
person: [
6623-
{
6624-
type: CONST.REPORT.MESSAGE.TYPE.TEXT,
6625-
style: 'strong',
6626-
text: getCurrentUserDisplayNameOrEmail(),
6627-
},
6628-
],
6629-
reportActionID: rand64(),
6630-
shouldShow: true,
6631-
};
6632-
}
6633-
66346608
function buildOptimisticAnnounceChat(policyID: string, accountIDs: number[]): OptimisticAnnounceChat {
66356609
const announceReport = getRoom(CONST.REPORT.CHAT_TYPE.POLICY_ANNOUNCE, policyID);
66366610
const policy = getPolicy(policyID);
@@ -9692,7 +9666,6 @@ export {
96929666
buildOptimisticSelfDMReport,
96939667
isHiddenForCurrentUser,
96949668
prepareOnboardingOnyxData,
9695-
buildOptimisticResolvedDuplicatesReportAction,
96969669
getReportSubtitlePrefix,
96979670
buildOptimisticChangePolicyReportAction,
96989671
getPolicyChangeMessage,

src/libs/TransactionUtils/index.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import Onyx from 'react-native-onyx';
88
import type {ValueOf} from 'type-fest';
99
import {getPolicyCategoriesData} from '@libs/actions/Policy/Category';
1010
import {getPolicyTagsData} from '@libs/actions/Policy/Tag';
11-
import type {MergeDuplicatesParams} from '@libs/API/parameters';
11+
import type {TransactionMergeParams} from '@libs/API/parameters';
1212
import {getCategoryDefaultTaxRate} from '@libs/CategoryUtils';
1313
import {convertToBackendAmount, getCurrencyDecimals} from '@libs/CurrencyUtils';
1414
import DateUtils from '@libs/DateUtils';
@@ -1402,7 +1402,7 @@ function buildNewTransactionAfterReviewingDuplicates(reviewDuplicateTransaction:
14021402
};
14031403
}
14041404

1405-
function buildMergeDuplicatesParams(reviewDuplicates: OnyxEntry<ReviewDuplicates>, originalTransaction: Partial<Transaction>): MergeDuplicatesParams {
1405+
function buildTransactionsMergeParams(reviewDuplicates: OnyxEntry<ReviewDuplicates>, originalTransaction: Partial<Transaction>): TransactionMergeParams {
14061406
return {
14071407
amount: -getAmount(originalTransaction as OnyxEntry<Transaction>, true),
14081408
reportID: originalTransaction?.reportID,
@@ -1535,7 +1535,7 @@ export {
15351535
compareDuplicateTransactionFields,
15361536
getTransactionID,
15371537
buildNewTransactionAfterReviewingDuplicates,
1538-
buildMergeDuplicatesParams,
1538+
buildTransactionsMergeParams,
15391539
getReimbursable,
15401540
isPayAtEndExpense,
15411541
removeSettledAndApprovedTransactions,

src/libs/actions/IOU.ts

Lines changed: 5 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ import type {
1515
CreateWorkspaceParams,
1616
DeleteMoneyRequestParams,
1717
DetachReceiptParams,
18-
MergeDuplicatesParams,
1918
PayInvoiceParams,
2019
PayMoneyRequestParams,
2120
ReplaceReceiptParams,
@@ -29,6 +28,7 @@ import type {
2928
StartSplitBillParams,
3029
SubmitReportParams,
3130
TrackExpenseParams,
31+
TransactionMergeParams,
3232
UnapproveExpenseReportParams,
3333
UpdateMoneyRequestParams,
3434
} from '@libs/API/parameters';
@@ -95,7 +95,6 @@ import {
9595
buildOptimisticMoneyRequestEntities,
9696
buildOptimisticMovedTrackedExpenseModifiedReportAction,
9797
buildOptimisticReportPreview,
98-
buildOptimisticResolvedDuplicatesReportAction,
9998
buildOptimisticSubmittedReportAction,
10099
buildOptimisticUnapprovedReportAction,
101100
buildOptimisticUnHoldReportAction,
@@ -9739,7 +9738,7 @@ function getIOUActionForTransactions(transactionIDList: Array<string | undefined
97399738
}
97409739

97419740
/** Merge several transactions into one by updating the fields of the one we want to keep and deleting the rest */
9742-
function mergeDuplicates(params: MergeDuplicatesParams) {
9741+
function mergeDuplicates(params: TransactionMergeParams) {
97439742
const originalSelectedTransaction = allTransactions[`${ONYXKEYS.COLLECTION.TRANSACTION}${params.transactionID}`];
97449743

97459744
const optimisticTransactionData: OnyxUpdate = {
@@ -9868,25 +9867,6 @@ function mergeDuplicates(params: MergeDuplicatesParams) {
98689867
}, {}),
98699868
};
98709869

9871-
const optimisticReportAction = buildOptimisticResolvedDuplicatesReportAction();
9872-
9873-
const transactionThreadReportID = params.reportID ? getIOUActionForTransactions([params.transactionID], params.reportID).at(0)?.childReportID : undefined;
9874-
const optimisticReportActionData: OnyxUpdate = {
9875-
onyxMethod: Onyx.METHOD.MERGE,
9876-
key: `${ONYXKEYS.COLLECTION.REPORT_ACTIONS}${transactionThreadReportID}`,
9877-
value: {
9878-
[optimisticReportAction.reportActionID]: optimisticReportAction,
9879-
},
9880-
};
9881-
9882-
const failureReportActionData: OnyxUpdate = {
9883-
onyxMethod: Onyx.METHOD.MERGE,
9884-
key: `${ONYXKEYS.COLLECTION.REPORT_ACTIONS}${transactionThreadReportID}`,
9885-
value: {
9886-
[optimisticReportAction.reportActionID]: null,
9887-
},
9888-
};
9889-
98909870
const optimisticData: OnyxUpdate[] = [];
98919871
const failureData: OnyxUpdate[] = [];
98929872

@@ -9896,26 +9876,18 @@ function mergeDuplicates(params: MergeDuplicatesParams) {
98969876
...optimisticTransactionViolations,
98979877
expenseReportOptimisticData,
98989878
expenseReportActionsOptimisticData,
9899-
optimisticReportActionData,
9900-
);
9901-
failureData.push(
9902-
failureTransactionData,
9903-
...failureTransactionDuplicatesData,
9904-
...failureTransactionViolations,
9905-
expenseReportFailureData,
9906-
expenseReportActionsFailureData,
9907-
failureReportActionData,
99089879
);
9880+
failureData.push(failureTransactionData, ...failureTransactionDuplicatesData, ...failureTransactionViolations, expenseReportFailureData, expenseReportActionsFailureData);
99099881

9910-
API.write(WRITE_COMMANDS.MERGE_DUPLICATES, {...params, reportActionID: optimisticReportAction.reportActionID}, {optimisticData, failureData});
9882+
API.write(WRITE_COMMANDS.TRANSACTION_MERGE, params, {optimisticData, failureData});
99119883
}
99129884

99139885
function updateLastLocationPermissionPrompt() {
99149886
Onyx.set(ONYXKEYS.NVP_LAST_LOCATION_PERMISSION_PROMPT, new Date().toISOString());
99159887
}
99169888

99179889
/** Instead of merging the duplicates, it updates the transaction we want to keep and puts the others on hold without deleting them */
9918-
function resolveDuplicates(params: MergeDuplicatesParams) {
9890+
function resolveDuplicates(params: TransactionMergeParams) {
99199891
if (!params.transactionID) {
99209892
return;
99219893
}

src/pages/TransactionDuplicate/Confirmation.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ function Confirmation() {
5050
(action) => ReportActionsUtils.isMoneyRequestAction(action) && ReportActionsUtils.getOriginalMessage(action)?.IOUTransactionID === reviewDuplicates?.transactionID,
5151
);
5252

53-
const transactionsMergeParams = useMemo(() => TransactionUtils.buildMergeDuplicatesParams(reviewDuplicates, transaction), [reviewDuplicates, transaction]);
53+
const transactionsMergeParams = useMemo(() => TransactionUtils.buildTransactionsMergeParams(reviewDuplicates, transaction), [reviewDuplicates, transaction]);
5454
const isReportOwner = iouReport?.ownerAccountID === currentUserPersonalDetails?.accountID;
5555

5656
const mergeDuplicates = useCallback(() => {

src/pages/home/report/ContextMenu/ContextMenuActions.tsx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -582,8 +582,6 @@ const ContextMenuActions: ContextMenuAction[] = [
582582
const reason = originalMessage?.reason;
583583
const violationName = originalMessage?.violationName;
584584
Clipboard.setString(translateLocal(`violationDismissal.${violationName}.${reason}` as TranslationPaths));
585-
} else if (reportAction?.actionName === CONST.REPORT.ACTIONS.TYPE.RESOLVED_DUPLICATES) {
586-
Clipboard.setString(translateLocal('violations.resolvedDuplicates'));
587585
} else if (reportAction?.actionName === CONST.REPORT.ACTIONS.TYPE.EXPORTED_TO_INTEGRATION) {
588586
setClipboardMessage(getExportIntegrationMessageHTML(reportAction));
589587
} else if (reportAction?.actionName === CONST.REPORT.ACTIONS.TYPE.ROOM_CHANGE_LOG.UPDATE_ROOM_DESCRIPTION) {

src/pages/home/report/PureReportActionItem.tsx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -886,8 +886,6 @@ function PureReportActionItem({
886886
children = <ReportActionItemBasicMessage message={translate('systemMessage.mergedWithCashTransaction')} />;
887887
} else if (isActionOfType(action, CONST.REPORT.ACTIONS.TYPE.DISMISSED_VIOLATION)) {
888888
children = <ReportActionItemBasicMessage message={getDismissedViolationMessageText(getOriginalMessage(action))} />;
889-
} else if (isActionOfType(action, CONST.REPORT.ACTIONS.TYPE.RESOLVED_DUPLICATES)) {
890-
children = <ReportActionItemBasicMessage message={translate('violations.resolvedDuplicates')} />;
891889
} else if (action.actionName === CONST.REPORT.ACTIONS.TYPE.POLICY_CHANGE_LOG.UPDATE_NAME) {
892890
children = <ReportActionItemBasicMessage message={getWorkspaceNameUpdatedMessage(action)} />;
893891
} else if (action.actionName === CONST.REPORT.ACTIONS.TYPE.POLICY_CHANGE_LOG.UPDATE_DESCRIPTION) {

src/types/onyx/OriginalMessage.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -772,7 +772,6 @@ type OriginalMessageMap = {
772772
[CONST.REPORT.ACTIONS.TYPE.DEMOTED_FROM_WORKSPACE]: OriginalMessageDemotedFromWorkspace;
773773
[CONST.REPORT.ACTIONS.TYPE.RENAMED]: OriginalMessageRenamed;
774774
[CONST.REPORT.ACTIONS.TYPE.REPORT_PREVIEW]: OriginalMessageReportPreview;
775-
[CONST.REPORT.ACTIONS.TYPE.RESOLVED_DUPLICATES]: never;
776775
[CONST.REPORT.ACTIONS.TYPE.SELECTED_FOR_RANDOM_AUDIT]: never;
777776
[CONST.REPORT.ACTIONS.TYPE.SHARE]: never;
778777
[CONST.REPORT.ACTIONS.TYPE.STRIPE_PAID]: never;

0 commit comments

Comments
 (0)