Show tickets with their due dates

merge-requests/1/head
Mike Koch 8 years ago
parent b4bb77f2aa
commit 03c47c1ab7

@ -9,6 +9,7 @@ function get_events($start, $end, $hesk_settings) {
$events = [];
while ($row = hesk_dbFetchAssoc($rs)) {
$event['type'] = 'CALENDAR';
$event['id'] = intval($row['id']);
$event['startTime'] = $row['start'];
$event['endTime'] = $row['end'];
@ -21,6 +22,21 @@ function get_events($start, $end, $hesk_settings) {
$events[] = $event;
}
$sql = "SELECT `trackid`, `subject`, `due_date` FROM `" . hesk_dbEscape($hesk_settings['db_pfix']) . "tickets`
WHERE `due_date` >= FROM_UNIXTIME(" . intval($start) . " / 1000)
AND `due_date` <= FROM_UNIXTIME(" . intval($end) . " / 1000)
AND `status` IN (SELECT `id` FROM `" . hesk_dbEscape($hesk_settings['db_pfix']) . "statuses` WHERE `IsClosed` = 0) ";
$rs = hesk_dbQuery($sql);
while ($row = hesk_dbFetchAssoc($rs)) {
$event['type'] = 'TICKET';
$event['trackingId'] = $row['trackid'];
$event['title'] = '[' . $row['trackid'] . '] ' . $row['subject'];
$event['startTime'] = $row['due_date'];
$event['url'] = $hesk_settings['hesk_url'] . '/' . $hesk_settings['admin_dir'] . '/admin_ticket.php?track=' . $event['trackingId'];
$events[] = $event;
}
return $events;
}

@ -21,7 +21,8 @@ $(document).ready(function() {
});
callback(events);
},
error: function() {
error: function(data) {
console.error(data);
$.jGrowl('An error occurred when trying to load events', { theme: 'alert-danger', closeTemplate: '' });
}
});
@ -30,7 +31,13 @@ $(document).ready(function() {
displayCreateModal(date, view.name);
},
eventClick: function(event) {
displayEditModal(event);
if (event.url) {
window.open(event.url, "_blank");
return false;
}
if (event.type !== 'TICKET') {
displayEditModal(event);
}
},
eventDrop: function(event, delta, revertFunc) {
var start = event.start.format('YYYY-MM-DD');
@ -224,6 +231,18 @@ function removeFromCalendar(id) {
}
function buildEvent(id, dbObject) {
if (dbObject.type == 'TICKET') {
return {
title: dbObject.title,
trackingId: dbObject.trackingId,
start: moment(dbObject.startTime),
url: dbObject.url,
color: 'green',
allDay: true,
type: dbObject.type
};
}
var createTicketDate = null;
if (dbObject.createTicketDate != null) {
createTicketDate = moment(dbObject.createTicketDate);
@ -237,7 +256,8 @@ function buildEvent(id, dbObject) {
comments: dbObject.comments,
createTicketDate: createTicketDate,
assignTo: dbObject.assignTo,
location: dbObject.location
location: dbObject.location,
type: dbObject.type
};
}

Loading…
Cancel
Save