def __init__(self, pagepath, page_id): WebPage.__init__(self, pagepath) self.main_template = "update_db.tpl" self.request_params = dict(request.params) self.model_list = [ 'ServerConfig', 'MenuItem', 'ReportInfo', 'SQLquery', 'Connection'] self.rows = None self.table_fields_name = [] self.table_fields_vals = [] if self.request_params.has_key("table"): self.table = self.request_params['table'] model_class = getattr(src.model, self.table) self.table_fields_name = [field[0] for field in model_class._meta.get_sorted_fields()] self.table_fields_vals = [field[1] for field in model_class._meta.get_sorted_fields()] if self.request_params.has_key("action"): self.action = self.request_params['action'] pk = [field for field in self.table_fields_vals if field.db_field == 'primary_key'][0].name if self.request_params['action'] == 'edit': self.values = model_class.select().where(getattr(model_class, pk) == self.request_params['id']).dicts() elif self.request_params['action'] == 'update': field_to_update = {} for field in self.table_fields_vals: if field.name != pk and field.name in self.request_params.keys(): field_to_update[field.name] = self.request_params[field.name] if self.request_params.has_key(pk) and self.request_params[pk] and self.request_params[pk] != "" and self.request_params[pk] != "AUTO GENERATED": model_class.update(**field_to_update).where(getattr(model_class, pk) == self.request_params[pk]).execute() else: model_class.create(**field_to_update) redirect(self.pagepath + "?table=" + self.table) else: self.rows = model_class.select().tuples()
def __init__(self, pagepath, page_id): WebPage.__init__(self, pagepath) self.main_template = "charts.tpl" self.request_params = dict(request.params) self.all_charts = ChartInfo.select() self.chart_groups = set() for chart in self.all_charts: self.chart_groups.add(chart.group) self.charts = [] if self.request_params.has_key('group'): for chart in self.all_charts: if chart.group == self.request_params['group']: self.charts.append(HighChart(self, chart))
def __init__(self, pagepath, page_id): WebPage.__init__(self, pagepath) self.main_template = "reports.tpl" self.model_list = [] self.request_params = dict(request.params) self.current_report = None self.model_list = ReportInfo.select().where(ReportInfo.report_type=='report') for report in self.model_list: if self.request_params.has_key("report") and self.request_params["report"] == report.name: self.current_report = report report.create_report_if_needed() self.last_run = report.last_run self.datatable = Datatables(self, report.name, report.get_header(), report.row_callback)
def __init__(self, pagepath, page_id): WebPage.__init__(self, pagepath) self.main_template = "sanity.tpl" self.model_list = [] self.request_params = dict(request.params) self.current_report = None self.model_list = ReportInfo.select().where(ReportInfo.report_type=='sanity').order_by(ReportInfo.nb_rows.desc()) self.model_mapping = {} for model in self.model_list: self.model_mapping[model.id] = model for report in self.model_list: if self.request_params.has_key("sanity") and self.request_params["sanity"] == report.name: self.current_report = report report.create_report_if_needed() self.last_run = report.last_run self.datatable = Datatables(self, report.name, report.get_header(), report.row_callback)
def __init__(self, pagepath, page_id): WebPage.__init__(self, pagepath) self.main_template = "chart_creation.tpl" self.request_params = dict(request.params) self.chart = None self.charts = ChartInfo.select() self.table_fields = ChartInfo._meta.fields self.action = None if self.request_params.has_key("action"): self.action = self.request_params['action'] if self.action == "create_all": json_return = {} for chart in self.charts: chart.create_report() json_return.update(chart.get_json_repr()) Je = JsonEncoder() self.special_return = Je.encode(json_return) elif self.action == 'new': self.chart = ChartInfo.create(name='PlaceHolderName', connection_id=1) self.chart.save() redirect(self.pagepath + "?chart_id=" + str(self.chart.id) +'&action=edit') elif self.request_params.has_key('chart_id'): for chart in self.charts: if str(chart.id)==self.request_params['chart_id']: self.chart = chart if self.action == 'edit' or self.action == 'new': self.chart.create_report_if_needed() self.highchart = HighChart(self, self.chart) elif self.action == 'update': self.chart.sql = self.request_params['sql'] self.chart.cache_duration = self.request_params['cache_duration'] self.chart.name = self.request_params['name'] self.chart.description = self.request_params['description'] self.chart.group = self.request_params['group'] self.chart.save() self.chart.create_report() redirect(self.pagepath + "?chart_id=" + str(self.chart.id) +'&action=edit' )
def __init__(self, pagepath, page_id): WebPage.__init__(self, pagepath) self.report = None self.main_template = "report_creation.tpl" self.request_params = dict(request.params) self.reports = ReportInfo.select() self.table_fields = ReportInfo._meta.fields self.action = None if self.request_params.has_key("action"): self.action = self.request_params['action'] if self.action == "create_all": json_return = {} for report in self.reports: report.create_report() json_return.update(report.get_json_repr()) Je = JsonEncoder() self.special_return = Je.encode(json_return) elif self.action == 'new': self.sql_query = SQLquery.create(sql='select 1', connection_id=1) self.report = ReportInfo.create(name='PlaceHolderName', description='', source_type='SQLquery', \ source_id=self.sql_query.id) redirect(self.pagepath + "?report=PlaceHolderName&action=edit" ) elif self.request_params.has_key('report'): self.report = [report for report in self.reports if report.name==self.request_params['report']][0] self.sql_query = SQLquery.get(SQLquery.id == self.report.source_id) if self.action == 'edit' or self.action == 'new': self.current_report = self.report self.report.create_report_if_needed() self.last_run = report.last_run self.datatable = Datatables(self, self.report.name, self.report.get_header(), self.report.row_callback) # # self.header = report.get_header() # self.css.append(Css("DT_bootstrap.css")) # self.foot_js.append(Js("jquery.dataTables.min.js")) # self.foot_js.append(Js("DT_bootstrap.js")) # # self.header = report.get_header() # self.id_table = random_string(10) # # self.drop_down_nb = True # self.drop_down_values = [[20, 50, 100, -1], [20, 50, 100, "All"]] # self.drop_down_text = "records per page" # self.global_search = True # self.global_search_text = "Search all columns:" # self.pagination = True # self.show_nb_records = True # self.records_per_page = 20 # self.column_search = True # self.foot_js_templates = [Template("datatables_js_ready", self)] # self.ajax_url = "/cache/" + str(report.name) + ".json" # self.csv_url = "/cache/" + str(report.name) + ".csv" elif self.action == 'update': self.sql_query.sql = self.request_params['sql_query_sql'] self.sql_query.save() self.report.cache_duration = self.request_params['cache_duration'] self.report.name = self.request_params['name'] self.report.description = self.request_params['description'] self.report.row_callback = self.request_params['row_callback'] self.report.report_type = self.request_params['report_type'] self.report.save() self.report.create_report() redirect(self.pagepath + "?report=" + self.report.name +'&action=edit' )
def __init__(self, pagepath, page_id): WebPage.__init__(self, pagepath) self.main_template = "login.tpl" self.request_params = dict(request.params) self.error = None
def __init__(self, pagepath, page_id): WebPage.__init__(self, pagepath) page_config = SimplePageConfig.get(id=page_id) self.title = page_config.title self.text = page_config.text