def handle(self): data = { 'node_ip': self.form_data['node_ip'], 'node_name': self.form_data['node_name'], 'node_os': self.form_data['node_os'], 'enabled_plugins': self.form_data['plugins_list'], } new_node_info = NodeInfo(**data) new_node_info.save() return new_node_info
def get(self, request, *args, **kwargs): nodes_render = [] nodes = NodeInfo.objects() for node in nodes: nodes_render.append({ 'name': node.node_name, 'ip': node.node_ip, 'os': node.node_os, 'plugins': node.enabled_plugins }) return render(request, self.template_name, {'nodes': nodes_render})
def handle(self): selected_node = self.form_data['select_node'] node = NodeInfo.objects(node_name=selected_node).first() for plugin in node.enabled_plugins: for param in ParamInfo.objects(plugin_name=plugin): data = { 'node': node.node_name, 'ip': node.node_ip, 'plugin': plugin, 'param': param.param_name, 'timeout': 0 } monitoring_info = MonitoringInfo(**data) monitoring_info.save() return True
def get(self, request, *args, **kwargs): graphs_info = [] plugin_name = kwargs.get("plugin_name") # TODO: add 'try ... except' plugin_params = ParamInfo.objects(plugin_name=plugin_name) nodes = NodeInfo.objects() id = 1 for node in nodes: if plugin_name in node.enabled_plugins: for param in plugin_params: graphs_info.append( { "id": "graph_id_" + str(id), "plugin_name": plugin_name, "node_name": node.node_name, "param_name": param.param_name, } ) id += 1 return render(request, self.template_name, {"graphs_info": graphs_info})
final_attrs = self.build_attrs(attrs, name=name) for kw in self.kwargs: final_attrs[kw] = self.kwargs.get(kw) output = [format_html('<input{}>', flatatt(final_attrs))] output.append('</input>') return mark_safe('\n'.join(output)) def __init__(self, attrs=None, **kwargs): self.kwargs = kwargs if attrs is not None: self.attrs = attrs.copy() else: self.attrs = {} NODES_LIST = [(item.node_name, item.node_name) for item in NodeInfo.objects()] ATTRS = {'class': 'form-control'} PLUGINS_LIST = [(item.plugin_name, item.plugin_name) for item in PluginInfo.objects()] GROUPS_LIST = [(item.name, item.name) for item in NodeGroups.objects()] class CheckboxSelectMultiple(forms.CheckboxSelectMultiple): def render(self, name, value, attrs=None, choices=()): html = super(CheckboxSelectMultiple, self).render(name, value, attrs, choices) return mark_safe(html.replace('<ul>', '<ul class="myClass">'))