def page_menu(self, breadcrumb: Breadcrumb) -> PageMenu: if not html.request.has_var("file_id"): return make_simple_form_page_menu( 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 _release_notes_page_menu( 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 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, 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, 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="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 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 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 _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: return PageMenu( dropdowns=[ PageMenuDropdown( name="timeperiods", title=_("Time periods"), topics=[ PageMenuTopic( title=_("Add time period"), entries=[ PageMenuEntry( title=_("Add time period"), icon_name="new", item=make_simple_link( watolib.folder_preserving_link([ ("mode", "edit_timeperiod") ])), is_shortcut=True, is_suggested=True, ), PageMenuEntry( title=_("Import iCalendar"), icon_name="ical", item=make_simple_link( watolib.folder_preserving_link([ ("mode", "import_ical") ])), is_shortcut=True, is_suggested=True, ), ], ), ], ), ], breadcrumb=breadcrumb, inpage_search=PageMenuSearch(), )
def _page_menu(self, breadcrumb) -> PageMenu: page_menu: PageMenu = PageMenu( dropdowns=[ PageMenuDropdown( name="actions", title=_("Actions"), topics=[ PageMenuTopic( title=_("Actions"), entries=[ PageMenuEntry( title=_("Add credential"), icon_name="2fa", item=make_javascript_link( "cmk.webauthn.register()"), is_shortcut=True, is_suggested=True, ), PageMenuEntry( title=_("Regenerate backup codes"), icon_name="2fa_backup_codes", item=make_form_submit_link( "two_factor", "_backup_codes"), is_shortcut=True, is_suggested=True, ), ], ), ], ), page_menu_dropdown_user_related(page_name=overview_page_name, show_shortcuts=False), ], breadcrumb=breadcrumb, ) page_menu.add_doc_reference(title=self._page_title(), doc_ref=DocReference.WATO_USER_2FA) return page_menu
def _search_folder_page_menu(self, breadcrumb: Breadcrumb) -> PageMenu: return PageMenu( dropdowns=[ 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, acktime: float, failed_notifications: LivestatusResponse, breadcrumb: Breadcrumb) -> PageMenu: confirm_url = make_simple_link( make_confirm_link( url=makeactionuri(request, transactions, [("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), )) return PageMenu( dropdowns=[ PageMenuDropdown( name="actions", title=_("Actions"), topics=[ PageMenuTopic( title=_("Actions"), entries=[ PageMenuEntry( title=_("Confirm"), icon_name="save", item=confirm_url, is_shortcut=True, is_suggested=True, is_enabled=bool(failed_notifications), ), ], ), ], ), ], breadcrumb=breadcrumb, )
def page_menu(self, breadcrumb: Breadcrumb) -> PageMenu: menu = PageMenu( dropdowns=[ PageMenuDropdown( name="roles", title=_("Roles"), topics=[ PageMenuTopic( title=_("Overview"), entries=[ PageMenuEntry( title=_("Permission matrix"), icon_name="matrix", item=make_simple_link( watolib.folder_preserving_link([("mode", "role_matrix")])), ), ], ), ], ), ], breadcrumb=breadcrumb, ) return menu
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) -> PageMenu: """Returns the data structure representing the page menu for this mode""" return PageMenu(breadcrumb=breadcrumb)
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=_("On selected users"), entries=[ PageMenuEntry( title=_("Delete users"), shortcut_title=_("Delete selected users"), icon_name="delete", item=make_confirmed_form_submit_link( form_name="bulk_delete_form", button_name="_bulk_delete_users", message=_( "Do you really want to delete the selected users?"), ), 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 _show_file_page_menu(breadcrumb: Breadcrumb, site_id: SiteId, host_name: HostName, int_filename: str) -> PageMenu: menu = PageMenu( dropdowns=[ PageMenuDropdown( name="logs", title=_("Logs"), topics=[ PageMenuTopic( title=_("This log file"), entries=list( _page_menu_entry_acknowledge( site_id, host_name, int_filename)), ), PageMenuTopic( title=_("Log files"), entries=[ PageMenuEntry( title=_("Log files of host %s") % host_name, icon_name="logwatch", item=make_simple_link( makeuri(request, [("file", "")])), ), PageMenuEntry( title=_("All log files"), icon_name="logwatch", item=make_simple_link( makeuri(request, [("site", ""), ("host", ""), ("file", "")])), ), ], ), ], ), PageMenuDropdown( name="related", title=_("Related"), topics=[ PageMenuTopic( title=_("Monitoring"), entries=[ PageMenuEntry( title=_("Services of host"), icon_name="services", item=make_simple_link( services_url(site_id, host_name)), ), ], ), PageMenuTopic( title=_("Setup"), entries=[ PageMenuEntry( title=_("Analyze host patterns"), icon_name="analyze", item=make_simple_link( analyse_url(site_id, host_name)), ), ], ), ], ), ], breadcrumb=breadcrumb, ) _extend_display_dropdown(menu) return menu
def _page_menu( self, breadcrumb: Breadcrumb, site_id: SiteId, host_name: HostName, service_description: str, ) -> PageMenu: return PageMenu( dropdowns=[ PageMenuDropdown( name="robotmk_logs", title=_("RobotMK logs"), topics=[ PageMenuTopic( title=_("This log"), entries=[ PageMenuEntry( title=_("Download"), icon_name="download", item=make_simple_link( makeuri( request, [ ("report_type", self._report_type()), ("site", site_id), ("host", host_name), ("service", service_description), ], filename= "download_robotmk_report.py", )), is_shortcut=True, is_suggested=True, ), ], ), PageMenuTopic( title=_("Other logs for this service"), entries=[ PageMenuEntry( title=_("Last error log") if self._is_last_log() else _("Last log"), icon_name="robotmk_error" if self._is_last_log() else "robotmk", item=make_simple_link( makeuri( request, [ ( "report_type", "robotmk_error" if self._is_last_log() else "robotmk", ), ("site", site_id), ("host", host_name), ("service", service_description), ], filename="robotmk.py", )), is_shortcut=True, is_suggested=True, ), ], ), ], ), ], breadcrumb=breadcrumb, )
def _host_log_list_page_menu(breadcrumb: Breadcrumb, site_id: SiteId, host_name: HostName) -> PageMenu: return PageMenu( dropdowns=[ PageMenuDropdown( name="logs", title=_("Logs"), topics=[ PageMenuTopic( title=_("Current log files"), entries=list( _page_menu_entry_acknowledge(site_id, host_name)), ), PageMenuTopic( title=_("Log files"), entries=[ PageMenuEntry( title=_("All log files"), icon_name="logwatch", item=make_simple_link( makeuri( request, [("site", ""), ("host", ""), ("file", "")], )), ), ], ), ], ), PageMenuDropdown( name="related", title=_("Related"), topics=[ PageMenuTopic( title=_("Monitoring"), entries=[ PageMenuEntry( title=_("Services of host"), icon_name="services", item=make_simple_link( services_url(site_id, host_name)), ), ], ), PageMenuTopic( title=_("Setup"), entries=[ PageMenuEntry( title=_("Analyze host patterns"), icon_name="analyze", item=make_simple_link( analyse_url(site_id, host_name)), ), ], ), ], ), ], breadcrumb=breadcrumb, )