Exemplo n.º 1
0
 def page_menu(self, breadcrumb: Breadcrumb) -> PageMenu:
     return PageMenu(
         dropdowns=[
             PageMenuDropdown(
                 name="hosts",
                 title=_("Hosts"),
                 topics=[
                     PageMenuTopic(
                         title=_("For this host"),
                         entries=list(
                             page_menu_host_entries(self.name(),
                                                    self._host)),
                     ),
                 ],
             ),
             PageMenuDropdown(
                 name="services",
                 title=_("Services"),
                 topics=[
                     PageMenuTopic(
                         title=_("For this service"),
                         entries=list(self._page_menu_service_entries()),
                     ),
                 ],
             ),
         ],
         breadcrumb=breadcrumb,
     )
Exemplo n.º 2
0
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(
                                    html.makeuri_contextless(
                                        [("mode", "pattern_editor")],
                                        filename="wato.py")),
                            ),
                        ],
                    ),
                ],
            ),
        ],
        breadcrumb=breadcrumb,
    )
Exemplo n.º 3
0
 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,
     )
Exemplo n.º 4
0
 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,
     )
Exemplo n.º 5
0
 def page_menu(self, breadcrumb: Breadcrumb) -> PageMenu:
     return PageMenu(
         dropdowns=[
             PageMenuDropdown(
                 name="changes",
                 title=_("Changes"),
                 topics=[
                     PageMenuTopic(
                         title=_("On all sites"),
                         entries=list(self._page_menu_entries_all_sites()),
                     ),
                     PageMenuTopic(
                         title=_("On selected sites"),
                         entries=list(self._page_menu_entries_selected_sites()),
                     ),
                 ],
             ),
             PageMenuDropdown(
                 name="related",
                 title=_("Related"),
                 topics=[
                     PageMenuTopic(
                         title=_("Setup"),
                         entries=list(self._page_menu_entries_setup()),
                     ),
                 ],
             ),
         ],
         breadcrumb=breadcrumb,
     )
Exemplo n.º 6
0
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,
    )
Exemplo n.º 7
0
    def page_menu(self, breadcrumb: Breadcrumb) -> PageMenu:
        if not self._folder.is_disk_folder():
            return self._search_folder_page_menu(breadcrumb)

        menu = PageMenu(
            dropdowns=[
                PageMenuDropdown(
                    name="hosts",
                    title=_("Hosts"),
                    topics=[
                        PageMenuTopic(
                            title=_("In this folder"),
                            entries=list(
                                self._page_menu_entries_hosts_in_folder()),
                        ),
                        PageMenuTopic(
                            title=_("On selected hosts"),
                            entries=list(
                                self._page_menu_entries_selected_hosts()),
                        ),
                        make_checkbox_selection_topic(),
                    ],
                ),
                PageMenuDropdown(
                    name="folders",
                    title=_("Folder"),
                    topics=[
                        PageMenuTopic(
                            title=_("Folder"),
                            entries=list(
                                self._page_menu_entries_this_folder()),
                        ),
                    ],
                ),
                PageMenuDropdown(
                    name="related",
                    title=_("Related"),
                    topics=[
                        PageMenuTopic(
                            title=_("Setup"),
                            entries=list(self._page_menu_entries_related()),
                        ),
                    ],
                ),
            ],
            breadcrumb=breadcrumb,
            inpage_search=PageMenuSearch(placeholder=_("Filter hosts")),
        )

        self._extend_display_dropdown(menu)
        self._extend_help_dropdown(menu)

        return menu
