diff options
Diffstat (limited to 'httemplate/search/cust_event.html')
-rw-r--r-- | httemplate/search/cust_event.html | 272 |
1 files changed, 0 insertions, 272 deletions
diff --git a/httemplate/search/cust_event.html b/httemplate/search/cust_event.html deleted file mode 100644 index 503f252bd..000000000 --- a/httemplate/search/cust_event.html +++ /dev/null @@ -1,272 +0,0 @@ -<% include( 'elements/search.html', - 'title' => $title, - 'html_init' => $html_init, - 'menubar' => $menubar, - 'name' => 'billing events', - 'query' => $sql_query, - 'count_query' => $count_sql, - 'header' => [ 'Event', - 'Date', - 'Status', - 'Trigger', - #'Inv #', 'Inv Date', 'Cust #', - #'Invoice', - - FS::UI::Web::cust_header(), #'cust_main_custnum', - ], - 'fields' => [ - 'event', - sub { time2str("%b %d %Y %T", $_[0]->_date) }, - $status_sub, - $trigger_sub, - #sub { - # #my $cust_event = shift; - # 'Invoice #'. $_[0]->invnum. - # ' ('. - # time2str("%D", $_[0]->cust_bill_date). - # ')'; - # }, - \&FS::UI::Web::cust_fields, - ], - 'align' => 'lrll'.FS::UI::Web::cust_aligns(), - 'links' => [ - '', - '', - '', - $trigger_link, - #sub { - # my $part_event = shift; - # #XXX - # my $template = $part_event->templatename; - # $template .= '-' if $template; - # [ "${p}view/cust_bill.cgi?$template", 'invnum']; - #}, - - ( map { $_ ne 'Cust. Status' ? $link_cust : '' } - FS::UI::Web::cust_header() - ), - ], - 'color' => [ - '', - '', - '', - '', - #'', - FS::UI::Web::cust_colors(), - ], - 'style' => [ - '', - '', - '', - '', - #'', - FS::UI::Web::cust_styles(), - ], - ) -%> -<%once> - -my $status_sub = sub { - my $cust_event = shift; - - my $status = $cust_event->status; - $status .= ': '.$cust_event->statustext - if $cust_event->statustext; - - my $part_event = $cust_event->part_event; - - if ( $part_event->eventtable eq 'cust_bill' - && ( $part_event->templatename || $part_event->option('notice_name') ) - ) - { - my $link = 'invnum='. $cust_event->tablenum; - $link .= ';template='. uri_escape($part_event->templatename) - if $part_event->templatename; - $link .= ';notice_name='. uri_escape($part_event->option('notice_name')) - if $part_event->option('notice_name'); - - my $conf = new FS::Conf; - my $cust_bill = $cust_event->cust_X; - - $status .= qq{ - ( <A HREF="${p}view/cust_bill.cgi?$link">view</A> - | <A HREF="${p}view/cust_bill-pdf.cgi?$link">view typeset</A> - | <A HREF="${p}misc/send-invoice.cgi?method=print;$link">re-print</A> - }; - - if ( grep { $_ ne 'POST' } $cust_bill->cust_main->invoicing_list ) { - $status .= qq{ - | <A HREF="${p}misc/send-invoice.cgi?method=email;$link">re-email</A> - }; - } - - if ( $conf->exists('hylafax') && length($cust_bill->cust_main->fax) ) { - $status .= qq{ - | <A HREF="${p}misc/send-invoice.cgi?method=fax;$link">re-fax</A> - } - } - - $status .= ' ) '; - - } - - $status; -}; - -my $trigger_sub = sub { - my $cust_event = shift; - my $eventtable = $cust_event->eventtable; - my $label = FS::part_event->eventtable_labels->{$eventtable}; - #if ( $eventtable eq 'cust_pkg' || $eventtable eq 'cust_bill' ) { - "$label #". $cust_event->tablenum; - #} else { - # $label; - #} -}; - -my $trigger_link = sub { - my $cust_event = shift; - my $eventtable = $cust_event->eventtable; - if ( $eventtable eq 'cust_pkg' ) { - my $custnum = $cust_event->cust_main_custnum; - my $show = $FS::CurrentUser::CurrentUser->default_customer_view =~ /^(jumbo|packages)$/ - ? '' - : ';show=packages'; - my $pkgnum = $cust_event->tablenum; - my $frag = "cust_pkg$pkgnum"; #hack for IE ignoring real #fragment - [ "${p}view/cust_main.cgi?custnum=$custnum$show;fragment=$frag#cust_pkg", 'tablenum' ]; - } else { - [ "${p}view/$eventtable.cgi?", 'tablenum' ]; - } -}; - -</%once> -<%init> - -my $curuser = $FS::CurrentUser::CurrentUser; - -die "access denied" - unless $curuser->access_right('Billing event reports') - or $curuser->access_right('View customer billing events') - && ( $cgi->param('custnum') =~ /^(\d+)$/ - || $cgi->param('invnum') =~ /^(\d+)$/ - || $cgi->param('pkgnum') =~ /^(\d+)$/ - ); - -my $title = $cgi->param('failed') ? 'Failed billing events' : 'Billing events'; - -my %search = (); - -my @scalars = qw( agentnum status custnum invnum pkgnum failed ); -for my $param (@scalars) { - $search{$param} = scalar( $cgi->param($param) ) - if $cgi->param($param); -} - -#lists -my @lists = qw( payby eventpart ); -foreach my $param (@lists) { - $search{$param} = [ $cgi->param($param) ]; -} - -my($beginning, $ending) = FS::UI::Web::parse_beginning_ending($cgi); -$search{'beginning'} = $beginning; -$search{'ending'} = $ending; - -my $where = ' WHERE '. FS::cust_event->search_sql_where( \%search ); - -my $join = FS::cust_event->join_sql(); - -my $sql_query = { - 'table' => 'cust_event', - 'select' => join(', ', - 'cust_event.*', - 'part_event.*', - #'cust_bill.custnum', - #'cust_bill._date AS cust_bill_date', - 'cust_main.custnum AS cust_main_custnum', - FS::UI::Web::cust_sql_fields(), - ), - 'hashref' => {}, - 'extra_sql' => $where, - 'order_by' => 'ORDER BY _date ASC', - 'addl_from' => $join, -}; - -my $count_sql = "SELECT COUNT(*) FROM cust_event $join $where"; - -my $conf = new FS::Conf; - -my @params = ( @scalars, qw( beginning ending ) ); - -my $html_init = join("\n", map { - ( my $action = $_ ) =~ s/_$//; - include('/elements/progress-init.html', - $_.'form', - [ 'action', @params ], - "../misc/${_}events.cgi", - { 'message' => "Invoices re-${action}ed" }, #would be nice to show the number of them, but... - $_, #key - ), - qq!<FORM NAME="${_}form">!, - qq!<INPUT TYPE="hidden" NAME="action" VALUE="$_">!, #not used though - ( map { my $value = encode_entities( $search{$_} ); - qq(<INPUT TYPE="hidden" NAME="$_" VALUE="$value">); - } - @params #keys %search - ), - ( map { my $value = encode_entities( join(',', @{ $search{$_} } ) ); - qq(<INPUT TYPE="hidden" NAME="$_" VALUE="$value">); - } - @lists - ), - qq!</FORM>! -} qw( print_ email_ fax_ ) ). - -'<SCRIPT TYPE="text/javascript"> - -function confirm_print_process() { - if ( ! confirm("Are you sure you want to reprint these invoices?") ) { - return; - } - print_process(); -} -function confirm_email_process() { - if ( ! confirm("Are you sure you want to re-email these invoices?") ) { - return; - } - email_process(); -} -function confirm_fax_process() { - if ( ! confirm("Are you sure you want to re-fax these invoices?") ) { - return; - } - fax_process(); -} - -</SCRIPT>'; - -my $menubar = []; - -if ( $curuser->access_right('Resend invoices') ) { - - push @$menubar, 'Re-print these events' => - "javascript:confirm_print_process()", - 'Re-email these events' => - "javascript:confirm_email_process()", - ; - - push @$menubar, 'Re-fax these events' => - "javascript:confirm_fax_process()" - if $conf->exists('hylafax'); - -} - -my $link_cust = sub { - my $cust_event = shift; - $cust_event->cust_main_custnum - ? [ "${p}view/cust_main.cgi?", 'cust_main_custnum' ] - : ''; -}; - -</%init> |