def _migrate_all_visuals_topics(self, topics: Dict): topic_created_for: Set[UserId] = set() # Views topic_created_for.update( self._migrate_visuals_topics(topics, visual_type="views", all_visuals=get_all_views())) # Dashboards topic_created_for.update( self._migrate_visuals_topics(topics, visual_type="dashboards", all_visuals=get_all_dashboards())) # Reports try: import cmk.gui.cee.reporting as reporting # pylint: disable=cmk-module-layer-violation except ImportError: reporting = None # type: ignore[assignment] if reporting: reporting.load_reports() topic_created_for.update( self._migrate_visuals_topics(topics, visual_type="reports", all_visuals=reporting.reports)) return topic_created_for
def _find_usages_of_contact_group_in_dashboards( name: str) -> List[Tuple[str, str]]: used_in: List[Tuple[str, str]] = [] # FIXME: This leads to a circular import otherwise. from cmk.gui.plugins.dashboard.utils import get_all_dashboards for (dashboard_owner, dashboard_name), board in get_all_dashboards().items(): public_value: Union[bool, Tuple[str, List[str]]] = board["public"] if isinstance(public_value, tuple) and name in public_value[1]: title = "%s: %s" % (_("Dashboard of user %s") % dashboard_owner, dashboard_name) used_in.append(( title, makeuri_contextless( request, [ ("load_name", dashboard_name), ("mode", "edit"), ("owner", dashboard_owner), ], filename="edit_dashboard.py", ), )) return used_in