Exemplo n.º 8
0
 def page_menu(self, breadcrumb: Breadcrumb) -> PageMenu:
     return PageMenu(
         dropdowns=[
             PageMenuDropdown(
                 name="groups",
                 title=self.title(),
                 topics=[
                     PageMenuTopic(
                         title=_("Add"),
                         entries=[
                             PageMenuEntry(
                                 title=_("Add group"),
                                 icon_name="new",
                                 item=make_simple_link(
                                     watolib.folder_preserving_link([
                                         ("mode",
                                          "edit_%s_group" % self.type_name)
                                     ])),
                                 is_shortcut=True,
                                 is_suggested=True,
                             ),
                         ],
                     ),
                     PageMenuTopic(
                         title=_("Assign to group"),
                         entries=[
                             PageMenuEntry(
                                 title=_("Rules"),
                                 icon_name="rulesets",
                                 item=make_simple_link(self._rules_url()),
                                 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(),
     )
Exemplo n.º 9
0
 def page_menu(self, breadcrumb: Breadcrumb) -> PageMenu:
     return PageMenu(
         dropdowns=[
             PageMenuDropdown(
                 name="actions",
                 title=_("Test"),
                 topics=[
                     PageMenuTopic(
                         title=_("Host properties"),
                         entries=[
                             PageMenuEntry(
                                 title=_("Save & go to host properties"),
                                 icon_name="save",
                                 item=make_form_submit_link(
                                     "diag_host", "_save"),
                                 is_shortcut=True,
                                 is_suggested=True,
                             ),
                         ],
                     ),
                     PageMenuTopic(
                         title=_("Options"),
                         entries=[
                             PageMenuEntry(
                                 title=_("Run tests"),
                                 icon_name="connection_tests",
                                 item=make_form_submit_link(
                                     "diag_host", "_try"),
                                 is_shortcut=True,
                                 is_suggested=True,
                             ),
                         ],
                     ),
                 ],
             ),
             PageMenuDropdown(
                 name="hosts",
                 title=_("Hosts"),
                 topics=[
                     PageMenuTopic(
                         title=_("For this host"),
                         entries=list(
                             page_menu_host_entries(self.name(),
                                                    self._host)),
                     ),
                 ],
             ),
         ],
         breadcrumb=breadcrumb,
     )
Exemplo n.º 10
0
 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
Exemplo n.º 11
0
 def page_menu(self, breadcrumb: Breadcrumb) -> PageMenu:
     return PageMenu(
         dropdowns=[
             PageMenuDropdown(
                 name=self._mode_type.type_name(),
                 title=self._mode_type.name_singular().title(),
                 topics=[
                     PageMenuTopic(
                         title=self._mode_type.name_singular().title(),
                         entries=[
                             PageMenuEntry(
                                 title=self._new_context_button_label(),
                                 icon_name="new",
                                 item=make_simple_link(
                                     html.makeuri_contextless([
                                         ("mode",
                                          self._mode_type.edit_mode_name())
                                     ])),
                             ),
                         ],
                     ),
                 ],
             ),
         ],
         breadcrumb=breadcrumb,
     )
Exemplo n.º 12
0
 def _page_menu(self, breadcrumb) -> PageMenu:
     return 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("user_two_factor_overview"),
         ],
         breadcrumb=breadcrumb,
     )
Exemplo n.º 13
0
def _page_menu(breadcrumb: Breadcrumb) -> PageMenu:
    menu = make_simple_form_page_menu(
        _("Users"),
        breadcrumb,
        form_name="notify",
        button_name="_save",
        save_title=_("Send notification"),
    )

    menu.dropdowns.insert(
        1,
        PageMenuDropdown(
            name="related",
            title=_("Related"),
            topics=[
                PageMenuTopic(
                    title=_("Setup"),
                    entries=[
                        PageMenuEntry(
                            title=_("Users"),
                            icon_name="users",
                            item=make_simple_link("wato.py?mode=users"),
                        )
                    ],
                ),
            ],
        ),
    )

    return menu
Exemplo n.º 14
0
 def page_menu(self, breadcrumb: Breadcrumb) -> PageMenu:
     return PageMenu(
         dropdowns=[
             PageMenuDropdown(
                 name="host",
                 title=_("Host"),
                 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,
     )
Exemplo n.º 15
0
    def page_menu(self, breadcrumb: Breadcrumb) -> PageMenu:
        if self._check_type.startswith("check_"):
            command = "check_mk_active-" + self._check_type[6:]
        else:
            command = "check_mk-" + self._check_type
        url = makeuri_contextless(
            request,
            [("view_name", "searchsvc"), ("check_command", command),
             ("filled_in", "filter")],
            filename="view.py",
        )

        return PageMenu(
            dropdowns=[
                PageMenuDropdown(
                    name="related",
                    title=_("Related"),
                    topics=[
                        PageMenuTopic(
                            title=_("Monitoring"),
                            entries=[
                                PageMenuEntry(
                                    title=_("Show services using this check"),
                                    icon_name="status",
                                    item=make_simple_link(url),
                                ),
                            ],
                        ),
                    ],
                ),
            ],
            breadcrumb=breadcrumb,
        )
Exemplo n.º 16
0
 def page_menu(self, breadcrumb) -> PageMenu:
     menu = make_simple_form_page_menu(
         _("Diagnostics"),
         breadcrumb,
         form_name="diagnostics",
         button_name="_collect_dump",
         save_title=_("Collect diagnostics"),
     )
     menu.dropdowns.insert(
         1,
         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"),
                         ),
                     ],
                 ),
             ],
         ),
     )
     return menu
Exemplo n.º 17
0
 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(),
     )
