From c70f6da6d4389ff0a7d96f23590753e9c5d23c44 Mon Sep 17 00:00:00 2001 From: Amal Nazeem Date: Wed, 26 Jan 2022 10:43:02 -0500 Subject: [PATCH 1/9] Include title in report name to avoid duplicates --- src/libs/actions/Report.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/libs/actions/Report.js b/src/libs/actions/Report.js index b9f162c41089..fb84259ad4e2 100644 --- a/src/libs/actions/Report.js +++ b/src/libs/actions/Report.js @@ -1581,7 +1581,9 @@ function createPolicyRoom(policyID, reportName, visibility) { // Make sure the report has its icons set const report = allReports[reportID]; const icons = OptionsListUtils.getReportIcons(report, {}); - Onyx.merge(`${ONYXKEYS.COLLECTION.REPORT}${reportID}`, {icons}); + const chatType = lodashGet(report, ['reportNameValuePairs', 'chatType'], ''); + const reportName = ReportUtils.getChatReportName(report, chatType); + Onyx.merge(`${ONYXKEYS.COLLECTION.REPORT}${reportID}`, {icons, reportName}); Navigation.navigate(ROUTES.getReportRoute(reportID)); }) .catch(() => { From 6a2f52a4213c18e0eb6ea86d51cf99cae4d1a5a4 Mon Sep 17 00:00:00 2001 From: Amal Nazeem Date: Wed, 26 Jan 2022 10:43:57 -0500 Subject: [PATCH 2/9] Use const because this is always policy room --- src/libs/actions/Report.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/libs/actions/Report.js b/src/libs/actions/Report.js index fb84259ad4e2..50a468412bc3 100644 --- a/src/libs/actions/Report.js +++ b/src/libs/actions/Report.js @@ -1581,8 +1581,7 @@ function createPolicyRoom(policyID, reportName, visibility) { // Make sure the report has its icons set const report = allReports[reportID]; const icons = OptionsListUtils.getReportIcons(report, {}); - const chatType = lodashGet(report, ['reportNameValuePairs', 'chatType'], ''); - const reportName = ReportUtils.getChatReportName(report, chatType); + const reportName = ReportUtils.getChatReportName(report, CONST.REPORT.CHAT_TYPE.POLICY_ROOM); Onyx.merge(`${ONYXKEYS.COLLECTION.REPORT}${reportID}`, {icons, reportName}); Navigation.navigate(ROUTES.getReportRoute(reportID)); }) From 0c81864e09ce324457990434a7234b07a69e2a48 Mon Sep 17 00:00:00 2001 From: Amal Nazeem Date: Wed, 26 Jan 2022 10:44:27 -0500 Subject: [PATCH 3/9] Use correct getChatReportName --- src/libs/actions/Report.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libs/actions/Report.js b/src/libs/actions/Report.js index 50a468412bc3..a4d1a3911840 100644 --- a/src/libs/actions/Report.js +++ b/src/libs/actions/Report.js @@ -1581,7 +1581,7 @@ function createPolicyRoom(policyID, reportName, visibility) { // Make sure the report has its icons set const report = allReports[reportID]; const icons = OptionsListUtils.getReportIcons(report, {}); - const reportName = ReportUtils.getChatReportName(report, CONST.REPORT.CHAT_TYPE.POLICY_ROOM); + const reportName = getChatReportName(report, CONST.REPORT.CHAT_TYPE.POLICY_ROOM); Onyx.merge(`${ONYXKEYS.COLLECTION.REPORT}${reportID}`, {icons, reportName}); Navigation.navigate(ROUTES.getReportRoute(reportID)); }) From 1f321164de7b49003a9070f70d9118f96075be38 Mon Sep 17 00:00:00 2001 From: Amal Nazeem Date: Thu, 27 Jan 2022 14:44:40 -0500 Subject: [PATCH 4/9] Use different name to avoid scope issue --- src/libs/actions/Report.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libs/actions/Report.js b/src/libs/actions/Report.js index 2f275c80f5fd..0125c45d2177 100644 --- a/src/libs/actions/Report.js +++ b/src/libs/actions/Report.js @@ -1543,8 +1543,8 @@ function createPolicyRoom(policyID, reportName, visibility) { // Make sure the report has its icons set const report = allReports[reportID]; const icons = OptionsListUtils.getReportIcons(report, {}); - const reportName = getChatReportName(report, CONST.REPORT.CHAT_TYPE.POLICY_ROOM); - Onyx.merge(`${ONYXKEYS.COLLECTION.REPORT}${reportID}`, {icons, reportName}); + const name = getChatReportName(report, CONST.REPORT.CHAT_TYPE.POLICY_ROOM); + Onyx.merge(`${ONYXKEYS.COLLECTION.REPORT}${reportID}`, {icons, reportName: name}); Navigation.navigate(ROUTES.getReportRoute(reportID)); }) .catch(() => { From 047ed7883d51b9b474b30774b3e274a900428151 Mon Sep 17 00:00:00 2001 From: Amal Nazeem Date: Mon, 31 Jan 2022 18:16:39 -0500 Subject: [PATCH 5/9] Check for policyID changes --- src/components/RoomNameInput.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/components/RoomNameInput.js b/src/components/RoomNameInput.js index 93cc067354c9..b06651e046e7 100644 --- a/src/components/RoomNameInput.js +++ b/src/components/RoomNameInput.js @@ -80,6 +80,9 @@ class RoomNameInput extends Component { if (prevState.error !== this.state.error) { this.props.onChangeError(this.state.error); } + if (prevProps.policyID !== this.props.policyID) { + this.checkAndModifyRoomName(this.state.roomName); + } } /** From 937db397a2b6d3e1f444463ab6f61c56cfa66abf Mon Sep 17 00:00:00 2001 From: Amal Nazeem Date: Mon, 31 Jan 2022 18:17:57 -0500 Subject: [PATCH 6/9] Add clarifying comment --- src/components/RoomNameInput.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/components/RoomNameInput.js b/src/components/RoomNameInput.js index b06651e046e7..5d1042be3ebd 100644 --- a/src/components/RoomNameInput.js +++ b/src/components/RoomNameInput.js @@ -80,6 +80,8 @@ class RoomNameInput extends Component { if (prevState.error !== this.state.error) { this.props.onChangeError(this.state.error); } + + // If the selected policyID has changed we need to check if the room name already exists on this new policy. if (prevProps.policyID !== this.props.policyID) { this.checkAndModifyRoomName(this.state.roomName); } From 5064d853d2dfac5b5c2d81bd466f443e6de0072b Mon Sep 17 00:00:00 2001 From: Amal Nazeem Date: Mon, 31 Jan 2022 18:27:49 -0500 Subject: [PATCH 7/9] Actually use error in WorkspaceNewRoomPage --- src/pages/workspace/WorkspaceNewRoomPage.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/pages/workspace/WorkspaceNewRoomPage.js b/src/pages/workspace/WorkspaceNewRoomPage.js index 5dd692e82596..10c9971a0b5a 100644 --- a/src/pages/workspace/WorkspaceNewRoomPage.js +++ b/src/pages/workspace/WorkspaceNewRoomPage.js @@ -116,6 +116,7 @@ class WorkspaceNewRoomPage extends React.Component { {this.props.translate('newRoomPage.roomName')} { this.setState({roomName}); }} + onChangeError={error => this.setState({error})} initialValue={this.state.roomName} policyID={this.state.policyID} /> From 7291c3afeacb9c5a68c3d3bc050ae392a17f1847 Mon Sep 17 00:00:00 2001 From: Amal Nazeem Date: Mon, 31 Jan 2022 18:32:52 -0500 Subject: [PATCH 8/9] Remove unneeded report name change --- src/libs/actions/Report.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/libs/actions/Report.js b/src/libs/actions/Report.js index 0125c45d2177..aff30887392d 100644 --- a/src/libs/actions/Report.js +++ b/src/libs/actions/Report.js @@ -1543,8 +1543,7 @@ function createPolicyRoom(policyID, reportName, visibility) { // Make sure the report has its icons set const report = allReports[reportID]; const icons = OptionsListUtils.getReportIcons(report, {}); - const name = getChatReportName(report, CONST.REPORT.CHAT_TYPE.POLICY_ROOM); - Onyx.merge(`${ONYXKEYS.COLLECTION.REPORT}${reportID}`, {icons, reportName: name}); + Onyx.merge(`${ONYXKEYS.COLLECTION.REPORT}${reportID}`, {icons}); Navigation.navigate(ROUTES.getReportRoute(reportID)); }) .catch(() => { From 00343aa9a0b82badab009f4853971eaa0a846e48 Mon Sep 17 00:00:00 2001 From: Amal Nazeem Date: Mon, 31 Jan 2022 20:05:35 -0500 Subject: [PATCH 9/9] Use same style for both props --- src/pages/workspace/WorkspaceNewRoomPage.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/workspace/WorkspaceNewRoomPage.js b/src/pages/workspace/WorkspaceNewRoomPage.js index 10c9971a0b5a..829af0e6c2fe 100644 --- a/src/pages/workspace/WorkspaceNewRoomPage.js +++ b/src/pages/workspace/WorkspaceNewRoomPage.js @@ -115,7 +115,7 @@ class WorkspaceNewRoomPage extends React.Component { {this.props.translate('newRoomPage.roomName')} { this.setState({roomName}); }} + onChangeText={roomName => this.setState({roomName})} onChangeError={error => this.setState({error})} initialValue={this.state.roomName} policyID={this.state.policyID}