def action(self): if not html.check_transaction(): return test_id = html.request.var("_test_id") site_id = html.request.var("_site_id") status_id = html.get_integer_input("_status_id", 0) if not test_id: raise MKUserError("_ack_test_id", _("Needed variable missing")) if html.request.var("_do") in ["ack", "unack"]: if not site_id: raise MKUserError("_ack_site_id", _("Needed variable missing")) if site_id not in activation_site_ids(): raise MKUserError("_ack_site_id", _("Invalid site given")) if html.request.var("_do") == "ack": self._acknowledge_test(test_id, site_id, status_id) elif html.request.var("_do") == "unack": self._unacknowledge_test(test_id, site_id, status_id) elif html.request.var("_do") == "disable": self._disable_test(test_id) elif html.request.var("_do") == "enable": self._enable_test(test_id) else: raise NotImplementedError()
def _load_changes_by_site(self): self._changes_by_site = {} self._migrate_old_changes() for site_id in activation_site_ids(): self._changes_by_site[site_id] = SiteChanges(site_id).load()
def get_changes_estimate(self): changes_counter = 0 for site_id in activation_site_ids(): changes_counter += len(SiteChanges(site_id).load()) if changes_counter > 10: return _("10+ changes") if changes_counter == 1: return _("1 change") elif changes_counter > 1: return _("%d changes") % changes_counter
def _affects_all_sites(self, change): return not set(change["affected_sites"]).symmetric_difference(set(activation_site_ids()))
def _analyze_site_ids(self): return activation_site_ids()