[%
PROCESS inputs;
PROCESS class_manip;
PROCESS widget_manip;
PROCESS logic_header.ttk;
pagetype = CGI.param('detail');
%] [%
SWITCH pagetype;
CASE 'myreports';
INCLUDE header.ttk title="Reporter Dashboard -- My Recent Reports";
INCLUDE navbar.ttk + my_reports;
CASE 'mytemplates';
INCLUDE header.ttk title="Reporter Dashboard -- My Recent Templates";
INCLUDE navbar.ttk + my_templates;
CASE 'othersreports';
INCLUDE header.ttk title="Reporter Dashboard -- Others Recent Public Reports";
INCLUDE navbar.ttk + public_reports;
CASE 'otherstemplates';
INCLUDE header.ttk title="Reporter Dashboard -- Others Recent Public Templates";
INCLUDE navbar.ttk + public_templates;
CASE 'facttables';
INCLUDE header.ttk title="Reporter Dashboard -- Core Fact Tables";
INCLUDE navbar.ttk + fact_tables;
CASE;
INCLUDE header.ttk title="Reporter Dashboard";
INCLUDE navbar.ttk + summary;
END;
PROCESS logout.ttk;
BLOCK summary;
WRAPPER html/table border=0 width='100%';
WRAPPER html/row;
INCLUDE html/cell
width='50%'
content=link(content='My Recent Reports',href='dashboard?detail=myreports')
align='center'
style='border-bottom:1px solid black';
INCLUDE html/cell
content=link(content='Others Recent Public Reports',href='dashboard?detail=othersreports')
align='center'
style='border-bottom:1px solid black';
END;
WRAPPER html/row;
WRAPPER html/cell valign='top' style='height:200px';
INCLUDE my_reports limit=5;
END;
WRAPPER html/cell valign='top';
INCLUDE public_reports limit=5;
END;
END;
WRAPPER html/row;
INCLUDE html/cell
content=link(content='My Recent Templates',href='dashboard?detail=mytemplates')
align='center'
style='border-bottom:1px solid black';
INCLUDE html/cell
content=link(content='Others Recent Public Templates',href='dashboard?detail=otherstemplates')
align='center'
style='border-bottom:1px solid black';
END;
WRAPPER html/row;
WRAPPER html/cell valign='top' style='height:200px';
INCLUDE my_templates limit=5;
END;
WRAPPER html/cell valign='top';
INCLUDE public_templates limit=5;
END;
END;
WRAPPER html/row;
INCLUDE html/cell
colspan=2
align='center'
content=link(content='Core Fact Tables',href='dashboard?detail=facttables')
style='border-bottom:1px solid black';
END;
WRAPPER html/row;
WRAPPER html/cell colspan=2 valign='top';
INCLUDE fact_tables;
END;
END;
END;
END;
BLOCK my_reports;
q = "SELECT * FROM reporter.stage3 WHERE owner = " _ user.id() _
" ORDER BY runtime DESC";
IF limit > 0;
q = q _ ' LIMIT ' _ limit;
END;
logme(q);
INCLUDE show_reports;
END;
BLOCK public_reports;
q = "SELECT * FROM reporter.stage3 WHERE pub is true" _
" and owner != " _ user.id() _ " ORDER BY runtime DESC";
IF limit > 0;
q = q _ ' LIMIT ' _ limit;
END;
logme(q);
INCLUDE show_reports;
END;
BLOCK show_reports;
WRAPPER html/table width='100%';
WRAPPER html/row;
INCLUDE html/cell content='Public' nowrap='nowrap' col='lightgray' style='border:solid gray 1px;';
INCLUDE html/cell content='Report Name' nowrap='nowrap' col='lightgray' style='border:solid gray 1px;';
INCLUDE html/cell content='Created at' nowrap='nowrap' col='lightgray' style='border:solid gray 1px;';
INCLUDE html/cell content='Scheduled Run Time
Last Run Time' nowrap='nowrap' col='lightgray' style='border:solid gray 1px;';
INCLUDE html/cell content='Recurrence' nowrap='nowrap' col='lightgray' style='border:solid gray 1px;';
INCLUDE html/cell content='Runs' nowrap='nowrap' col='lightgray' style='border:solid gray 1px;';
END;
FOR report = DBI.query(q);
rid = report.id;
bg='lightblue';
IF loop.count % 2;
bg='white';
END;
run_q = 'SELECT * FROM reporter.output WHERE stage3 = ? ORDER BY queue_time LIMIT 1';
run_count_q = 'SELECT count(*) as count FROM reporter.output WHERE stage3 = ?';
s = DBI.prepare(run_count_q);
run_count = s.execute(rid);
s = DBI.prepare(run_q);
run = s.execute(rid);
WRAPPER html/row;
p = utils.JSON2perl( report.params );
INCLUDE html/cell content=(report.pub ? 'Y' : 'N') col=bg style='border:solid gray 1px;' align='center';
INCLUDE html/cell content=link(content=p.reportname,href="stage3?id=$rid") col=bg style='border:solid gray 1px;';
INCLUDE html/cell nowrap='nowrap' content=report.create_date.chunk(19).0 col=bg style='border:solid gray 1px;';
INCLUDE html/cell
nowrap='nowrap'
content=report.runtime.chunk(19).0 _ '
' _ run.get.run_time.chunk(19).0
col=bg
style='border:solid gray 1px;';
INCLUDE html/cell content=report.recurrence col=bg style='border:solid gray 1px;';
INCLUDE html/cell content=run_count.get.count col=bg style='border:solid gray 1px;';
END;
END;
END;
END;
BLOCK my_templates;
q = "SELECT * FROM reporter.stage2 WHERE " _
" owner = " _ user.id() _ " ORDER BY create_date DESC";
IF limit > 0;
q = q _ ' LIMIT ' _ limit;
END;
logme(q);
INCLUDE show_templates;
END;
BLOCK public_templates;
q = "SELECT * FROM reporter.stage2 WHERE pub is true" _
" and owner != " _ user.id() _ " ORDER BY create_date DESC";
IF limit > 0;
q = q _ ' LIMIT ' _ limit;
END;
logme(q);
INCLUDE show_templates;
END;
BLOCK show_templates;
WRAPPER html/table width='100%' class='withborder';
WRAPPER html/row;
INCLUDE html/cell content='Public' nowrap='nowrap' col='lightgray' style='border:solid gray 1px;';
INCLUDE html/cell content='Template Name' nowrap='nowrap' col='lightgray' style='border:solid gray 1px;';
INCLUDE html/cell content='Created at' nowrap='nowrap' col='lightgray' style='border:solid gray 1px;';
END;
FOR template = DBI.query(q);
tid = template.id;
bg='lightblue';
IF loop.count % 2;
bg='white';
END;
WRAPPER html/row;
p = utils.JSON2perl( template.params );
INCLUDE html/cell content=(template.pub ? 'Y' : 'N') col=bg style='border:solid gray 1px;' align='center';
INCLUDE html/cell content=link(content=p.templatename,href="stage2?id=$tid") col=bg style='border:solid gray 1px;';
INCLUDE html/cell content=template.create_date.chunk(10).0 col=bg style='border:solid gray 1px;';
END;
END;
END;
END;
BLOCK fact_tables;
WRAPPER html/table width='100%' class='withborder';
WRAPPER html/row;
INCLUDE html/cell content='Fact table' nowrap='nowrap' col='lightgray' style='border:solid gray 1px;';
INCLUDE html/cell content='Description' nowrap='nowrap' col='lightgray' style='border:solid gray 1px;';
END;
fact_table_xpath = "/reporter/tables/table[@fact-table='true']";
FOR tab = config.findnodes(fact_table_xpath);
tid = tab.findvalue('@id');
bg='lightblue';
IF loop.count % 2;
bg='white';
END;
WRAPPER html/row;
p = utils.JSON2perl( template.params );
INCLUDE html/cell
col=bg
content=link(content=tab.findvalue('label'),href="stage1?id=$tid") style='border:solid gray 1px;';
INCLUDE html/cell content=tab.findvalue('description') style='border:solid gray 1px;';
END;
END;
END;
END;
%]