Fix: Aufgaben-Badge in Navigation wurde außerhalb des <a>-Tags ausgegeben
echo \$my_tasks_dot stand vor dem <li>, sodass der rote Badge als freies Element zwischen den Navigationspunkten erschien. Badge-Span wird jetzt innerhalb des <a>-Tags gerendert (analog zu \$collection_dot), und \$my_tasks_dot wird zu Beginn jeder Loop-Iteration auf "" gesetzt. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1216,6 +1216,7 @@ function navigation_fullmenu_rek( $site, $language, $navigation, $parent_id, $le
|
||||
echo "\n" . $spaces . "<ul class=\"level_$level\">";
|
||||
}
|
||||
while ($nav = @mysqli_fetch_array($result)) {
|
||||
$my_tasks_dot = "";
|
||||
//Icon herausziehen
|
||||
$getIconQuery = "SELECT navigation_icon FROM main_navigation WHERE id ='" . $nav["id"] . "'";
|
||||
$resultIconQuery = mysqli_query($GLOBALS["mysql_con"], $getIconQuery);
|
||||
@@ -1252,6 +1253,37 @@ function navigation_fullmenu_rek( $site, $language, $navigation, $parent_id, $le
|
||||
$display = " style='display:none;' ";
|
||||
}
|
||||
|
||||
$hasTaskCertAdminPermission = (int)get_permission_state(
|
||||
'r-task-cert-admin',
|
||||
$GLOBALS['main_contact']['master_mandant_id'],
|
||||
$GLOBALS['main_contact']['id']
|
||||
);
|
||||
|
||||
if ($nav['code'] === 'admin-task-list' && $hasTaskCertAdminPermission === 0) {
|
||||
$display = " style='display:none;' ";
|
||||
}
|
||||
|
||||
if ($nav["code"] == "my-tasks") {
|
||||
$query_my_tasks = "
|
||||
SELECT COUNT(*) AS badge_count
|
||||
FROM task_assignment ta
|
||||
INNER JOIN task_definition td
|
||||
ON td.id = ta.task_id
|
||||
AND td.active = 1
|
||||
WHERE ta.main_contact_id = " . (int)$GLOBALS['main_contact']['id'] . "
|
||||
AND ta.status IN ('overdue', 'open', 'in_progress', 'approval_pending', 'rejected')
|
||||
";
|
||||
|
||||
$result_my_tasks = @mysqli_query($GLOBALS['mysql_con'], $query_my_tasks);
|
||||
$row_my_tasks = @mysqli_fetch_assoc($result_my_tasks);
|
||||
$my_tasks_count = (int)$row_my_tasks['badge_count'];
|
||||
@mysqli_free_result($result_my_tasks);
|
||||
|
||||
if ($my_tasks_count > 0) {
|
||||
$my_tasks_dot = "<span class='hint'>" . $my_tasks_count . "</span>";
|
||||
}
|
||||
}
|
||||
|
||||
if($nav["code"] == 'home' || $nav["code"] == 'startseite' || $nav["is_home_page"] == 1){
|
||||
$addr = '/';
|
||||
}
|
||||
@@ -1287,7 +1319,7 @@ function navigation_fullmenu_rek( $site, $language, $navigation, $parent_id, $le
|
||||
echo "</a>";
|
||||
echo "</div>";
|
||||
}else {
|
||||
echo "<a " . $active . $link . $target .">" . $icon . $nav["menu_name"] . $collection_dot ."</a>";
|
||||
echo "<a " . $active . $link . $target .">" . $icon . $nav["menu_name"] . $collection_dot . $my_tasks_dot ."</a>";
|
||||
}
|
||||
}
|
||||
navigation_fullmenu_rek($site, $language, $navigation, $nav["id"], ($level + 1), $newnavcode, $from_level, $to_level);
|
||||
|
||||
Reference in New Issue
Block a user