def _page_menu_entries_this_user(self) -> Iterator[PageMenuEntry]: if self._rbn_enabled and not self._is_new_user: yield PageMenuEntry( title=_("Notifications"), icon_name="notifications", item=make_simple_link( watolib.folder_preserving_link([("mode", "user_notifications"), ("user", self._user_id)])), ) if config.user.may("wato.auditlog") and not self._is_new_user: assert self._user_id is not None yield PageMenuEntry( title=_("Audit log"), icon_name="auditlog", item=make_simple_link( make_object_audit_log_url(make_user_object_ref(UserId(self._user_id)))), )
def _page_menu_entries_this_folder(self) -> Iterator[PageMenuEntry]: if self._folder.may("read"): yield PageMenuEntry( title=_("Properties"), icon_name="edit", item=make_simple_link(self._folder.edit_url(backfolder=self._folder)), ) if not self._folder.locked_subfolders() and not self._folder.locked(): if self._folder.may("write") and config.user.may("wato.manage_folders"): yield PageMenuEntry( title=_("Add subfolder"), icon_name="newfolder", item=make_simple_link(self._folder.url([("mode", "newfolder")])), is_shortcut=True, is_suggested=True, ) yield make_folder_status_link(watolib.Folder.current(), view_name="allhosts") if config.user.may("wato.rulesets") or config.user.may("wato.seeall"): yield PageMenuEntry( title=_("Rules"), icon_name="rulesets", item=make_simple_link( watolib.folder_preserving_link([ ("mode", "rule_search"), ("filled_in", "rule_search"), ("folder", watolib.Folder.current().path()), ("search_p_ruleset_used", DropdownChoice.option_id(True)), ("search_p_ruleset_used_USE", "on"), ])), ) if config.user.may("wato.auditlog"): yield PageMenuEntry( title=_("Audit log"), icon_name="auditlog", item=make_simple_link(make_object_audit_log_url(self._folder.object_ref())), )
def page_menu_host_entries(mode_name: str, host: CREHost) -> Iterator[PageMenuEntry]: if mode_name != "edit_host": yield PageMenuEntry( title=_("Properties"), icon_name="edit", item=make_simple_link( watolib.folder_preserving_link([("mode", "edit_host"), ("host", host.name())])), ) if mode_name != "inventory": yield PageMenuEntry( title=_("Service configuration"), icon_name="services", item=make_simple_link( watolib.folder_preserving_link([("mode", "inventory"), ("host", host.name())])), ) if mode_name != "diag_host" and not host.is_cluster(): yield PageMenuEntry( title=_("Connection tests"), icon_name="diagnose", item=make_simple_link( watolib.folder_preserving_link([("mode", "diag_host"), ("host", host.name())])), ) if mode_name != "object_parameters" and user.may("wato.rulesets"): yield PageMenuEntry( title=_("Effective parameters"), icon_name="rulesets", item=make_simple_link( watolib.folder_preserving_link([("mode", "object_parameters"), ("host", host.name())])), ) if mode_name == "object_parameters" or mode_name == "edit_host" and user.may( "wato.rulesets"): yield PageMenuEntry( title=_("Rules"), icon_name="rulesets", item=make_simple_link( makeuri_contextless( request, [ ("mode", "rule_search"), ("filled_in", "search"), ("search_p_ruleset_deprecated", "OFF"), ("search_p_rule_host_list_USE", "ON"), ("search_p_rule_host_list", host.name()), ], filename="wato.py", )), ) yield make_host_status_link(host_name=host.name(), view_name="hoststatus") if user.may("wato.rulesets") and host.is_cluster(): yield PageMenuEntry( title=_("Clustered services"), icon_name="rulesets", item=make_simple_link( watolib.folder_preserving_link([("mode", "edit_ruleset"), ("varname", "clustered_services")])), ) if watolib.has_agent_bakery() and user.may("wato.download_agents"): yield PageMenuEntry( title=_("Monitoring agent"), icon_name="agents", item=make_simple_link( watolib.folder_preserving_link([("mode", "agent_of_host"), ("host", host.name())])), ) if mode_name == "edit_host" and not host.locked(): if user.may("wato.rename_hosts"): yield PageMenuEntry( title=_("Rename"), icon_name="rename_host", item=make_simple_link( watolib.folder_preserving_link([("mode", "rename_host"), ("host", host.name())])), ) if user.may("wato.manage_hosts") and user.may("wato.clone_hosts"): yield PageMenuEntry( title=_("Clone"), icon_name="insert", item=make_simple_link(host.clone_url()), ) yield PageMenuEntry( title=_("Delete"), icon_name="delete", item=make_simple_link( make_confirm_link( url=makeactionuri(request, transactions, [("delete", "1")]), message=_( "Do you really want to delete the host <tt>%s</tt>?") % host.name(), )), ) if user.may("wato.auditlog"): yield PageMenuEntry( title=_("Audit log"), icon_name="auditlog", item=make_simple_link( make_object_audit_log_url(host.object_ref())), )