From 13bc03ffc543a29de6d65cce95590fff3e618d05 Mon Sep 17 00:00:00 2001 From: Carlos Martins Date: Thu, 13 Jul 2023 10:36:31 -0600 Subject: [PATCH 1/4] create getActionToFlag --- src/pages/FlagCommentPage.js | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/src/pages/FlagCommentPage.js b/src/pages/FlagCommentPage.js index 026de8fdb803..9e4292f361b2 100644 --- a/src/pages/FlagCommentPage.js +++ b/src/pages/FlagCommentPage.js @@ -1,4 +1,4 @@ -import React from 'react'; +import React, {useCallback} from 'react'; import _ from 'underscore'; import {View, ScrollView} from 'react-native'; import PropTypes from 'prop-types'; @@ -66,12 +66,6 @@ function getReportID(route) { } function FlagCommentPage(props) { - let reportAction = props.reportActions[`${props.route.params.reportActionID.toString()}`]; - - // Handle threads if needed - if (reportAction === undefined || reportAction.reportActionID === undefined) { - reportAction = ReportActionsUtils.getParentReportAction(props.report); - } const severities = [ { severity: CONST.MODERATION.FLAG_SEVERITY_SPAM, @@ -123,14 +117,30 @@ function FlagCommentPage(props) { }, ]; + const getActionToFlag = useCallback(() => { + let reportAction = props.reportActions[`${props.route.params.reportActionID.toString()}`]; + + // Handle threads if needed + if (reportAction === undefined || reportAction.reportActionID === undefined) { + reportAction = ReportActionsUtils.getParentReportAction(props.report); + } + + return reportAction; + }, [props.report, props.reportActions, props.route.params.reportActionID]) + const flagComment = (severity) => { let reportID = getReportID(props.route); + const reportAction = getActionToFlag(); // Handle threads if needed if (reportAction === undefined || reportAction.reportActionID === undefined) { reportID = ReportUtils.getParentReport(props.report).reportID; } - Report.flagComment(reportID, reportAction, severity); + + if (ReportUtils.canFlagReportAction(reportAction, reportID)) { + Report.flagComment(reportID, reportAction, severity); + } + Navigation.dismissModal(); }; @@ -155,7 +165,7 @@ function FlagCommentPage(props) { return ( {({safeAreaPaddingBottomStyle}) => ( - + Date: Thu, 13 Jul 2023 12:07:31 -0600 Subject: [PATCH 2/4] use parentReportID if thread --- src/pages/FlagCommentPage.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/FlagCommentPage.js b/src/pages/FlagCommentPage.js index 9e4292f361b2..abbf6eda248a 100644 --- a/src/pages/FlagCommentPage.js +++ b/src/pages/FlagCommentPage.js @@ -133,7 +133,7 @@ function FlagCommentPage(props) { const reportAction = getActionToFlag(); // Handle threads if needed - if (reportAction === undefined || reportAction.reportActionID === undefined) { + if (ReportUtils.isChatThread(props.report)) { reportID = ReportUtils.getParentReport(props.report).reportID; } From f959d452462f7f59fa610682cafc749f906f4ef8 Mon Sep 17 00:00:00 2001 From: Carlos Martins Date: Thu, 13 Jul 2023 12:10:59 -0600 Subject: [PATCH 3/4] fix style --- src/pages/FlagCommentPage.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/FlagCommentPage.js b/src/pages/FlagCommentPage.js index abbf6eda248a..a87f35a85fa2 100644 --- a/src/pages/FlagCommentPage.js +++ b/src/pages/FlagCommentPage.js @@ -126,7 +126,7 @@ function FlagCommentPage(props) { } return reportAction; - }, [props.report, props.reportActions, props.route.params.reportActionID]) + }, [props.report, props.reportActions, props.route.params.reportActionID]); const flagComment = (severity) => { let reportID = getReportID(props.route); From 7b9afbe12478cb9f5c7560451b01c07ea9c9c239 Mon Sep 17 00:00:00 2001 From: Carlos Martins Date: Fri, 14 Jul 2023 09:20:42 -0600 Subject: [PATCH 4/4] use parent report only for parent action --- src/pages/FlagCommentPage.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/FlagCommentPage.js b/src/pages/FlagCommentPage.js index a87f35a85fa2..a1808b686af1 100644 --- a/src/pages/FlagCommentPage.js +++ b/src/pages/FlagCommentPage.js @@ -133,7 +133,7 @@ function FlagCommentPage(props) { const reportAction = getActionToFlag(); // Handle threads if needed - if (ReportUtils.isChatThread(props.report)) { + if (ReportUtils.isChatThread(props.report) && reportAction.reportActionID === ReportActionsUtils.getParentReportAction(props.report).reportActionID) { reportID = ReportUtils.getParentReport(props.report).reportID; }