Display category colors on calendar
This commit is contained in:
parent
d74b07b455
commit
33cb1723ee
@ -50,7 +50,7 @@ hesk_isLoggedIn();
|
|||||||
define('MFH_CALENDAR', 1);
|
define('MFH_CALENDAR', 1);
|
||||||
|
|
||||||
// Get categories for the dropdown
|
// 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 = [];
|
$categories = [];
|
||||||
while ($row = hesk_dbFetchAssoc($rs)) {
|
while ($row = hesk_dbFetchAssoc($rs)) {
|
||||||
$categories[] = $row;
|
$categories[] = $row;
|
||||||
@ -127,7 +127,7 @@ require_once(HESK_PATH . 'inc/show_admin_nav.inc.php');
|
|||||||
echo '<option value="">'.$hesklang['select'].'</option>';
|
echo '<option value="">'.$hesklang['select'].'</option>';
|
||||||
}
|
}
|
||||||
foreach ($categories as $category): ?>
|
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']; ?>
|
<?php echo $category['name']; ?>
|
||||||
</option>
|
</option>
|
||||||
<?php endforeach; ?>
|
<?php endforeach; ?>
|
||||||
@ -264,7 +264,7 @@ require_once(HESK_PATH . 'inc/show_admin_nav.inc.php');
|
|||||||
echo '<option value="">'.$hesklang['select'].'</option>';
|
echo '<option value="">'.$hesklang['select'].'</option>';
|
||||||
}
|
}
|
||||||
foreach ($categories as $category): ?>
|
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']; ?>
|
<?php echo $category['name']; ?>
|
||||||
</option>
|
</option>
|
||||||
<?php endforeach; ?>
|
<?php endforeach; ?>
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
function get_events($start, $end, $hesk_settings) {
|
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`
|
INNER JOIN `" . hesk_dbEscape($hesk_settings['db_pfix']) . "categories` AS `categories`
|
||||||
ON `events`.`category` = `categories`.`id`
|
ON `events`.`category` = `categories`.`id`
|
||||||
WHERE `start` >= FROM_UNIXTIME(" . hesk_dbEscape($start)
|
WHERE `start` >= FROM_UNIXTIME(" . hesk_dbEscape($start)
|
||||||
@ -21,6 +22,7 @@ function get_events($start, $end, $hesk_settings) {
|
|||||||
$event['comments'] = $row['comments'];
|
$event['comments'] = $row['comments'];
|
||||||
$event['categoryId'] = $row['category'];
|
$event['categoryId'] = $row['category'];
|
||||||
$event['categoryName'] = $row['category_name'];
|
$event['categoryName'] = $row['category_name'];
|
||||||
|
$event['categoryColor'] = $row['category_color'];
|
||||||
$events[] = $event;
|
$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['url'] = $hesk_settings['hesk_url'] . '/' . $hesk_settings['admin_dir'] . '/admin_ticket.php?track=' . $event['trackingId'];
|
||||||
$event['categoryId'] = $row['category'];
|
$event['categoryId'] = $row['category'];
|
||||||
$event['categoryName'] = $row['category_name'];
|
$event['categoryName'] = $row['category_name'];
|
||||||
|
$event['categoryColor'] = 'green';
|
||||||
$events[] = $event;
|
$events[] = $event;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -203,7 +203,8 @@ $(document).ready(function() {
|
|||||||
comments: $('#create-form textarea[name="comments"]').val(),
|
comments: $('#create-form textarea[name="comments"]').val(),
|
||||||
categoryId: $('#create-form select[name="category"]').val(),
|
categoryId: $('#create-form select[name="category"]').val(),
|
||||||
action: 'create',
|
action: 'create',
|
||||||
type: 'CALENDAR'
|
type: 'CALENDAR',
|
||||||
|
categoryColor: $('#create-form select[name="category"] :selected').attr('data-color')
|
||||||
};
|
};
|
||||||
|
|
||||||
$.ajax({
|
$.ajax({
|
||||||
@ -303,10 +304,33 @@ function buildEvent(id, dbObject) {
|
|||||||
location: dbObject.location,
|
location: dbObject.location,
|
||||||
type: dbObject.type,
|
type: dbObject.type,
|
||||||
categoryId: dbObject.categoryId,
|
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) {
|
function displayCreateModal(date, viewName) {
|
||||||
var $form = $('#create-form');
|
var $form = $('#create-form');
|
||||||
$form.find('input[name="name"]').val('').end()
|
$form.find('input[name="name"]').val('').end()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user