Display category colors on calendar
This commit is contained in:
parent
d74b07b455
commit
33cb1723ee
@ -50,7 +50,7 @@ hesk_isLoggedIn();
|
||||
define('MFH_CALENDAR', 1);
|
||||
|
||||
// Get categories for the dropdown
|
||||
$rs = hesk_dbQuery("SELECT `id`, `name` FROM `" . hesk_dbEscape($hesk_settings['db_pfix']) . "categories` ORDER BY `cat_order`");
|
||||
$rs = hesk_dbQuery("SELECT `id`, `name`, `color` FROM `" . hesk_dbEscape($hesk_settings['db_pfix']) . "categories` ORDER BY `cat_order`");
|
||||
$categories = [];
|
||||
while ($row = hesk_dbFetchAssoc($rs)) {
|
||||
$categories[] = $row;
|
||||
@ -127,7 +127,7 @@ require_once(HESK_PATH . 'inc/show_admin_nav.inc.php');
|
||||
echo '<option value="">'.$hesklang['select'].'</option>';
|
||||
}
|
||||
foreach ($categories as $category): ?>
|
||||
<option value="<?php echo $category['id']; ?>">
|
||||
<option value="<?php echo $category['id']; ?>" data-color="<?php echo htmlspecialchars($category['color']); ?>">
|
||||
<?php echo $category['name']; ?>
|
||||
</option>
|
||||
<?php endforeach; ?>
|
||||
@ -264,7 +264,7 @@ require_once(HESK_PATH . 'inc/show_admin_nav.inc.php');
|
||||
echo '<option value="">'.$hesklang['select'].'</option>';
|
||||
}
|
||||
foreach ($categories as $category): ?>
|
||||
<option value="<?php echo $category['id']; ?>">
|
||||
<option value="<?php echo $category['id']; ?>" data-color="<?php echo $category['color']; ?>">
|
||||
<?php echo $category['name']; ?>
|
||||
</option>
|
||||
<?php endforeach; ?>
|
||||
|
@ -1,7 +1,8 @@
|
||||
<?php
|
||||
|
||||
function get_events($start, $end, $hesk_settings) {
|
||||
$sql = "SELECT `events`.*, `categories`.`name` AS `category_name` FROM `" . hesk_dbEscape($hesk_settings['db_pfix']) . "calendar_event` AS `events`
|
||||
$sql = "SELECT `events`.*, `categories`.`name` AS `category_name`, `categories`.`color` AS `category_color`
|
||||
FROM `" . hesk_dbEscape($hesk_settings['db_pfix']) . "calendar_event` AS `events`
|
||||
INNER JOIN `" . hesk_dbEscape($hesk_settings['db_pfix']) . "categories` AS `categories`
|
||||
ON `events`.`category` = `categories`.`id`
|
||||
WHERE `start` >= FROM_UNIXTIME(" . hesk_dbEscape($start)
|
||||
@ -21,6 +22,7 @@ function get_events($start, $end, $hesk_settings) {
|
||||
$event['comments'] = $row['comments'];
|
||||
$event['categoryId'] = $row['category'];
|
||||
$event['categoryName'] = $row['category_name'];
|
||||
$event['categoryColor'] = $row['category_color'];
|
||||
$events[] = $event;
|
||||
}
|
||||
|
||||
@ -41,6 +43,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';
|
||||
$events[] = $event;
|
||||
}
|
||||
|
||||
|
@ -203,7 +203,8 @@ $(document).ready(function() {
|
||||
comments: $('#create-form textarea[name="comments"]').val(),
|
||||
categoryId: $('#create-form select[name="category"]').val(),
|
||||
action: 'create',
|
||||
type: 'CALENDAR'
|
||||
type: 'CALENDAR',
|
||||
categoryColor: $('#create-form select[name="category"] :selected').attr('data-color')
|
||||
};
|
||||
|
||||
$.ajax({
|
||||
@ -303,10 +304,33 @@ function buildEvent(id, dbObject) {
|
||||
location: dbObject.location,
|
||||
type: dbObject.type,
|
||||
categoryId: dbObject.categoryId,
|
||||
categoryName: dbObject.categoryName
|
||||
categoryName: dbObject.categoryName,
|
||||
color: dbObject.categoryColor,
|
||||
textColor: calculateTextColor(dbObject.categoryColor)
|
||||
};
|
||||
}
|
||||
|
||||
function calculateTextColor(color) {
|
||||
var red = 0;
|
||||
var green = 0;
|
||||
var blue = 0;
|
||||
|
||||
// If hex value is 3 characters, take each value and concatenate it to itself
|
||||
if (color.length === 3) {
|
||||
red = parseInt(color.substring(1, 2), 16);
|
||||
green = parseInt(color.substring(2, 3), 16);
|
||||
blue = parseInt(color.substring(3, 4), 16);
|
||||
} else {
|
||||
red = parseInt(color.substring(1, 3), 16);
|
||||
green = parseInt(color.substring(3, 5), 16);
|
||||
blue = parseInt(color.substring(5, 7), 16);
|
||||
}
|
||||
|
||||
var gray = red * 0.299 + green * 0.587 + blue * 0.114;
|
||||
|
||||
return gray > 186 ? 'black' : 'white';
|
||||
}
|
||||
|
||||
function displayCreateModal(date, viewName) {
|
||||
var $form = $('#create-form');
|
||||
$form.find('input[name="name"]').val('').end()
|
||||
|
Loading…
x
Reference in New Issue
Block a user