示例#1
0
    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
示例#2
0
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