summaryrefslogtreecommitdiff
path: root/httemplate
diff options
context:
space:
mode:
authorMark Wells <mark@freeside.biz>2016-08-30 12:24:36 -0700
committerMark Wells <mark@freeside.biz>2016-08-30 12:24:50 -0700
commitfba328864880d1375780b94911acd9ff33cba805 (patch)
tree0e0cf71508d838d5fb729926ddc6f9d671637247 /httemplate
parent0abdebedb22597b1e9c0b3e1c0fc91a5e7116388 (diff)
add agent and cust-fields selection to package contract end date report, #71964
Diffstat (limited to 'httemplate')
-rw-r--r--httemplate/elements/menu.html2
-rw-r--r--httemplate/search/cust_pkg-date.html34
-rwxr-xr-xhttemplate/search/report_cust_pkg-date.html38
3 files changed, 60 insertions, 14 deletions
diff --git a/httemplate/elements/menu.html b/httemplate/elements/menu.html
index 9a9fc4e..fcfc9fb 100644
--- a/httemplate/elements/menu.html
+++ b/httemplate/elements/menu.html
@@ -275,7 +275,7 @@ $report_packages{'Suspension summary'} = [ $fsurl.'search/cust_pkg_susp.html', '
$report_packages{'Customer packages with unconfigured services'} = [ $fsurl.'search/cust_pkg.cgi?APKG_pkgnum', 'List packages which have provisionable services' ];
$report_packages{'FCC Form 477'} = [ $fsurl.'search/report_477.html' ]
if $conf->exists('part_pkg-show_fcc_options');
-$report_packages{'Contract end dates'} = [ $fsurl.'search/cust_pkg-date.html?date=contract_end', 'Show packages by contract end date' ];
+$report_packages{'Contract end dates'} = [ $fsurl.'search/report_cust_pkg-date.html?date=contract_end', 'Show packages by contract end date' ];
$report_packages{'Advanced package reports'} = [ $fsurl.'search/report_cust_pkg.html', 'by agent, date range, status, package definition' ];
tie my %report_inventory, 'Tie::IxHash',
diff --git a/httemplate/search/cust_pkg-date.html b/httemplate/search/cust_pkg-date.html
index 5bb772b..231bbac 100644
--- a/httemplate/search/cust_pkg-date.html
+++ b/httemplate/search/cust_pkg-date.html
@@ -1,3 +1,16 @@
+<& elements/search.html,
+ 'title' => $title,
+ 'name' => 'packages',
+ 'query' => $query,
+ 'count_query' => $count_query,
+ 'header' => \@header,
+ 'fields' => \@fields,
+ 'align' => 'rrrl'. FS::UI::Web::cust_aligns(),
+ 'color' => \@color,
+ 'style' => \@style,
+ 'links' => \@links,
+ 'cell_style' => [ $date_color_sub ],
+&>
<%init>
my $curuser = $FS::CurrentUser::CurrentUser;
die 'access denied' unless $curuser->access_right('List packages');
@@ -18,8 +31,7 @@ my $col = $cgi->param('date');
die "invalid date column" unless $cols{$col};
my $title = 'Packages by ' . lc($cols{$col}) . ' date';
-# second option on the cust_fields_avail list, plus email
-my $cust_fields = 'Cust# | Customer | Day phone | Night phone | Mobile phone | Invoicing email(s)';
+my $cust_fields = $cgi->param('cust_fields');
my @header = ( $cols{$col},
emt('#'),
emt('Quan.'),
@@ -32,11 +44,18 @@ my @fields = ( sub { time2str('%b %d %Y', $_[0]->$col) },
'pkg_label',
);
my @sort_fields = ( map '', @fields ); # should only ever sort by $col
+my @color = ( map '', @fields );
+my @style = ( map '', @fields );
push @header, FS::UI::Web::cust_header($cust_fields);
push @fields, \&FS::UI::Web::cust_fields;
+push @color, FS::UI::Web::cust_colors();
+push @style, FS::UI::Web::cust_styles();
my $agentnums_sql = $curuser->agentnums_sql('table' => 'cust_main');
+if ( $cgi->param('agentnum') =~ /^(\d+)$/ and $1 ) {
+ $agentnums_sql .= " AND agentnum = $1";
+}
my $query = {
'table' => 'cust_pkg',
@@ -80,15 +99,4 @@ my $date_color_sub = sub {
};
</%init>
-<& elements/search.html,
- 'title' => $title,
- 'name' => 'packages',
- 'query' => $query,
- 'count_query' => $count_query,
- 'header' => \@header,
- 'fields' => \@fields,
- 'align' => 'rrrl'. FS::UI::Web::cust_aligns(),
- 'links' => \@links,
- 'cell_style' => [ $date_color_sub ],
-&>
diff --git a/httemplate/search/report_cust_pkg-date.html b/httemplate/search/report_cust_pkg-date.html
new file mode 100755
index 0000000..ceb9a9c
--- /dev/null
+++ b/httemplate/search/report_cust_pkg-date.html
@@ -0,0 +1,38 @@
+<& /elements/header.html, mt($title) &>
+
+<FORM ACTION="cust_pkg-date.html" METHOD="GET">
+<INPUT TYPE="hidden" NAME="date" VALUE="<% $col %>">
+
+<TABLE BGCOLOR="#cccccc" CELLSPACING=0>
+
+ <& /elements/tr-select-agent.html,
+ 'curr_value' => scalar( $cgi->param('agentnum') ),
+ 'disable_empty' => 0,
+ &>
+
+ <& /elements/tr-select-cust-fields.html &>
+
+</TABLE>
+
+<BR>
+<INPUT TYPE="submit" VALUE="Get Report">
+
+</FORM>
+
+<% include('/elements/footer.html') %>
+<%init>
+
+die "access denied"
+ unless $FS::CurrentUser::CurrentUser->access_right('List packages');
+
+# for the page title
+my %cols = (
+ 'contract_end' => 'Contract end'
+);
+
+# or let the column be selected here?
+my $col = $cgi->param('date');
+die "invalid date column" unless $cols{$col};
+my $title = 'Packages by ' . lc($cols{$col}) . ' date';
+
+</%init>