From 57098c661e34b66bce937d34811b16d74425cee1 Mon Sep 17 00:00:00 2001 From: LautaroCesso Date: Tue, 11 Feb 2020 15:44:22 -0300 Subject: [PATCH] Add ticket create message. --- client/src/app-components/ticket-list.js | 20 +++++++++++++++++++ .../create-ticket-form.js | 5 +++-- .../dashboard-create-ticket-page.js | 4 ++-- 3 files changed, 25 insertions(+), 4 deletions(-) diff --git a/client/src/app-components/ticket-list.js b/client/src/app-components/ticket-list.js index 6f85dc43..5ffac282 100644 --- a/client/src/app-components/ticket-list.js +++ b/client/src/app-components/ticket-list.js @@ -12,6 +12,7 @@ import Button from 'core-components/button'; import Tooltip from 'core-components/tooltip'; import Checkbox from 'core-components/checkbox'; import Tag from 'core-components/tag'; +import Message from 'core-components/message'; class TicketList extends React.Component { static propTypes = { @@ -48,6 +49,7 @@ class TicketList extends React.Component { return (
+ {this.props.type === 'primary' ? this.renderMessage() : null} {(this.props.type === 'secondary' && this.props.showDepartmentDropdown) ? this.renderDepartmentsDropDown() : null} {this.props.onClosedTicketsShownChange ? this.renderFilterCheckbox() : null}
@@ -69,6 +71,17 @@ class TicketList extends React.Component { ); } + renderMessage() { + switch (this.getParameterByName('message')) { + case 'success': + return {i18n('TICKET_SENT')} + case 'fail': + return {i18n('TICKET_SENT_ERROR')}; + default: + return null; + } + } + getDepartmentDropdownProps() { return { departments: this.getDepartments(), @@ -108,6 +121,13 @@ class TicketList extends React.Component { return departments; } + getParameterByName(name) { + name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]"); + let regex = new RegExp("[\\?&]" + name + "=([^&#]*)"), + results = regex.exec(location.search); + return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " ")); + } + getTableHeaders() { if (this.props.type == 'primary' ) { return [ diff --git a/client/src/app/main/dashboard/dashboard-create-ticket/create-ticket-form.js b/client/src/app/main/dashboard/dashboard-create-ticket/create-ticket-form.js index 6fa35f4f..80f4c351 100644 --- a/client/src/app/main/dashboard/dashboard-create-ticket/create-ticket-form.js +++ b/client/src/app/main/dashboard/dashboard-create-ticket/create-ticket-form.js @@ -141,12 +141,13 @@ class CreateTicketForm extends React.Component { } onTicketSuccess(email, result) { + let message = 'success' this.setState({ loading: false, - message: 'success' + message: message }, () => { if(this.props.onSuccess) { - this.props.onSuccess(result, email); + this.props.onSuccess(result, email, message); } }); } diff --git a/client/src/app/main/dashboard/dashboard-create-ticket/dashboard-create-ticket-page.js b/client/src/app/main/dashboard/dashboard-create-ticket/dashboard-create-ticket-page.js index a875f1fb..fe740a52 100644 --- a/client/src/app/main/dashboard/dashboard-create-ticket/dashboard-create-ticket-page.js +++ b/client/src/app/main/dashboard/dashboard-create-ticket/dashboard-create-ticket-page.js @@ -32,9 +32,9 @@ class DashboardCreateTicketPage extends React.Component { ); } - onCreateTicketSuccess(result, email) { + onCreateTicketSuccess(result, email, message) { if((this.props.location.pathname !== '/create-ticket')) { - setTimeout(() => {history.push('/dashboard')}, 2000); + history.push('/dashboard' + '?message=' + message); } else { setTimeout(() => {history.push('/check-ticket/' + result.data.ticketNumber + '/' + email)}, 1000); }