def page_menu(self, breadcrumb: Breadcrumb) -> PageMenu: menu = PageMenu( dropdowns=[ PageMenuDropdown( name="log", title=_("Actions"), 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) -> 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=_("Hide details") if self._show_details else _("Show details"), icon_name="checkbox", item=make_simple_link( html.makeactionuri([ ("show_details", "0" if self._show_details else "1"), ])), name="show_details", css_classes=["toggle"], ) ], ))
def _log_list_page_menu(breadcrumb: Breadcrumb) -> PageMenu: return PageMenu( dropdowns=[ PageMenuDropdown( name="logs", title=_("Logs"), topics=[ PageMenuTopic( title=_("Acknowledge"), entries=list(_page_menu_entry_acknowledge()), ), ], ), PageMenuDropdown( name="related", title=_("Related"), topics=[ PageMenuTopic( title=_("Setup"), entries=[ PageMenuEntry( title=_("Analyze patterns"), icon_name="analyze", item=make_simple_link( makeuri_contextless( request, [("mode", "pattern_editor")], filename="wato.py", ) ), ), ], ), ], ), ], breadcrumb=breadcrumb, )
def page_menu(self, breadcrumb: Breadcrumb) -> PageMenu: menu = make_simple_form_page_menu( _("Host"), breadcrumb, form_name="rename_host", button_name="_save", save_title=_("Rename"), ) host_renaming_job = RenameHostsBackgroundJob() actions_dropdown = menu.dropdowns[0] actions_dropdown.topics.append( PageMenuTopic( title=_("Last result"), entries=[ PageMenuEntry( title=_("Show last rename result"), icon_name="background_job_details", item=make_simple_link(host_renaming_job.detail_url()), is_enabled=host_renaming_job.is_available(), ), ], )) menu.dropdowns.append( PageMenuDropdown( name="hosts", title=_("Hosts"), topics=[ PageMenuTopic( title=_("For this host"), entries=list( page_menu_host_entries(self.name(), self._host)), ), ], )) return menu
def page_menu_dropdown_user_related(page_name: str, show_shortcuts: bool = True ) -> PageMenuDropdown: return PageMenuDropdown( name="related", title=_("Related"), topics=[ PageMenuTopic( title=_("User"), entries=list( _page_menu_entries_related(page_name, show_shortcuts)), ), ], )
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 _search_folder_page_menu(self, breadcrumb: Breadcrumb) -> PageMenu: return PageMenu( dropdowns=[ PageMenuDropdown( name="hosts", title=_("Hosts"), topics=[ PageMenuTopic( title=_("On selected hosts"), entries=list( self._page_menu_entries_selected_hosts()), ), make_checkbox_selection_topic(), ], ), PageMenuDropdown( name="search", title=_("Search"), topics=[ PageMenuTopic( title=_("Search hosts"), entries=[ PageMenuEntry( title=_("Refine search"), icon_name="search", item=make_simple_link( self._folder.url([("mode", "search") ])), is_shortcut=True, ), ], ), ], ), ], breadcrumb=breadcrumb, )
def page_menu(self, breadcrumb: Breadcrumb) -> PageMenu: return 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, )
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=[ PageMenuEntry( title=_("Update DNS cache"), icon_name="update", item=make_simple_link( html.makeactionuri([ ("_update_dns_cache", "1") ])), shortcut_title=_("Update site DNS cache"), is_shortcut=True, is_suggested=True, ), ], ), ], ), ], breadcrumb=breadcrumb, )
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_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="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(self, breadcrumb: Breadcrumb) -> PageMenu: menu = make_simple_form_page_menu(breadcrumb, form_name="user", button_name="save") menu.dropdowns.insert( 1, PageMenuDropdown( name="related", title=_("Related"), topics=[ PageMenuTopic( title=_("Setup"), entries=list(self._page_menu_entries_related()), ), ], )) return menu
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 _extend_display_dropdown(menu, werk_table_options: Dict[str, Any]) -> 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"), icon_name="filter", item=PageMenuSidePopup(_render_werk_options_form(werk_table_options)), name="filters", is_shortcut=True, ), ], ), )
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 _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: menu = make_simple_form_page_menu(breadcrumb, form_name="upload_form", button_name="_do_upload", save_title=_("Upload"), add_abort_link=False) menu.dropdowns.insert( 1, PageMenuDropdown( name="related", title=_("Related"), topics=[ PageMenuTopic( title=_("Setup"), entries=list(self._page_menu_entries_related()), ), ], )) 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 page_menu(self, breadcrumb: Breadcrumb) -> PageMenu: return PageMenu( dropdowns=[ PageMenuDropdown( name="related", title=_("Related"), topics=[ PageMenuTopic( title=_("Setup"), entries=[ PageMenuEntry( title=_("Analyze configuration"), icon_name="analyze_config", item=make_simple_link("wato.py?mode=analyze_config"), ), ], ), ], ), ], breadcrumb=breadcrumb, )
def page_menu(self, breadcrumb: Breadcrumb) -> PageMenu: menu = make_simple_form_page_menu(breadcrumb, form_name="bulk_rename_host", button_name="_start", save_title=_("Bulk rename")) host_renaming_job = RenameHostsBackgroundJob() actions_dropdown = menu.dropdowns[0] actions_dropdown.topics.append( PageMenuTopic( title=_("Last result"), entries=[ PageMenuEntry( title=_("Show last rename result"), icon_name="background_job_details", item=make_simple_link(host_renaming_job.detail_url()), is_enabled=host_renaming_job.is_available(), ), ], )) return menu
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, )
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, ), ]))