mirror of
https://github.com/opensupports/opensupports.git
synced 2025-07-30 01:05:18 +02:00
Adds 'include closed' checkbox to all-tickets view with no integration with the search bar
This commit is contained in:
parent
73b92bba86
commit
c9ef8f1766
@ -32,12 +32,14 @@ export default {
|
|||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|
||||||
retrieveAllTickets(page = 1) {
|
retrieveAllTickets(page = 1, closed = 0) {
|
||||||
|
console.log('Closed is:');
|
||||||
|
console.log(closed);
|
||||||
return {
|
return {
|
||||||
type: 'ALL_TICKETS',
|
type: 'ALL_TICKETS',
|
||||||
payload: API.call({
|
payload: API.call({
|
||||||
path: '/staff/get-all-tickets',
|
path: '/staff/get-all-tickets',
|
||||||
data: {page}
|
data: {page, closed}
|
||||||
})
|
})
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
@ -20,7 +20,8 @@ class AdminPanelAllTickets extends React.Component {
|
|||||||
|
|
||||||
state = {
|
state = {
|
||||||
page: 1,
|
page: 1,
|
||||||
query: ''
|
query: '',
|
||||||
|
closedTicketsShown: false
|
||||||
};
|
};
|
||||||
|
|
||||||
componentDidMount() {
|
componentDidMount() {
|
||||||
@ -52,10 +53,22 @@ class AdminPanelAllTickets extends React.Component {
|
|||||||
ticketPath: '/admin/panel/tickets/view-ticket/',
|
ticketPath: '/admin/panel/tickets/view-ticket/',
|
||||||
onPageChange: this.onPageChange.bind(this),
|
onPageChange: this.onPageChange.bind(this),
|
||||||
page: this.state.page,
|
page: this.state.page,
|
||||||
pages: this.props.pages
|
pages: this.props.pages,
|
||||||
|
closedTicketsShown: this.state.closedTicketsShown,
|
||||||
|
onClosedTicketsShownChange: this.onClosedTicketsShownChange.bind(this)
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
onClosedTicketsShownChange() {
|
||||||
|
this.setState(function(state) {
|
||||||
|
return {
|
||||||
|
closedTicketsShown: !state.closedTicketsShown
|
||||||
|
};
|
||||||
|
}, () => {
|
||||||
|
this.props.dispatch(AdminDataAction.retrieveAllTickets(this.state.page, this.state.closedTicketsShown * 1));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
onSearch(query) {
|
onSearch(query) {
|
||||||
this.setState({query, page: 1});
|
this.setState({query, page: 1});
|
||||||
|
|
||||||
|
@ -14,6 +14,7 @@ use Respect\Validation\Validator as DataValidator;
|
|||||||
* @apiPermission staff1
|
* @apiPermission staff1
|
||||||
*
|
*
|
||||||
* @apiParam {Number} page The page number.
|
* @apiParam {Number} page The page number.
|
||||||
|
* @apiParam {Boolean} closed Include closed tickets.
|
||||||
*
|
*
|
||||||
* @apiUse NO_PERMISSION
|
* @apiUse NO_PERMISSION
|
||||||
* @apiUse INVALID_PAGE
|
* @apiUse INVALID_PAGE
|
||||||
@ -59,7 +60,8 @@ class GetAllTicketsStaffController extends Controller {
|
|||||||
$page = Controller::request('page');
|
$page = Controller::request('page');
|
||||||
|
|
||||||
$query = $this->getStaffDepartmentsQueryFilter();
|
$query = $this->getStaffDepartmentsQueryFilter();
|
||||||
$query .= 'ORDER BY id DESC LIMIT 10 OFFSET ' . (($page-1)*10);
|
$query .= $this->getClosedFilter();
|
||||||
|
$query .= ' ORDER BY id DESC LIMIT 10 OFFSET ' . (($page-1)*10);
|
||||||
|
|
||||||
return Ticket::find($query);
|
return Ticket::find($query);
|
||||||
}
|
}
|
||||||
@ -81,4 +83,13 @@ class GetAllTicketsStaffController extends Controller {
|
|||||||
|
|
||||||
return $query;
|
return $query;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private function getClosedFilter() {
|
||||||
|
$closed = Controller::request('closed')*1;
|
||||||
|
if ($closed) {
|
||||||
|
return '';
|
||||||
|
} else {
|
||||||
|
return " AND (closed = '0')";
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user