def delete_host_tag_group(params): """Delete a host tag group""" ident = params['name'] if is_builtin(ident): return problem( status=405, title="Built-in cannot be delete", detail=f"The built-in host tag group {ident} cannot be deleted", ) affected = change_host_tags_in_folders(OperationRemoveTagGroup(ident), TagCleanupMode.CHECK, watolib.Folder.root_folder()) if any(affected): if not params["repair"]: return problem( 401, f'Deleting this host tag group "{ident}" requires additional authorization', 'The host tag group you intend to delete is used by other instances. You must authorize Checkmk ' 'to update the relevant instances using the repair parameter') watolib.host_attributes.undeclare_host_tag_attribute(ident) _ = change_host_tags_in_folders(OperationRemoveTagGroup(ident), TagCleanupMode("delete"), watolib.Folder.root_folder()) tag_config = load_tag_config() tag_config.remove_tag_group(ident) update_tag_config(tag_config) return Response(status=204)
def _delete_tag_group(self) -> ActionResult: del_id = request.get_item_input("_delete", dict(self._tag_config.get_tag_group_choices()))[1] if not request.has_var("_repair") and self._is_cleaning_up_user_tag_group_to_builtin( del_id): message: Union[bool, str] = _("Transformed the user tag group \"%s\" to builtin.") % del_id else: message = _rename_tags_after_confirmation(self.breadcrumb(), OperationRemoveTagGroup(del_id)) if message is False: return FinalizeRequest(code=200) if message: self._tag_config.remove_tag_group(del_id) try: self._tag_config.validate_config() except MKGeneralException as e: raise MKUserError(None, "%s" % e) self._save_tags_and_update_hosts(self._tag_config.get_dict_format()) add_change("edit-tags", _("Removed tag group %s (%s)") % (message, del_id)) if isinstance(message, str): flash(message) return redirect(mode_url("tags"))
def _delete_tag_group(self): del_id = html.get_item_input( "_delete", dict(self._tag_config.get_tag_group_choices()))[1] if not html.request.has_var( "_repair") and self._is_cleaning_up_user_tag_group_to_builtin( del_id): message: Union[bool, str] = _( "Transformed the user tag group \"%s\" to builtin.") % del_id else: message = _rename_tags_after_confirmation( self.breadcrumb(), OperationRemoveTagGroup(del_id)) if message is True: # no confirmation yet c = wato_confirm( _("Confirm deletion of the tag group '%s'") % del_id, _("Do you really want to delete the tag group '%s'?") % del_id) if c is False: return "" if c is None: return None if message: self._tag_config.remove_tag_group(del_id) try: self._tag_config.validate_config() except MKGeneralException as e: raise MKUserError(None, "%s" % e) self._save_tags_and_update_hosts( self._tag_config.get_dict_format()) add_change("edit-tags", _("Removed tag group %s (%s)") % (message, del_id)) return "tags", message is not True and message or None
def delete_host_tag_group(params): """Delete a host tag group""" ident = params['name'] allow_repair = params['body'].get("repair", False) affected = change_host_tags_in_folders(OperationRemoveTagGroup(ident), TagCleanupMode.CHECK, watolib.Folder.root_folder()) if any(affected): if not allow_repair: return problem( 401, f'Deleting this host tag group "{ident}" requires additional authorization', 'The host tag group you intend to delete is used by other instances. You must authorize Checkmk ' 'to update the relevant instances using the repair parameter') watolib.host_attributes.undeclare_host_tag_attribute(ident) _ = change_host_tags_in_folders(OperationRemoveTagGroup(ident), TagCleanupMode("delete"), watolib.Folder.root_folder()) tag_config = load_tag_config() tag_config.remove_tag_group(ident) update_tag_config(tag_config) return Response(status=204)