def delete(self, app, action, row, column, **params): row = int(row) column = int(column) dashboard_panel = DashboardPanel.get(params.get('id'), (row, column)) if dashboard_panel.delete(): cherrypy.response.status = 204 return "" cherrypy.response.status = 400 return json.dumps({'error': dashboard_panel.errors})
def delete(self, app, action, row, column, **params): row = int(row) column = int(column) dashboard_panel = DashboardPanel.get(params.get('id'), (row, column)) if dashboard_panel.delete(): cherrypy.response.status = 204 return "" cherrypy.response.status = 400 return json.dumps({'error': dashboard_panel.errors})
def searchupdate(self, app, action, row, column, **params): row = int(row) column = int(column) dashboard_panel = DashboardPanel.get(params.get('id'), (row, column)) dashboard_panel.panel_model.searchMode = params.get('panel_model.searchMode') dashboard_panel.panel_model.searchCommand = params.get('panel_model.searchCommand', '') dashboard_panel.panel_model.searchEarliestTime = params.get('panel_model.searchEarliestTime', '') dashboard_panel.panel_model.searchLatestTime = params.get('panel_model.searchLatestTime', '') if dashboard_panel.save(): return '' cherrypy.response.status = 400 return json.dumps({'error': dashboard_panel.errors})
def update(self, app, action, row, column, **params): row = int(row) column = int(column) dashboard_panel = DashboardPanel.get(params.get('id'), (row, column)) #application/json POST try: #cherrypy gives file descriptor for POST's data = json.loads(cherrypy.request.body.read()) except Exception as e: return json.dumps({'error': 'Could not read data for panel update', 'trace': str(e)}) dashboard_panel.set_dict(data) if not dashboard_panel.save(): return json.dumps({'error': 'Could not save panel changes'}) return json.dumps({'success': 'Successfully saved', 'panel': dashboard_panel.get_dict()})
def searchupdate(self, app, action, row, column, **params): row = int(row) column = int(column) dashboard_panel = DashboardPanel.get(params.get('id'), (row, column)) dashboard_panel.panel_model.searchMode = params.get( 'panel_model.searchMode') dashboard_panel.panel_model.searchCommand = params.get( 'panel_model.searchCommand', '') dashboard_panel.panel_model.searchEarliestTime = params.get( 'panel_model.searchEarliestTime', '') dashboard_panel.panel_model.searchLatestTime = params.get( 'panel_model.searchLatestTime', '') if dashboard_panel.save(): return '' cherrypy.response.status = 400 return json.dumps({'error': dashboard_panel.errors})
def edit(self, app, action, row, column, **params): # saved_searches = SavedSearch.all().filter_by_app(app) row = int(row) column = int(column) dashboard_panel = DashboardPanel.get(params.get('id'), (row, column)) # panel options layering via GET params with 'options.*' prefix option_key = 'options.' for param in params: if param.startswith(option_key): dashboard_panel.add_option(param[len(option_key):], params[param]) enable_fragment_id = splunk.util.normalizeBoolean(params.get('enable_fragment_id', True)) view_id = params.get('id').split('/')[-1:][0] template_args = dict(app=app, dashboard_panel=dashboard_panel, enable_fragment_id=enable_fragment_id, saved_searches={}, is_transforming=util.normalizeBoolean(params.get('is_transforming', True)), view_id=view_id) return self.render_template('paneleditor/edit.html', template_args)
def update(self, app, action, row, column, **params): row = int(row) column = int(column) dashboard_panel = DashboardPanel.get(params.get('id'), (row, column)) #application/json POST try: #cherrypy gives file descriptor for POST's data = json.loads(cherrypy.request.body.read()) except Exception as e: return json.dumps({ 'error': 'Could not read data for panel update', 'trace': str(e) }) dashboard_panel.set_dict(data) if not dashboard_panel.save(): return json.dumps({'error': 'Could not save panel changes'}) return json.dumps({ 'success': 'Successfully saved', 'panel': dashboard_panel.get_dict() })
def edit(self, app, action, row, column, **params): # saved_searches = SavedSearch.all().filter_by_app(app) row = int(row) column = int(column) dashboard_panel = DashboardPanel.get(params.get('id'), (row, column)) # panel options layering via GET params with 'options.*' prefix option_key = 'options.' for param in params: if param.startswith(option_key): dashboard_panel.add_option(param[len(option_key):], params[param]) enable_fragment_id = splunk.util.normalizeBoolean( params.get('enable_fragment_id', True)) view_id = params.get('id').split('/')[-1:][0] template_args = dict(app=app, dashboard_panel=dashboard_panel, enable_fragment_id=enable_fragment_id, saved_searches={}, is_transforming=util.normalizeBoolean( params.get('is_transforming', True)), view_id=view_id) return self.render_template('paneleditor/edit.html', template_args)