File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -44,7 +44,7 @@ def type_(self) -> str:
4444class CategoryMenu (ItemMenu ):
4545 def is_active (self , request : Request ) -> bool :
4646 return any (
47- c .is_visible (request ) and c .is_accessible (request ) for c in self .children
47+ c .is_active (request ) and c .is_accessible (request ) for c in self .children
4848 )
4949
5050 @property
Original file line number Diff line number Diff line change 11{% macro menu_category(menu, request) %}
2- {% if menu.is_active (request) %}
2+ {% if menu.is_visible(request) and menu.is_accessible (request) %}
33< li class ="nav-item dropdown ">
44 < a class ="nav-link dropdown-toggle {% if menu.is_active(request) %}active{% endif %} " data-bs-toggle ="dropdown "
55 href ="# ">
Original file line number Diff line number Diff line change @@ -42,6 +42,32 @@ def test_category_menu():
4242 assert item_menu .type_ == "Category"
4343
4444
45+ def test_category_menu_is_active_when_child_is_active ():
46+ request = Request (
47+ {
48+ "type" : "http" ,
49+ "path_params" : {"identity" : "user" },
50+ }
51+ )
52+ user_menu = ViewMenu (view = UserAdmin (), name = "user" )
53+
54+ category_menu = CategoryMenu (name = "Models" )
55+ category_menu .add_child (user_menu )
56+
57+ assert user_menu .is_active (request ) is True
58+ assert category_menu .is_active (request ) is True
59+
60+
61+ def test_category_menu_is_not_active_when_no_child_is_active ():
62+ user_menu = ViewMenu (view = UserAdmin (), name = "user" )
63+
64+ category_menu = CategoryMenu (name = "Models" )
65+ category_menu .add_child (user_menu )
66+
67+ assert user_menu .is_active (request ) is False
68+ assert category_menu .is_active (request ) is False
69+
70+
4571def test_view_menu ():
4672 item_menu = ViewMenu (view = UserAdmin (), name = "view" )
4773
You can’t perform that action at this time.
0 commit comments