Beispiel #1
0
    def render(self, what, row, tags, custom_vars):
        if what == "service" and row["service_cached_at"]:
            output = _(
                "This service is based on cached agent data and cannot be rescheduled."
            )
            output += " %s" % render_cache_info(what, row)

            return "cannot_reschedule", output, None

        # Reschedule button
        if row[what + "_check_type"] == 2:
            return  # shadow hosts/services cannot be rescheduled

        if (row[what + "_active_checks_enabled"] == 1
            or row[what + '_check_command'].startswith('check_mk-')) \
            and config.user.may('action.reschedule'):

            servicedesc = ''
            wait_svc = ''
            icon = 'reload'
            txt = _('Reschedule check')

            if what == 'service':
                servicedesc = row['service_description'].replace("\\", "\\\\")
                wait_svc = servicedesc

                # Use Check_MK service for cmk based services
                if row[what + '_check_command'].startswith('check_mk-'):
                    servicedesc = 'Check_MK'
                    icon = 'reload_cmk'
                    txt = _('Reschedule \'Check_MK\' service')

            url = 'onclick:cmk.views.reschedule_check(this, \'%s\', \'%s\', \'%s\', \'%s\');' % \
                (row["site"], row["host_name"], html.urlencode(servicedesc), html.urlencode(wait_svc))
            return icon, txt, url
Beispiel #2
0
    def render(self, what, row, tags, custom_vars):
        if what == "service" and row["service_cached_at"]:
            output = _("This service is based on cached agent data and cannot be rescheduled.")
            output += " %s" % render_cache_info(what, row)

            return "cannot_reschedule", output, None

        # Reschedule button
        if row[what + "_check_type"] == 2:
            return  # shadow hosts/services cannot be rescheduled

        if (row[what + "_active_checks_enabled"] == 1 or
                row[what + '_check_command'].startswith('check_mk-')) \
                and config.user.may('action.reschedule'):

            servicedesc = ''
            wait_svc = ''
            icon = 'reload'
            txt = _('Reschedule check')

            if what == 'service':
                servicedesc = row['service_description'].replace("\\", "\\\\")
                wait_svc = servicedesc

                # Use Check_MK service for cmk based services
                if row[what + '_check_command'].startswith('check_mk-'):
                    servicedesc = 'Check_MK'
                    icon = 'reload_cmk'
                    txt = _('Reschedule \'Checkmk\' service')

            url = 'onclick:cmk.views.reschedule_check(this, %s, %s, %s, %s);' % \
                (json.dumps(row["site"]), json.dumps(row["host_name"]), json.dumps(servicedesc), json.dumps(wait_svc))
            # _self is needed to prevent wrong linking when views are parts of dashlets
            return icon, txt, (url, "_self")
Beispiel #3
0
    def render(self, what, row, tags, custom_vars):
        if what == "service" and row["service_cached_at"]:
            output = _(
                "This service is based on cached agent data and cannot be rescheduled."
            )
            output += " %s" % render_cache_info(what, row)

            return "cannot_reschedule", output, None

        # Reschedule button
        if row[what + "_check_type"] == 2:
            return  # shadow hosts/services cannot be rescheduled

        if (row[what + "_active_checks_enabled"] == 1
                or row[what + "_check_command"].startswith("check_mk-")
            ) and user.may("action.reschedule"):

            servicedesc = ""
            wait_svc = ""
            icon = "reload"
            txt = _("Reschedule check")

            if what == "service":
                servicedesc = row["service_description"].replace("\\", "\\\\")
                wait_svc = servicedesc

                # Use Check_MK service for cmk based services
                if row[what + "_check_command"].startswith("check_mk-"):
                    servicedesc = "Check_MK"
                    icon = "reload_cmk"
                    txt = _("Reschedule 'Checkmk' service")

            url = "onclick:cmk.views.reschedule_check(this, %s, %s, %s, %s);" % (
                json.dumps(row["site"]),
                json.dumps(row["host_name"]),
                json.dumps(servicedesc),
                json.dumps(wait_svc),
            )
            # _self is needed to prevent wrong linking when views are parts of dashlets
            return icon, txt, (url, "_self")