def page_menu(self, breadcrumb: Breadcrumb) -> PageMenu: return PageMenu( dropdowns=[ PageMenuDropdown( name="groups", title=self.title(), topics=[ PageMenuTopic( title=_("Add"), entries=[ PageMenuEntry( title=_("Add group"), icon_name="new", item=make_simple_link( watolib.folder_preserving_link([ ("mode", "edit_%s_group" % self.type_name) ])), is_shortcut=True, is_suggested=True, ), ], ), PageMenuTopic( title=_("Assign to group"), entries=[ PageMenuEntry( title=_("Rules"), icon_name="rulesets", item=make_simple_link(self._rules_url()), is_shortcut=True, is_suggested=True, ), ], ), ], ), PageMenuDropdown( name="related", title=_("Related"), topics=[ PageMenuTopic( title=_("Setup"), entries=list(self._page_menu_entries_related()), ), ], ), ], breadcrumb=breadcrumb, inpage_search=PageMenuSearch(), )
def page_menu(self, breadcrumb: Breadcrumb) -> PageMenu: if not self._folder.is_disk_folder(): return self._search_folder_page_menu(breadcrumb) menu = PageMenu( dropdowns=[ PageMenuDropdown( name="hosts", title=_("Hosts"), topics=[ PageMenuTopic( title=_("In this folder"), entries=list(self._page_menu_entries_hosts_in_folder()), ), PageMenuTopic( title=_("On selected hosts"), entries=list(self._page_menu_entries_selected_hosts()), ), make_checkbox_selection_topic("wato-folder-/%s" % self._folder.path(), is_enabled=bool(self._folder.has_hosts())), ], ), PageMenuDropdown( name="folders", title=_("Folder"), topics=[ PageMenuTopic( title=_("Folder"), entries=list(self._page_menu_entries_this_folder()), ), ], ), PageMenuDropdown( name="related", title=_("Related"), topics=[ PageMenuTopic( title=_("Setup"), entries=list(self._page_menu_entries_related()), ), ], ), ], breadcrumb=breadcrumb, inpage_search=PageMenuSearch(), ) self._extend_display_dropdown(menu) self._extend_help_dropdown(menu) return menu
def page_menu(self, breadcrumb: Breadcrumb) -> PageMenu: if not self._may_edit_config(): return PageMenu(dropdowns=[], breadcrumb=breadcrumb) return PageMenu( dropdowns=[ PageMenuDropdown( name="keys", title=_("Keys"), topics=[ PageMenuTopic( title=_("Add key"), entries=[ PageMenuEntry( title=_("Add key"), icon_name="new", item=make_simple_link( makeuri_contextless(request, [("mode", self.edit_mode)]) ), is_shortcut=True, is_suggested=True, ), PageMenuEntry( title=_("Upload key"), icon_name="upload", item=make_simple_link( makeuri_contextless(request, [("mode", self.upload_mode)]) ), is_shortcut=True, is_suggested=True, ), ], ), ], ), ], breadcrumb=breadcrumb, )
def _extend_display_dropdown(self, menu: PageMenu) -> None: display_dropdown = menu.get_dropdown_by_name("display", make_display_options_dropdown()) display_dropdown.topics.insert( 0, PageMenuTopic( title=_("Details"), entries=list(self._page_menu_entries_details()), )) display_dropdown.topics.insert( 0, PageMenuTopic( title=_("Below this folder"), entries=list(self._page_menu_entries_search()), ))
def page_menu(self, breadcrumb: Breadcrumb) -> PageMenu: return PageMenu( dropdowns=[ PageMenuDropdown( name="tags", title=_("Tags"), topics=[ PageMenuTopic( title=_("Add tags"), entries=[ PageMenuEntry( title=_("Add tag group"), icon_name="new", item=make_simple_link( watolib.folder_preserving_link([("mode", "edit_tag")])), is_shortcut=True, is_suggested=True, ), PageMenuEntry( title=_("Add aux tag"), icon_name={ "icon": "tag", "emblem": "add" }, item=make_simple_link( watolib.folder_preserving_link([("mode", "edit_auxtag")])), is_shortcut=True, is_suggested=True, ), ], ), PageMenuTopic( title=_("Analyze"), entries=[ PageMenuEntry( title=_("Tag usage"), icon_name={ "icon": "tag", "emblem": "search", }, item=make_simple_link( watolib.folder_preserving_link([("mode", "tag_usage")])), ), ], ), ], ), ], breadcrumb=breadcrumb, )
def page_menu(self, breadcrumb: Breadcrumb) -> PageMenu: return PageMenu( dropdowns=[ PageMenuDropdown( name="actions", title=_("Test"), topics=[ PageMenuTopic( title=_("Host properties"), entries=[ PageMenuEntry( title=_("Save & go to host properties"), icon_name="save", item=make_form_submit_link( "diag_host", "_save"), is_shortcut=True, is_suggested=True, ), ], ), PageMenuTopic( title=_("Options"), entries=[ PageMenuEntry( title=_("Run tests"), icon_name="connection_tests", item=make_form_submit_link( "diag_host", "_try"), is_shortcut=True, is_suggested=True, ), ], ), ], ), PageMenuDropdown( name="hosts", title=_("Hosts"), topics=[ PageMenuTopic( title=_("For this host"), entries=list( page_menu_host_entries(self.name(), self._host)), ), ], ), ], breadcrumb=breadcrumb, )
def _extend_display_dropdown(self, menu: PageMenu) -> None: display_dropdown = menu.get_dropdown_by_name("display", make_display_options_dropdown()) display_dropdown.topics.insert( 0, PageMenuTopic( title=_("Details"), entries=list(self._page_menu_entries_details()), )) display_dropdown.topics.insert( 0, PageMenuTopic( title=_("Filter settings"), entries=list(self._page_menu_entries_filter()), ))
def _extend_display_dropdown(self, menu: PageMenu) -> None: display_dropdown = menu.get_dropdown_by_name("display", make_display_options_dropdown()) display_dropdown.topics.insert( 0, PageMenuTopic( title=_("Search for check plugins"), entries=[ PageMenuEntry( title="", icon_name="trans", item=PageMenuSearch(target_mode="check_plugin_search"), ), ], ))
def page_menu(self, breadcrumb: Breadcrumb) -> PageMenu: return PageMenu( dropdowns=[ PageMenuDropdown( name="related", title=_("Related"), topics=[ PageMenuTopic( title=_("Setup"), entries=list(self._page_menu_entries_related()), ), ], ), ], breadcrumb=breadcrumb, )
def _add_snapins_page_menu(breadcrumb: Breadcrumb) -> PageMenu: return PageMenu( dropdowns=[ PageMenuDropdown( name="related", title=_("Related"), topics=[ PageMenuTopic( title=_("Configure"), entries=list(CustomSnapins.page_menu_entry_list()), ), ], ), ], breadcrumb=breadcrumb, )
def _page_menu_werk(breadcrumb: Breadcrumb, werk: Dict[str, Any]): return PageMenu( dropdowns=[ PageMenuDropdown( name="Werk", title="Werk", topics=[ PageMenuTopic( title=_("Incompatible werk"), entries=list(_page_menu_entries_ack_werk(werk)), ), ], ), ], breadcrumb=breadcrumb, )
def _extend_display_dropdown(self, menu: PageMenu) -> None: display_dropdown = menu.get_dropdown_by_name( "display", make_display_options_dropdown()) display_dropdown.topics.insert( 0, PageMenuTopic( title=_("Filter permissions"), entries=[ PageMenuEntry( title="", icon_name="trans", item=PageMenuSearch(), ) ], ))
def page_menu(self, breadcrumb: Breadcrumb) -> PageMenu: return PageMenu( dropdowns=[ PageMenuDropdown( name="users", title=_("Users"), topics=[ PageMenuTopic( title=_("Add user"), entries=[ PageMenuEntry( title=_("Add user"), icon_name="new", item=make_simple_link( watolib.folder_preserving_link([ ("mode", "edit_user") ])), is_shortcut=True, is_suggested=True, ), ], ), PageMenuTopic( title=_("Synchronized users"), entries=list( self._page_menu_entries_synchronized_users()), ), PageMenuTopic( title=_("Notify users"), entries=list( self._page_menu_entries_notify_users()), ), ], ), PageMenuDropdown( name="related", title=_("Related"), topics=[ PageMenuTopic( title=_("Setup"), entries=list(self._page_menu_entries_related()), ), ], ), ], breadcrumb=breadcrumb, )
def _extend_display_dropdown(self, menu: PageMenu) -> None: display_dropdown = menu.get_dropdown_by_name("display", make_display_options_dropdown()) display_dropdown.topics.insert( 0, PageMenuTopic( title=_("Filter"), entries=[ PageMenuEntry( title=_("Filter view"), icon_name="filters_set" if html.form_submitted("options") else "filters", item=PageMenuPopup(self._render_filter_form()), name="filters", is_shortcut=True, ), ], ))
def show_topology(self, hostnames: List[HostName], mode: str, growth_auto_max_nodes: Optional[int] = None, mesh_depth: int = 0, max_nodes: int = 400) -> None: board_name = "topology" board = get_permitted_dashboards()[board_name] breadcrumb = dashboard_breadcrumb(board_name, board, board["title"]) page_menu = PageMenu(breadcrumb=breadcrumb) self._extend_display_dropdown(page_menu, board_name) html.header(board["title"], breadcrumb, page_menu) self.show_topology_content(hostnames, mode, growth_auto_max_nodes=growth_auto_max_nodes, mesh_depth=mesh_depth, max_nodes=max_nodes)
def _extend_display_dropdown(self, menu: PageMenu) -> None: display_dropdown = menu.get_dropdown_by_name( "display", make_display_options_dropdown()) display_dropdown.topics.insert( 0, PageMenuTopic( title=_("Filter"), entries=[ PageMenuEntry( title=_("Filter view"), icon_name="filters_set" if html.form_submitted("options") else "filter", item=PageMenuSidePopup(self._render_filter_form()), name="filters", is_shortcut=True, ), ], ), ) display_dropdown.topics.insert( 0, PageMenuTopic( title=_("Details"), entries=[ PageMenuEntry( title=_("Show details"), icon_name="checked_checkbox" if self._show_details else "checkbox", item=make_simple_link( makeactionuri( request, transactions, [ ("show_details", "0" if self._show_details else "1"), ], )), name="show_details", css_classes=["toggle"], ) ], ), )
def render_page_confirm(acktime, failed_notifications): title = _("Confirm failed notifications") breadcrumb = make_simple_page_breadcrumb( mega_menu_registry.menu_monitoring(), title) confirm_url = make_confirm_link( url=html.makeactionuri_contextless([ ("mode", "clear_failed_notifications"), ("acktime", str(acktime)), ("_confirm", "1"), ]), message= _("Do you really want to acknowledge all failed notifications up to %s?" ) % cmk.utils.render.date_and_time(acktime), ) page_menu = PageMenu( dropdowns=[ PageMenuDropdown( name="actions", title=_("Actions"), topics=[ PageMenuTopic( title=_("Actions"), entries=[ PageMenuEntry( title=_("Confirm"), icon_name="save", item=make_javascript_link(confirm_url), is_shortcut=True, is_suggested=True, is_enabled=failed_notifications, ), ], ), ], ), ], breadcrumb=breadcrumb, ) html.header(title, breadcrumb, page_menu) render_notification_table(failed_notifications) html.footer()
def _extend_display_dropdown(menu: PageMenu) -> None: display_dropdown = menu.get_dropdown_by_name("display", make_display_options_dropdown()) display_dropdown.topics.insert( 0, PageMenuTopic( title=_("Context"), entries=[ PageMenuEntry( title=_("Hide context"), icon_name="trans", item=PageMenuCheckbox( is_checked=html.request.var('_hidecontext', 'no') == 'yes', check_url=makeuri(request, [("_hidecontext", "yes")]), uncheck_url=makeuri(request, [("_show_backlog", "no")]), ), ), ], ))
def _page_menu(self, breadcrumb: Breadcrumb, werk_table_options: Dict[str, Any]) -> PageMenu: menu = PageMenu( dropdowns=[ PageMenuDropdown( name="werks", title=_("Werks"), topics=[ PageMenuTopic( title=_("Incompatible werks"), entries=list(_page_menu_entries_ack_all_werks()), ), ], ), ], breadcrumb=breadcrumb, ) _extend_display_dropdown(menu, werk_table_options) return menu
def _extend_display_dropdown(menu: PageMenu) -> None: display_dropdown = menu.get_dropdown_by_name("display", make_display_options_dropdown()) context_hidden = html.request.var('_hidecontext', 'no') == 'yes' display_dropdown.topics.insert( 0, PageMenuTopic( title=_("Context"), entries=[ PageMenuEntry( title=_("Show context"), icon_name="checkbox" if context_hidden else "checked_checkbox", item=make_simple_link( makeactionuri(request, transactions, [ ("_show_backlog", "no") if context_hidden else ("_hidecontext", "yes"), ])), ), ], ))
def page_menu(self, breadcrumb: Breadcrumb) -> PageMenu: if not request.has_var("file_id"): return make_simple_form_page_menu( _("Hosts"), breadcrumb, form_name="upload", button_name="_do_upload", save_title=_("Upload"), ) # preview phase, after first upload return PageMenu( dropdowns=[ PageMenuDropdown( name="actions", title=_("Actions"), topics=[ PageMenuTopic( title=_("Actions"), entries=[ PageMenuEntry( title=_("Update preview"), icon_name="update", item=make_form_submit_link( "preview", "_do_preview"), is_shortcut=True, is_suggested=True, ), PageMenuEntry( title=_("Import"), icon_name="save", item=make_form_submit_link( "preview", "_do_import"), is_shortcut=True, is_suggested=True, ), ], ), ], ), ], breadcrumb=breadcrumb, )
def show_topology(self, hostnames: List[HostName], mode: str, growth_auto_max_nodes: Optional[int] = None, mesh_depth: int = 0, max_nodes: int = 400) -> None: visual_spec = ParentChildTopologyPage.visual_spec() breadcrumb = make_topic_breadcrumb( mega_menu_registry.menu_monitoring(), PagetypeTopics.get_topic(visual_spec["topic"])) breadcrumb.append( make_current_page_breadcrumb_item(visual_spec["title"])) page_menu = PageMenu(breadcrumb=breadcrumb) self._extend_display_dropdown(page_menu, visual_spec["name"]) html.header(visual_spec["title"], breadcrumb, page_menu) self.show_topology_content(hostnames, mode, growth_auto_max_nodes=growth_auto_max_nodes, mesh_depth=mesh_depth, max_nodes=max_nodes)
def _page_menu(self, breadcrumb: Breadcrumb, crash_info: CrashInfo) -> PageMenu: return PageMenu( dropdowns=[ PageMenuDropdown( name="crash_reports", title=_("Crash reports"), topics=[ PageMenuTopic( title=_("This crash report"), entries=[ PageMenuEntry( title=_("Download"), icon_name="download", item=make_simple_link( makeuri( request, [], filename="download_crash_report.py" )), is_shortcut=True, is_suggested=True, ), ], ), ], ), PageMenuDropdown( name="related", title=_("Related"), topics=[ PageMenuTopic( title=_("Monitoring"), entries=list( self._page_menu_entries_related_monitoring( crash_info)), ), ], ), ], breadcrumb=breadcrumb, )
def page_menu(self, breadcrumb: Breadcrumb) -> PageMenu: page_menu: PageMenu = PageMenu( dropdowns=[ PageMenuDropdown( name="connections", title=_("Connections"), topics=[ PageMenuTopic( title=_("Add connection"), entries=[ PageMenuEntry( title=_("Add connection"), icon_name="new", item=make_simple_link( watolib.folder_preserving_link( [("mode", "edit_ldap_connection")] ) ), is_shortcut=True, is_suggested=True, ), ], ), ], ), PageMenuDropdown( name="related", title=_("Related"), topics=[ PageMenuTopic( title=_("Setup"), entries=list(self._page_menu_entries_related()), ), ], ), ], breadcrumb=breadcrumb, inpage_search=PageMenuSearch(), ) page_menu.add_doc_reference(title=self.title(), doc_ref=DocReference.LDAP) return page_menu
def _page_menu( self, breadcrumb: Breadcrumb, site_id: SiteId, host_name: HostName, service_description: str, ) -> PageMenu: return PageMenu( dropdowns=[ PageMenuDropdown( name="robotmk_reports", title=_("RobotMK reports"), topics=[ PageMenuTopic( title=_("This RobotMK report"), entries=[ PageMenuEntry( title=_("Download"), icon_name="download", item=make_simple_link( makeuri( request, [ ("site", site_id), ("host", host_name), ("service", service_description), ], filename= "download_robotmk_report.py", )), is_shortcut=True, is_suggested=True, ), ], ), ], ), ], breadcrumb=breadcrumb, )
def page_menu(self, breadcrumb: Breadcrumb) -> PageMenu: return PageMenu( dropdowns=[ PageMenuDropdown( name="hosts", title=_("Hosts"), topics=[ self._page_menu_save_topic(), PageMenuTopic( title=_("For this host"), entries=list(page_menu_host_entries(self.name(), self._host)), ), PageMenuTopic( title=_("For all hosts on site %s") % self._host.site_id(), entries=list(page_menu_all_hosts_entries(self._should_use_dns_cache())), ), ], ), ], breadcrumb=breadcrumb, )
def page_menu(self, breadcrumb: Breadcrumb) -> PageMenu: menu = PageMenu( dropdowns=[ PageMenuDropdown( name="log", title=_("Audit log"), topics=[ PageMenuTopic( title=_("Actions"), entries=list(self._page_menu_entries_actions()), ), ], ), PageMenuDropdown( name="export", title=_("Export"), topics=[ PageMenuTopic( title=_("Export"), entries=list(self._page_menu_entries_export()), ), ], ), PageMenuDropdown( name="related", title=_("Related"), topics=[ PageMenuTopic( title=_("Setup"), entries=list(self._page_menu_entries_setup()), ), ], ), ], breadcrumb=breadcrumb, ) self._extend_display_dropdown(menu) return menu
def page_menu(self, breadcrumb: Breadcrumb) -> PageMenu: return PageMenu( dropdowns=[ PageMenuDropdown( name="attributes", title=_("Attributes"), topics=[ PageMenuTopic( title=_("Create"), entries=[ PageMenuEntry( title=_("Add attribute"), icon_name="new", item=make_simple_link( watolib.folder_preserving_link([ ("mode", "edit_%s_attr" % self._type) ])), is_shortcut=True, is_suggested=True, ), ], ), ], ), PageMenuDropdown( name="related", title=_("Related"), topics=[ PageMenuTopic( title=_("Setup"), entries=list(self._page_menu_entries_related()), ), ], ), ], breadcrumb=breadcrumb, inpage_search=PageMenuSearch(), )
def _extend_display_dropdown(self, menu: PageMenu, page_name: str) -> None: _view, show_filters = get_topology_view_and_filters() display_dropdown = menu.get_dropdown_by_name("display", make_display_options_dropdown()) display_dropdown.topics.insert( 0, PageMenuTopic( title=_("Filter"), entries=[ PageMenuEntry( title=_("Filter"), icon_name="filters", item=PageMenuSidePopup( cmk.gui.visuals.render_filter_form( info_list=["host", "service"], mandatory_filters=[], context={f.ident: {} for f in show_filters if f.available()}, page_name=page_name, reset_ajax_page="ajax_initial_topology_filters")), name="filters", is_shortcut=True, ), ]))
def page_menu(self, breadcrumb: Breadcrumb) -> PageMenu: return PageMenu( dropdowns=[ PageMenuDropdown( name="related", title=_("Related"), topics=[ PageMenuTopic( title=_("Configure"), entries=[ PageMenuEntry( title=_("Support diagnostics"), icon_name="diagnostics", item=make_simple_link("wato.py?mode=diagnostics"), ), ], ), ], ), ], breadcrumb=breadcrumb, )