WTF::Pages::Reports - Page and XLS generation for data reports


VERSION

This document describes WTF::Pages::Reports version 1.02


SYNOPSIS

        use WTF::Pages::Reports;
        return WTF::Pages::Reports->screen_name($r);


DESCRIPTION

This module is a subclass of WTF::Page that houses page and Microsoft Excel (XLS) generation for data reports.


METHODS

All methods are broken into two types: screen method and XLS generation methods. Screen methods require one input, an Apache request (Apache2::RequestRec) object, and return XHTML, typically as a result of running the ``output()'' method of an HTML::Template object. Other input into screen methods is through an Apache2::Request object:

        my $req = WTF::Utils::get_req($r);

XLS generation methods take various inputs but all return nothing. They instead write the XLS workbook to the output buffer automatically when they call:

        $workbook->close();
        return;

screen_myweekly()

This is a page generation method that generates the ``My Weekly Time'' page using the ``reports/myweekly.tmpl'' HTML::Template template. This page allows users to view entered time and notes data for a given week.

screen_team_view()

This is a page generation method that generates the ``Team View'' page using the ``reports/team_view.tmpl'' HTML::Template template. This page allows authorized users (typically managers) to view time and notes data for the members of their team and extended team across a date range. From this page, users can also download detailed team data in a Microsoft Excel (XLS) file handled by ``xls_team_view_build()''. There's also a summary table at the top of the page that spans the date range, limited to 14 days (2 weeks) anchored at the end of the range if the range is greater than 14 days. The summary table shows who has put what data into the application over the date range.

screen_projects_list()

This is a page generation method that generates the ``Projects List'' page using the ``reports/projects_list.tmpl'' HTML::Template template. This page allows authorized users (typically project managers and other managers) to view projects that have had time tracked against them in a given date range. The user can select a project to view in detail by clicking on it. Viewing a specific project's data in detail is handled in ``screen_reports_project_view()''.

screen_project_view()

This is a page generation method that generates the ``Project View'' page using the ``reports/project_view.tmpl'' HTML::Template template. This page allows authorized users (typically project managers and other managers) to view summary time tracked data for a specific project. From this page, users can also download detailed project data in a Microsoft Excel (XLS) file handled by ``xls_project_view_build()''.

screen_activity_summary()

This is a page generation method that generates the ``Activity Summary'' page using the ``reports/activity_summary.tmpl'' HTML::Template template. This page displays summary data about general employee activities as defined in the activity database table. This page displays monthly summary statistics.

xls_team_view_build()

This XLS generation method builds a Microsoft Excel (XLS) file with data based on the current data viewed in the calling page, handled by ``screen_reports_team_view()''.

xls_project_view_build()

This XLS generation method builds a Microsoft Excel (XLS) file with data based on the summary data of the project being viewed by ``screen_reports_project_view()''. Additionally, the method will add worksheet tabs into the workbook for each week of the project (as indicated by tracked time). In each of these weekly tabs, the method will add a detailed break-out of time by employee and task.


DEPENDENCIES

WTF::Pages::Reports depends on the following modules:

WTF::Pages::Reports is a subclass of WTF::Pages.


COPYRIGHT, LICENSE, AND DISCLAIMER OF WARRANTY

Use of this module implies the reading and agreement with the license under which this software is release. That license can be found in the ``license.txt'' file included with this distribution.