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);
}