Module: check_mk
Branch: master
Commit: 9f7b853b6795fd8a9576438cb949777bb34c8eec
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=9f7b853b6795fd…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Wed Feb 13 20:33:56 2019 +0100
Cleanup group config loading in view editor
Use currently configured contact groups from livestatus instead the WATO
exclusive group loading logic.
Change-Id: I3f58a44b736cecbbb0cb16903fb0f8baaf1e11f4
---
cmk/gui/visuals.py | 19 +++++++++++++++++--
1 file changed, 17 insertions(+), 2 deletions(-)
diff --git a/cmk/gui/visuals.py b/cmk/gui/visuals.py
index f1aacc3..45647e5 100644
--- a/cmk/gui/visuals.py
+++ b/cmk/gui/visuals.py
@@ -47,9 +47,11 @@ from cmk.gui.valuespec import (
TextUnicode,
TextAscii,
TextAreaUnicode,
+ DualListChoice,
)
import cmk.gui.config as config
import cmk.gui.forms as forms
+import cmk.gui.sites as sites
from cmk.gui.table import table_element
import cmk.gui.userdb as userdb
import cmk.gui.pagetypes as pagetypes
@@ -993,8 +995,7 @@ class PublishTo(CascadingDropdown):
choices=[
(True, _("Publish to all users")),
("contact_groups", _("Publish to members of contact
groups"),
- userdb.GroupChoice(
- "contact",
+ ContactGroupChoice(
with_foreign_groups=with_foreign_groups,
title=_("Publish to members of contact groups"),
rows=5,
@@ -1005,6 +1006,20 @@ class PublishTo(CascadingDropdown):
**kwargs)
+class ContactGroupChoice(DualListChoice):
+ """A multiple selection of contact groups that are part of the current
active config"""
+
+ def __init__(self, with_foreign_groups=True, **kwargs):
+ super(ContactGroupChoice, self).__init__(choices=self._load_groups, **kwargs)
+ self._with_foreign_groups = with_foreign_groups
+
+ def _load_groups(self):
+ contact_group_choices = sites.all_groups("contact")
+ return [(group_id, alias)
+ for (group_id, alias) in contact_group_choices
+ if self._with_foreign_groups or group_id in
config.user.contact_groups()]
+
+
#.
# .--Filters-------------------------------------------------------------.
# | _____ _ _ _ |