Exemplo n.º 18
0
 def page_menu(self, breadcrumb: Breadcrumb) -> PageMenu:
     return PageMenu(
         dropdowns=[
             PageMenuDropdown(
                 name=self._mode_type.type_name(),
                 title=self._mode_type.name_singular().title(),
                 topics=[
                     PageMenuTopic(
                         title=self._mode_type.name_singular().title(),
                         entries=[
                             PageMenuEntry(
                                 title=self._new_button_label(),
                                 icon_name="new",
                                 item=make_simple_link(
                                     makeuri_contextless(
                                         request,
                                         [("mode",
                                           self._mode_type.edit_mode_name())
                                          ],
                                     )),
                                 is_shortcut=True,
                                 is_suggested=True,
                             ),
                         ],
                     ),
                 ],
             ),
         ],
         breadcrumb=breadcrumb,
         inpage_search=PageMenuSearch(),
     )
Exemplo n.º 19
0
    def page_menu(self, breadcrumb: Breadcrumb) -> PageMenu:
        dropdowns = []

        if cmk_version.is_managed_edition():
            import cmk.gui.cme.plugins.wato.managed  # pylint: disable=no-name-in-module,import-outside-toplevel
            dropdowns.append(cmk.gui.cme.plugins.wato.managed.cme_global_settings_dropdown())

        dropdowns.append(
            PageMenuDropdown(
                name="related",
                title=_("Related"),
                topics=[
                    PageMenuTopic(
                        title=_("Setup"),
                        entries=list(self._page_menu_entries_related()),
                    ),
                ],
            ),)

        menu = PageMenu(
            dropdowns=dropdowns,
            breadcrumb=breadcrumb,
        )

        self._extend_display_dropdown(menu)
        return menu
Exemplo n.º 20
0
 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,
     )
Exemplo n.º 21
0
    def page_menu(self, breadcrumb: Breadcrumb) -> PageMenu:
        menu = make_simple_form_page_menu(_("Host"),
                                          breadcrumb,
                                          form_name="rename_host",
                                          button_name="rename",
                                          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
Exemplo n.º 22
0
 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,
         inpage_search=PageMenuSearch(),
     )
     return menu
Exemplo n.º 23
0
 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=_("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,
     )
