[% 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 Date' nowrap='nowrap' col='lightgray' style='border:solid gray 1px;'; INCLUDE html/cell content='Recurrence' nowrap='nowrap' col='lightgray' style='border:solid gray 1px;'; END; FOR report = DBI.query(q); bg='lightblue'; IF loop.count % 2; bg='white'; END; 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=p.reportname col=bg style='border:solid gray 1px;'; INCLUDE html/cell content=report.create_date.chunk(10).0 col=bg style='border:solid gray 1px;'; INCLUDE html/cell content=report.runtime.chunk(10).0 col=bg style='border:solid gray 1px;'; INCLUDE html/cell content=report.recurrence 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; FOR tab IN config.findnodes("/reporter/tables/table[@fact-table='true']"); 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('tablename'),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; %]