From cd842f2e0cb4e2f51ab75516aa1898f0716c1fad Mon Sep 17 00:00:00 2001 From: Carlos Martins Date: Thu, 13 Jan 2022 15:28:21 -0700 Subject: [PATCH 01/26] add RenameReport API function --- src/libs/API.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/libs/API.js b/src/libs/API.js index b1fb0288644a..b91b953511da 100644 --- a/src/libs/API.js +++ b/src/libs/API.js @@ -1144,6 +1144,18 @@ function CreatePolicyRoom(parameters) { return Network.post(commandName, parameters); } +/** + * @param {Object} parameters + * @param {String} parameters.policyID + * @param {String} parameters.reportName + * @return {Promise} + */ + function RenameReport(parameters) { + const commandName = 'RenameReport'; + requireParameters(['policyID', 'reportName'], parameters, commandName); + return Network.post(commandName, parameters); +} + /** * Transfer Wallet balance and takes either the bankAccoundID or fundID * @param {Object} parameters From 4c5ffa044c035f4e85125d586282e291384b6a2e Mon Sep 17 00:00:00 2001 From: Carlos Martins Date: Thu, 13 Jan 2022 15:30:33 -0700 Subject: [PATCH 02/26] export function and add comment --- src/libs/API.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/libs/API.js b/src/libs/API.js index b91b953511da..9c7f9c559987 100644 --- a/src/libs/API.js +++ b/src/libs/API.js @@ -1145,6 +1145,7 @@ function CreatePolicyRoom(parameters) { } /** + * Renames a user create policy room * @param {Object} parameters * @param {String} parameters.policyID * @param {String} parameters.reportName @@ -1183,6 +1184,7 @@ export { CreateChatReport, CreateLogin, CreatePolicyRoom, + RenameReport, DeleteLogin, DeleteBankAccount, Get, From c0911ef6a36d457b34ee1f548a259c759a732ba3 Mon Sep 17 00:00:00 2001 From: Carlos Martins Date: Thu, 13 Jan 2022 15:39:14 -0700 Subject: [PATCH 03/26] add renameReport action --- src/languages/en.js | 2 ++ src/languages/es.js | 2 ++ src/libs/actions/Report.js | 21 +++++++++++++++++++++ 3 files changed, 25 insertions(+) diff --git a/src/languages/en.js b/src/languages/en.js index e95934194aa6..39b208a8bdbf 100755 --- a/src/languages/en.js +++ b/src/languages/en.js @@ -872,9 +872,11 @@ export default { privateDescription: 'Only people invited to this room are able to find it', createRoom: 'Create Room', roomAlreadyExists: 'A room with this name already exists', + roomSuccessfullyRenamed: 'Policy room was successfully renamed!', social: 'social', selectAWorkspace: 'Select a workspace', growlMessageOnError: 'Unable to create policy room, please check your connection and try again.', + growlMessageOnRenameError: 'Unable to rename policy room, please check your connection and try again.', visibilityOptions: { restricted: 'Restricted', private: 'Private', diff --git a/src/languages/es.js b/src/languages/es.js index df211fbb7892..11e770c21c1b 100644 --- a/src/languages/es.js +++ b/src/languages/es.js @@ -874,9 +874,11 @@ export default { privateDescription: 'Sólo las personas que están invitadas a esta sala pueden encontrarla', createRoom: 'Crea una sala de chat', roomAlreadyExists: 'Ya existe una sala con este nombre', + roomSuccessfullyRenamed: 'Your room was successfully renamed!', social: 'social', selectAWorkspace: 'Seleccionar un espacio de trabajo', growlMessageOnError: 'No ha sido posible crear el espacio de trabajo, por favor comprueba tu conexión e inténtalo de nuevo.', + growlMessageOnRenameError: 'Unable to rename policy room, please check your connection and try again.', visibilityOptions: { restricted: 'Restringida', private: 'Privada', diff --git a/src/libs/actions/Report.js b/src/libs/actions/Report.js index 0b079060d158..fbd367ed7fef 100644 --- a/src/libs/actions/Report.js +++ b/src/libs/actions/Report.js @@ -1530,6 +1530,26 @@ function createPolicyRoom(policyID, reportName, visibility) { .finally(() => Onyx.set(ONYXKEYS.IS_LOADING_CREATE_POLICY_ROOM, false)); } +/** + * Renames a user created Policy Room. + * @param {String} policyID + * @param {String} reportName + */ + function renameReport(policyID, reportName) { + Onyx.set(ONYXKEYS.IS_LOADING_CREATE_POLICY_ROOM, true); + return API.RenameReport({policyID, reportName}) + .then((response) => { + if (response.jsonCode !== 200) { + Growl.error(response.message); + return; + } + Growl.success(Localize.translateLocal('newRoomPage.roomSuccessfullyRenamed')) + }) + .catch(() => { + Growl.error(Localize.translateLocal('newRoomPage.growlMessageOnRenameError')); + }) +} + export { fetchAllReports, fetchActions, @@ -1559,5 +1579,6 @@ export { setReportWithDraft, fetchActionsWithLoadingState, createPolicyRoom, + renameReport, getLastReadSequenceNumber, }; From 232836e5f3a972b37265811ae733ff685bbd88b0 Mon Sep 17 00:00:00 2001 From: Carlos Martins Date: Thu, 13 Jan 2022 15:43:27 -0700 Subject: [PATCH 04/26] add event handler to ReportSettingsPage --- src/pages/ReportSettingsPage.js | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/pages/ReportSettingsPage.js b/src/pages/ReportSettingsPage.js index 602c23a890d4..38c2a38a10af 100644 --- a/src/pages/ReportSettingsPage.js +++ b/src/pages/ReportSettingsPage.js @@ -91,6 +91,7 @@ class ReportSettingsPage extends Component { render() { const shouldDisableRename = ReportUtils.isDefaultRoom(this.props.report) || ReportUtils.isArchivedRoom(this.props.report); const linkedWorkspace = _.find(this.props.policies, policy => policy.id === this.props.report.policyID); + const policyID = linkedWorkspace && linkedWorkspace.id; return ( @@ -135,15 +136,13 @@ class ReportSettingsPage extends Component { onChangeError={error => this.setState({error})} initialValue={this.state.newRoomName} disabled={shouldDisableRename} - policyID={linkedWorkspace && linkedWorkspace.id} + policyID={policyID} />