diff options
author | Ivan Kohler <ivan@freeside.biz> | 2016-03-01 09:08:48 -0800 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2016-03-01 09:08:48 -0800 |
commit | 6e33e8af0974d49c1c0cf65b1963846d35f6c156 (patch) | |
tree | c1b35bbc91a9681526e8c306339973cb3475ad5a | |
parent | b946b5a2acce328ac0e163dbf7bf8e83e7eb677a (diff) | |
parent | 47f8f6a1868aeb155b985c10f332c5a9d455f032 (diff) |
Merge branch 'master' of git.freeside.biz:/home/git/freeside
-rw-r--r-- | FS/bin/freeside-ipifony-download | 12 | ||||
-rw-r--r-- | httemplate/misc/send-invoice.cgi | 2 | ||||
-rw-r--r-- | httemplate/search/agent_commission.html | 3 | ||||
-rwxr-xr-x | httemplate/search/elements/cust_pay_or_refund.html | 4 | ||||
-rw-r--r-- | httemplate/search/sales_commission.html | 3 | ||||
-rwxr-xr-x | httemplate/view/cust_bill.cgi | 38 | ||||
-rw-r--r-- | httemplate/view/elements/cust_bill-typeset | 4 |
7 files changed, 47 insertions, 19 deletions
diff --git a/FS/bin/freeside-ipifony-download b/FS/bin/freeside-ipifony-download index 51db035d5..ee1f4bdfe 100644 --- a/FS/bin/freeside-ipifony-download +++ b/FS/bin/freeside-ipifony-download @@ -13,7 +13,7 @@ use File::Copy qw(copy); use Text::CSV; my %opt; -getopts('va:P:C:e:', \%opt); +getopts('vqa:P:C:e:', \%opt); # Product codes that are subject to flat rate E911 charges. For these # products, the'quantity' field represents the number of lines. @@ -31,6 +31,7 @@ sub HELP_MESSAGE { ' Usage: freeside-ipifony-download [ -v ] + [ -q ] [ -a archivedir ] [ -P port ] [ -C category ] @@ -201,10 +202,12 @@ FILE: foreach my $filename (@$files) { amount => $hash{unit_price}, quantity => $hash{quantity}, start_date => $cust_main->get('charge_date'), - pkg => $hash{date_desc} . - ' (' . $hash{quantity} . ' @ $' . $hash{unit_price} . ' ea)', + pkg => $hash{date_desc}, taxclass => $TAXCLASSES{ $hash{taxclass} }, ); + if ( $opt{q} ) { + $charge_opt{pkg} .= ' (' . $hash{quantity} . ' @ $' . $hash{unit_price} . ' ea)'; + } if (my $classname = $hash{classname}) { if (!exists($classnum_of{$classname}) ) { # then look it up @@ -292,6 +295,7 @@ freeside-ipifony-download - Download and import invoice items from IPifony. freeside-ipifony-download [ -v ] + [ -q ] [ -a archivedir ] [ -P port ] [ -C category ] @@ -312,6 +316,8 @@ I<hostname>: the SFTP server. -v: Be verbose. +-q: Include the quantity and unit price in the charge description. + -a I<archivedir>: Save a copy of the downloaded file to I<archivedir>. -P I<port>: Connect to that TCP port. diff --git a/httemplate/misc/send-invoice.cgi b/httemplate/misc/send-invoice.cgi index 435875348..dea081020 100644 --- a/httemplate/misc/send-invoice.cgi +++ b/httemplate/misc/send-invoice.cgi @@ -25,6 +25,7 @@ my $invnum = $cgi->param('invnum'); my $template = $cgi->param('template'); my $notice_name = $cgi->param('notice_name') if $cgi->param('notice_name'); my $method = $cgi->param('method'); +my $no_coupon = $cgi->param('no_coupon'); my $mode; if ( $cgi->param('mode') =~ /^(\d+)$/ ) { $mode = $1; @@ -42,6 +43,7 @@ $cust_bill->set('mode' => $mode) if $mode; #these methods die instead of return errors, so, handle that without a backtrace eval { $cust_bill->$method({ 'template' => $template, 'notice_name' => $notice_name, + 'no_coupon' => $no_coupon, }); }; my $error = $@; diff --git a/httemplate/search/agent_commission.html b/httemplate/search/agent_commission.html index 386452aeb..a7edc3b22 100644 --- a/httemplate/search/agent_commission.html +++ b/httemplate/search/agent_commission.html @@ -1,5 +1,6 @@ % if ( $agentnum ) { -<% $cgi->redirect($sales_link->[0] . $agentnum) %> +% my $url = 'agent_pkg_class.html?' . $cgi->query_string; +<% $cgi->redirect($url) %> % } else { <& elements/commission.html, 'title' => $title, diff --git a/httemplate/search/elements/cust_pay_or_refund.html b/httemplate/search/elements/cust_pay_or_refund.html index 697cf844b..7d7fb73e9 100755 --- a/httemplate/search/elements/cust_pay_or_refund.html +++ b/httemplate/search/elements/cust_pay_or_refund.html @@ -58,12 +58,12 @@ Examples: 'group_column' => 'payby', 'group_label' => 'payby_name', - 'subtotal' => { $opt{name_verb} => "sum($amount_field)" }, + 'subtotal' => { $opt{amount_field} => "sum($amount_field)" }, 'subtotal_row' => [ 'Subtotal', sub { sprintf($money, $_[0]->$amount_field) }, ], 'total_row' => [ '<B>Total</B>', - sub { sprintf("<B>$money</B>", $_[0]->$amount_field) }, + sub { warn Dumper @_; sprintf("<B>$money</B>", $_[0]->$amount_field) }, ], 'show_combined' => 1, &> diff --git a/httemplate/search/sales_commission.html b/httemplate/search/sales_commission.html index 68e030dd2..340195474 100644 --- a/httemplate/search/sales_commission.html +++ b/httemplate/search/sales_commission.html @@ -1,5 +1,6 @@ % if ( $salesnum ) { -<% $cgi->redirect($sales_link->[0] . $salesnum) %> +% my $url = 'sales_pkg_class.html?' . $cgi->query_string; +<% $cgi->redirect($url) %> % } else { <& elements/commission.html, 'title' => $title, diff --git a/httemplate/view/cust_bill.cgi b/httemplate/view/cust_bill.cgi index d73edbd79..cf0c3190a 100755 --- a/httemplate/view/cust_bill.cgi +++ b/httemplate/view/cust_bill.cgi @@ -110,21 +110,25 @@ function areyousure(href, message) { % } -% if ( $conf->exists('invoice_latex') ) { +% my $br = 0; +% if ( $conf->exists('invoice_latex') ) { <A HREF="<% $p %>view/cust_bill-pdf.cgi?<% $link %>"><% mt('View typeset invoice PDF') |h %></A> - <BR><BR> + +% $br++; % } -% my $br = 0; -% if ( $cust_bill->num_cust_event ) { $br++; -<A HREF="<%$p%>search/cust_event.html?invnum=<% $cust_bill->invnum %>">( <% mt('View invoice events') |h %> )</A> +% if ( $cust_bill->num_cust_event ) { +<% $br ? '|' : '' %> +<A HREF="<%$p%>search/cust_event.html?invnum=<% $cust_bill->invnum %>"><% mt('View invoice events') |h %></A> +% $br++; % } % my @modes = grep {! $_->disabled} % $cust_bill->cust_main->agent->invoice_modes; -% if ( @modes ) { -( <% mt('View as:') %> +% if ( @modes || $include_statement_template ) { +<% $br ? '|' : '' %> +<% mt('View as:') %> <FORM STYLE="display:inline" ACTION="<% $cgi->url %>" METHOD="GET"> <INPUT NAME="invnum" VALUE="<% $invnum %>" TYPE="hidden"> <& /elements/select-table.html, @@ -135,16 +139,18 @@ function areyousure(href, message) { name_col => 'modename', onchange => 'change_invoice_mode', empty_label => '(default)', -&> ) + $include_statement_template ? ( + 'post_options' => [ 'statement', '(statement)' ] + ) : () +&> <SCRIPT TYPE="text/javascript"> function change_invoice_mode(obj) { obj.form.submit(); } </SCRIPT> -% $br++; % } -<% $br ? '<BR><BR>' : '' %> +<BR><BR> % if ( $conf->exists('invoice_html') && ! $cgi->param('plaintext') ) { <% join('', $cust_bill->print_html(\%opt) ) %> @@ -162,7 +168,7 @@ die "access denied" my $conf = FS::Conf->new; -my( $invnum, $mode, $template, $notice_name ); +my( $invnum, $mode, $template, $notice_name, $no_coupon ); my($query) = $cgi->keywords; if ( $query =~ /^((.+)-)?(\d+)$/ ) { $template = $2; @@ -175,6 +181,15 @@ if ( $query =~ /^((.+)-)?(\d+)$/ ) { $mode = $cgi->param('mode'); } +if ($mode eq 'statement') { + $mode = undef; + $template = 'statement'; + $notice_name = 'Statement'; + $no_coupon = 1; +} + +my $include_statement_template = $conf->config('payment_receipt_statement_mode') ? 0 : 1; + my %opt = ( 'unsquelch_cdr' => $conf->exists('voip-cdr_email'), 'template' => $template, @@ -208,5 +223,6 @@ my $link = "invnum=$invnum"; $link .= ';mode=' . $mode if $mode; $link .= ';template='. uri_escape($template) if $template; $link .= ';notice_name='. $notice_name if $notice_name; +$link .= ';no_coupon=1' if $no_coupon; </%init> diff --git a/httemplate/view/elements/cust_bill-typeset b/httemplate/view/elements/cust_bill-typeset index 778e538d1..ab5d298f0 100644 --- a/httemplate/view/elements/cust_bill-typeset +++ b/httemplate/view/elements/cust_bill-typeset @@ -6,7 +6,7 @@ die "access denied" my $type = shift; -my( $invnum, $mode, $template, $notice_name ); +my( $invnum, $mode, $template, $notice_name, $no_coupon ); my($query) = $cgi->keywords; if ( $query =~ /^((.+)-)?(\d+)(.pdf)?$/ ) { #probably not necessary anymore? $template = $2; @@ -18,6 +18,7 @@ if ( $query =~ /^((.+)-)?(\d+)(.pdf)?$/ ) { #probably not necessary anymore? $template = $cgi->param('template'); $notice_name = $cgi->param('notice_name'); $mode = $cgi->param('mode'); + $no_coupon = $cgi->param('no_coupon'); } my $conf = new FS::Conf; @@ -26,6 +27,7 @@ my %opt = ( 'unsquelch_cdr' => $conf->exists('voip-cdr_email'), 'template' => $template, 'notice_name' => $notice_name, + 'no_coupon' => $no_coupon, ); my $cust_bill = qsearchs({ |