Exemplo n.º 24
0
 def page_menu(self, breadcrumb: Breadcrumb) -> PageMenu:
     return PageMenu(
         dropdowns=[
             PageMenuDropdown(
                 name="tags",
                 title=_("Tags"),
                 topics=[
                     PageMenuTopic(
                         title=_("Add tags"),
                         entries=[
                             PageMenuEntry(
                                 title=_("Add tag group"),
                                 icon_name="new",
                                 item=make_simple_link(
                                     watolib.folder_preserving_link([
                                         ("mode", "edit_tag")
                                     ])),
                                 is_shortcut=True,
                                 is_suggested=True,
                             ),
                             PageMenuEntry(
                                 title=_("Add aux tag"),
                                 icon_name={
                                     "icon": "tag",
                                     "emblem": "add"
                                 },
                                 item=make_simple_link(
                                     watolib.folder_preserving_link([
                                         ("mode", "edit_auxtag")
                                     ])),
                                 is_shortcut=True,
                                 is_suggested=True,
                             ),
                         ],
                     ),
                     PageMenuTopic(
                         title=_("Analyze"),
                         entries=[
                             PageMenuEntry(
                                 title=_("Tag usage"),
                                 icon_name={
                                     "icon": "tag",
                                     "emblem": "search",
                                 },
                                 item=make_simple_link(
                                     watolib.folder_preserving_link([
                                         ("mode", "tag_usage")
                                     ])),
                             ),
                         ],
                     ),
                 ],
             ),
         ],
         breadcrumb=breadcrumb,
     )
Exemplo n.º 25
0
def test_simple_page_menu(register_builtin_html):
    pm = PageMenu([
        PageMenuDropdown(
            name="hallo",
            title="HALLO",
            topics=[
                PageMenuTopic(
                    title="Title",
                    entries=[
                        PageMenuEntry(
                            name="abc",
                            title="Mach das",
                            description="Ich beschreibe",
                            icon_name="icon",
                            item=make_external_link("https://checkmk.com/"),
                        ),
                    ],
                )
            ],
        ),
    ])

    assert len(
        pm.dropdowns
    ) == 3  # help, display-options-Dropdowns are added automatically
    assert len(list(pm.shortcuts)) == 0
    assert len(list(pm.suggestions)) == 0
    assert pm.has_suggestions is False

    dropdown = pm.dropdowns[0]
    assert dropdown.name == "hallo"
    assert dropdown.title == "HALLO"
    assert len(dropdown.topics) == 1
    assert dropdown.any_show_more_entries is False
    assert dropdown.is_empty is False

    for topic in dropdown.topics:
        assert topic.title == "Title"
        assert len(topic.entries) == 1

        for entry in topic.entries:
            assert entry.name == "abc"
            assert entry.title == "Mach das"
            assert entry.description == "Ich beschreibe"
            assert entry.icon_name == "icon"
            assert isinstance(entry.item, PageMenuLink)
            assert entry.item.link.url == "https://checkmk.com/"
            assert entry.item.link.target == "_blank"
            assert entry.item.link.onclick is None

    display_dropdown = pm.dropdowns[1]
    assert display_dropdown.name == "display"

    help_dropdown = pm.dropdowns[2]
    assert help_dropdown.name == "help"
    assert help_dropdown.topics[0].entries[0].name == "inline_help"
Exemplo n.º 26
0
def page_menu_dropdown_user_related(page_name: str) -> PageMenuDropdown:
    return PageMenuDropdown(
        name="related",
        title=_("Related"),
        topics=[
            PageMenuTopic(
                title=_("User"),
                entries=list(_page_menu_entries_related(page_name)),
            ),
        ],
    )
Exemplo n.º 27
0
 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
Exemplo n.º 28
0
 def page_menu(self, breadcrumb: Breadcrumb) -> PageMenu:
     menu = make_simple_form_page_menu(_("Host"), breadcrumb)
     menu.dropdowns.insert(
         0,
         PageMenuDropdown(
             name="save",
             title=_("Host"),
             topics=[
                 self._page_menu_save_topic(),
             ],
         ))
     return menu
Exemplo n.º 29
0
 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(),
     )
Exemplo n.º 30
0
    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