<<

NAME

C4::Reports::Guided - Module for generating guided reports

SYNOPSIS

  use C4::Reports::Guided;

DESCRIPTION

METHODS

get_report_areas

This will return a list of all the available report areas

get_report_types

This will return a list of all the available report types

get_report_groups

This will return a list of all the available report areas with groups

get_all_tables

This will return a list of all tables in the database

get_columns($area)

This will return a list of all columns for a report area

build_query($columns,$criteria,$orderby,$area)

This will build the sql needed to return the results asked for, $columns is expected to be of the format tablename.columnname. This is what get_columns returns.

get_criteria($area,$cgi);

Returns an arraref to hashrefs suitable for using in a tmpl_loop. With the criteria and available values.

execute_query

  ($sth, $error) = execute_query($sql, $offset, $limit[, \@sql_params])

This function returns a DBI statement handler from which the caller can fetch the results of the SQL passed via $sql.

If passed any query other than a SELECT, or if there is a DB error, $errors is returned, and is a hashref containing the error after this manner:

$error-{'sqlerr'}> contains the offending SQL keyword. $error-{'queryerr'}> contains the native db engine error returned for the query.

$offset, and $limit are required parameters.

\@sql_params is an optional list of parameter values to paste in. The caller is responsible for making sure that $sql has placeholders and that the number placeholders matches the number of parameters.

save_report($sql,$name,$type,$notes)

Given some sql and a name this will saved it so that it can reused Returns id of the newly created report

create_compound($masterID,$subreportID)

This will take 2 reports and create a compound report using both of them

get_column_type($column)

This takes a column name of the format table.column and will return what type it is (free text, set values, date)

get_distinct_values($column)

Given a column name, return an arrary ref of hashrefs suitable for use as a tmpl_loop with the distinct values of the column

build_authorised_value_list($authorised_value)

Returns an arrayref - hashref pair. The hashref consists of various code => name lists depending on the $authorised_value. The arrayref is the hashref keys, in appropriate order

GetReservedAuthorisedValues

    my %reserved_authorised_values = GetReservedAuthorisedValues();

Returns a hash containig all reserved words

IsAuthorisedValueValid

    my $is_valid_ath_value = IsAuthorisedValueValid($authorised_value)

Returns 1 if $authorised_value is on the reserved authorised values list or in the authorised value categories defined in

GetParametersFromSQL

    my @sql_parameters = GetParametersFromSQL($sql)

Returns an arrayref of hashes containing the keys name and authval

ValidateSQLParameters

    my @problematic_parameters = ValidateSQLParameters($sql)

Returns an arrayref of hashes containing the keys name and authval of those SQL parameters that do not correspond to valid authorised names

AUTHOR

Chris Cormack <crc@liblime.com>

<<