A bunch of calendar fixes

merge-requests/1/head
Mike Koch 8 years ago
parent 4a09d508b8
commit 1df4e7775a

@ -671,8 +671,10 @@ require_once(HESK_PATH . 'inc/show_admin_nav.inc.php');
<div id="readonly-due-date">
<span id="due-date">
<?php
$due_date = hesk_date($ticket['due_date'], false);
$current_date = hesk_date();
$due_date = 'None';
if ($ticket['due_date'] != null) {
$due_date = hesk_date($ticket['due_date'], false);
}
echo substr($due_date, 0, 10);
?></span><!--<span id="overdue">
<?php
@ -685,9 +687,10 @@ require_once(HESK_PATH . 'inc/show_admin_nav.inc.php');
<button id="due-date-button" class="btn btn-default btn-sm">Change</button>
</div>
<div id="editable-due-date" style="display: none">
<input type="text" class="form-control datepicker" name="due-date" value="<?php echo substr($due_date, 0, 10); ?>"><br>
<input type="text" class="form-control datepicker" name="due-date" value="<?php echo $due_date == 'None' ? '' : substr($due_date, 0, 10); ?>"><br>
<div class="btn-group">
<button id="submit" class="btn btn-primary">Save</button>
<button id="clear" class="btn btn-danger">No Due Date</button>
<button id="cancel" class="btn btn-default">Cancel</button>
</div>
</div>

@ -77,7 +77,7 @@ require_once(HESK_PATH . 'inc/show_admin_nav.inc.php');
<div class="checkbox">
<input type="checkbox" name="category-toggle" value="<?php echo $category['id']; ?>" checked>
</div>
<span class="label background-volitaile category-label" style="<?php echo $category['css_style']; ?>">
<span class="label background-volatile category-label" style="<?php echo $category['css_style']; ?>">
<?php echo $category['name']; ?>
</span>
</li>

