Ivan - Add admin panel ticket viewer [skip ci]

This commit is contained in:
ivan 2016-10-20 15:32:57 -03:00
parent 2e9aae777b
commit 9b83fde4fc
5 changed files with 66 additions and 5 deletions

View File

@ -242,7 +242,9 @@ class TicketViewer extends React.Component {
loading: false
});
store.dispatch(SessionActions.getUserData());
if(this.props.onComment) {
this.props.onComment();
}
}
onCommentFail() {

View File

@ -84,7 +84,7 @@ export default (
<Route path="new-tickets" component={AdminPanelNewTickets} />
<Route path="all-tickets" component={AdminPanelAllTickets} />
<Route path="custom-responses" component={AdminPanelCustomResponses} />
<Route path="view-ticket" component={AdminPanelViewTicket} />
<Route path="view-ticket/:ticketNumber" component={AdminPanelViewTicket} />
</Route>
<Route path="users">

View File

@ -1,14 +1,68 @@
import React from 'react';
import API from 'lib-app/api-call';
import TicketViewer from 'app-components/ticket-viewer';
import Loading from 'core-components/loading';
class AdminPanelViewTicket extends React.Component {
state = {
loading: true,
ticket: {}
};
render() {
return (
<div>
/admin/panel/tickets/view-ticket
{(this.state.loading) ? this.renderLoading() : this.renderView()}
</div>
);
}
renderLoading() {
};
renderView() {
return (this.props.ticket) ? this.renderNotFoundError() : this.renderTicketView();
}
renderNotFoundError() {
return (
<div>
</div>
);
}
renderTicketView() {
return (
<div>
</div>
);
}
retrieveTicket() {
this.setState({
loading: true,
ticket: {}
});
API.call({
path: '/ticket/get',
date: {
ticketNumber: this.props.params.ticketNumber
}
}).then(this.onRetrieveSuccess.bind(this))
}
onRetrieveSuccess(result) {
this.setState({
loading: false,
ticket: result.data
});
}
}
export default AdminPanelViewTicket;

View File

@ -2,6 +2,7 @@ import React from 'react';
import _ from 'lodash';
import {connect} from 'react-redux';
import SessionActions from 'actions/session-actions';
import TicketViewer from 'app-components/ticket-viewer';
class DashboardTicketPage extends React.Component {
@ -13,7 +14,7 @@ class DashboardTicketPage extends React.Component {
render() {
return (
<div className="dashboard-ticket-page">
<TicketViewer ticket={this.getTicketData()} />
<TicketViewer ticket={this.getTicketData()} onComment={this.retrieveUserData.bind(this)}/>
</div>
);
}
@ -21,6 +22,10 @@ class DashboardTicketPage extends React.Component {
getTicketData() {
return _.find(this.props.tickets, {ticketNumber: this.props.params.ticketNumber});
}
retrieveUserData() {
this.props.dispatch(SessionActions.getUserData());
}
}
export default connect((store) => {

View File

@ -43,7 +43,7 @@ module.exports = [
return {
status: 'success',
data: {
sessionActive: false
sessionActive: true
}
};
}