Add ticket create message.

This commit is contained in:
LautaroCesso 2020-02-11 15:44:22 -03:00
parent e947e72e09
commit 57098c661e
3 changed files with 25 additions and 4 deletions

View File

@ -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 (
<div className="ticket-list">
<div className="ticket-list__filters">
{this.props.type === 'primary' ? this.renderMessage() : null}
{(this.props.type === 'secondary' && this.props.showDepartmentDropdown) ? this.renderDepartmentsDropDown() : null}
{this.props.onClosedTicketsShownChange ? this.renderFilterCheckbox() : null}
</div>
@ -69,6 +71,17 @@ class TicketList extends React.Component {
);
}
renderMessage() {
switch (this.getParameterByName('message')) {
case 'success':
return <Message className="create-ticket-form__message" type="success">{i18n('TICKET_SENT')}</Message>
case 'fail':
return <Message className="create-ticket-form__message" type="error">{i18n('TICKET_SENT_ERROR')}</Message>;
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 [

View File

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

View File

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