@ -728,7 +728,7 @@ function execute260Scripts()
`name` VARCHAR(255) NOT NULL,
`location` VARCHAR(255),
`comments` MEDIUMTEXT,
`category` INT) ENGINE = MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci");
`category` INT NOT NULL) ENGINE = MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci");
executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "tickets` ADD COLUMN `due_date` DATETIME");
executeQuery("ALTER TABLE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "categories` ADD COLUMN `color` VARCHAR(7)");
executeQuery("UPDATE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` SET `Value` = '2.6.0' WHERE `Key` = 'modsForHeskVersion'");

@ -44,6 +44,7 @@ if ($request_method === 'GET') {
}
$event['id'] = hesk_POST('id');
$event['title'] = hesk_POST('title');
$event['location'] = hesk_POST('location');
$event['start'] = hesk_POST('startTime');
$event['end'] = hesk_POST('endTime');
$event['all_day'] = hesk_POST('allDay') === 'true';

@ -26,7 +26,8 @@ function get_events($start, $end, $hesk_settings) {
$events[] = $event;
}
$sql = "SELECT `trackid`, `subject`, `due_date`, `category`, `categories`.`name` AS `category_name`
$sql = "SELECT `trackid`, `subject`, `due_date`, `category`, `categories`.`name` AS `category_name`, `categories`.`color` AS `category_color`,
CASE WHEN `due_date` < CURDATE() THEN 1 ELSE 0 END AS `overdue`
FROM `" . hesk_dbEscape($hesk_settings['db_pfix']) . "tickets` AS `tickets`
INNER JOIN `" . hesk_dbEscape($hesk_settings['db_pfix']) . "categories` AS `categories`
ON `categories`.`id` = `tickets`.`category`
@ -43,7 +44,7 @@ function get_events($start, $end, $hesk_settings) {
$event['url'] = $hesk_settings['hesk_url'] . '/' . $hesk_settings['admin_dir'] . '/admin_ticket.php?track=' . $event['trackingId'];
$event['categoryId'] = $row['category'];
$event['categoryName'] = $row['category_name'];
$event['categoryColor'] = 'green';
$event['categoryColor'] = $row['overdue'] ? '#dd0000' : $row['category_color'];
$events[] = $event;
}

@ -17,7 +17,7 @@ $(document).ready(function() {
var newDueDate = $editableDueDateContainer.find('input[type="text"][name="due-date"]').val();
$.ajax({
method: 'POST',
url: getHelpdeskUrl() + '/internal-api/admin/calendar',
url: getHelpdeskUrl() + '/internal-api/admin/calendar/',
data: {
trackingId: $('input[type="hidden"][name="track"]').val(),
action: 'update-ticket',

@ -43,7 +43,7 @@ $(document).ready(function() {
if (event.type === 'TICKET') {
$.ajax({
method: 'POST',
url: getHelpdeskUrl() + '/internal-api/admin/calendar',
url: getHelpdeskUrl() + '/internal-api/admin/calendar/',
data: {
trackingId: event.trackingId,
action: 'update-ticket',
@ -80,7 +80,7 @@ $(document).ready(function() {
};
$.ajax({
method: 'POST',
url: getHelpdeskUrl() + '/internal-api/admin/calendar',
url: getHelpdeskUrl() + '/internal-api/admin/calendar/',
data: data,
success: function() {
$.jGrowl('Event successfully updated', { theme: 'alert-success', closeTemplate: '' });
@ -167,7 +167,7 @@ $(document).ready(function() {
$.ajax({
method: 'POST',
url: getHelpdeskUrl() + '/internal-api/admin/calendar',
url: getHelpdeskUrl() + '/internal-api/admin/calendar/',
data: data,
success: function() {
removeFromCalendar(data.id);
@ -204,12 +204,13 @@ $(document).ready(function() {
categoryId: $('#create-form select[name="category"]').val(),
action: 'create',
type: 'CALENDAR',
categoryColor: $('#create-form select[name="category"] :selected').attr('data-color')
categoryColor: $('#create-form select[name="category"] :selected').attr('data-color'),
categoryName: $('#create-form select[name="category"] :selected').text().trim()
};
$.ajax({
method: 'POST',
url: getHelpdeskUrl() + '/internal-api/admin/calendar',
url: getHelpdeskUrl() + '/internal-api/admin/calendar/',
data: data,
success: function(id) {
addToCalendar(id, data, "Event successfully created");
@ -246,12 +247,14 @@ $(document).ready(function() {
allDay: allDay,
comments: $form.find('textarea[name="comments"]').val(),
categoryId: $form.find('select[name="category"]').val(),
categoryColor: $form.find('select[name="category"] :selected').attr('data-color'),
categoryName: $form.find('select[name="category"] :selected').text().trim(),
action: 'update'
};
$.ajax({
method: 'POST',
url: getHelpdeskUrl() + '/internal-api/admin/calendar',
url: getHelpdeskUrl() + '/internal-api/admin/calendar/',
data: data,
success: function() {
removeFromCalendar(data.id);
@ -290,11 +293,12 @@ function buildEvent(id, dbObject) {
trackingId: dbObject.trackingId,
start: moment(dbObject.startTime),
url: dbObject.url,
color: endOfDay.isBefore() ? '#dd0000' : 'green',
color: dbObject.categoryColor === '' || dbObject.categoryColor === null ? '#fff' : dbObject.categoryColor,
allDay: true,
type: dbObject.type,
categoryId: dbObject.categoryId,
className: 'category-' + dbObject.categoryId
className: 'category-' + dbObject.categoryId,
textColor: calculateTextColor(dbObject.categoryColor)
};
}
@ -310,12 +314,16 @@ function buildEvent(id, dbObject) {
categoryId: dbObject.categoryId,
categoryName: dbObject.categoryName,
className: 'category-' + dbObject.categoryId,
color: dbObject.categoryColor,
color: dbObject.categoryColor === '' || dbObject.categoryColor === null ? '#fff' : dbObject.categoryColor,
textColor: calculateTextColor(dbObject.categoryColor)
};
}
function calculateTextColor(color) {
if (color === null || color === '') {
return 'black';
}
var red = 0;
var green = 0;
var blue = 0;
@ -394,6 +402,7 @@ function displayEditModal(date) {
createTicketLink += encodeURI(' @ ' + date.location);
}
createTicketLink += encodeURI('&message=' + date.comments);
createTicketLink += encodeURI('&category=' + date.categoryId);
$form.find('#create-ticket-button').prop('href', createTicketLink);

Loading…
Cancel
Save