diff --git a/client/src/app-components/ticket-list.js b/client/src/app-components/ticket-list.js index 6f85dc43..b567b862 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.getQueryVariable('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,20 @@ class TicketList extends React.Component { return departments; } + getQueryVariable(variable) { + let query = window.location.search.substring(1); + let vars = query.split("&"); + + for (let i=0; i < vars.length; i++) { + let pair = vars[i].split("="); + if(pair[0] == variable) { + return pair[1]; + } + } + + return false; + } + 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..eb9f65a2 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); }