[freeside-commits] freeside/httemplate/search/elements search.html, 1.42, 1.43 cust_pay_or_refund.html, 1.3, 1.4
Ivan,,,
ivan at wavetail.420.am
Wed Feb 18 23:57:53 PST 2009
Update of /home/cvs/cvsroot/freeside/httemplate/search/elements
In directory wavetail.420.am:/tmp/cvs-serv31645/httemplate/search/elements
Modified Files:
search.html cust_pay_or_refund.html
Log Message:
redirect pending payment report back to customer when the pending payment is resolved, RT#4837, and fix otaker fallout from the pending stuff, RT#4866
Index: search.html
===================================================================
RCS file: /home/cvs/cvsroot/freeside/httemplate/search/elements/search.html,v
retrieving revision 1.42
retrieving revision 1.43
diff -u -d -r1.42 -r1.43
--- search.html 8 Feb 2009 02:05:25 -0000 1.42
+++ search.html 19 Feb 2009 07:57:51 -0000 1.43
@@ -60,7 +60,15 @@
#redirect if there's only one item...
# listref of URL base and column name (or method)
# or a coderef that returns the same
- 'redirect' =>
+ 'redirect' => sub { my( $record, $cgi ) = @_;
+ [ popurl(2).'view/item.html', 'primary_key' ];
+ },
+
+ #redirect if there's no items
+ # scalar URL or a coderef that returns a URL
+ 'redirect_empty' => sub { my( $cgi ) = @_;
+ popurl(2).'view/item.html';
+ },
###
# optional
@@ -277,9 +285,18 @@
% && $type ne 'html-print'
% ) {
% my $redirect = $opt{'redirect'};
-% $redirect = &{$redirect}($rows->[0]) if ref($redirect) eq 'CODE';
+% $redirect = &{$redirect}($rows->[0], $cgi) if ref($redirect) eq 'CODE';
% my( $url, $method ) = @$redirect;
% redirect( $url. $rows->[0]->$method() );
+% } elsif ( exists($opt{'redirect_empty'}) && ! scalar(@$rows) && $total == 0
+% && $type ne 'html-print'
+% && $opt{'redirect_empty'}
+% && ( ref($opt{'redirect_empty'}) ne 'CODE'
+% || &{$opt{'redirect_empty'}}($cgi) )
+% ) {
+% my $redirect = $opt{'redirect_empty'};
+% $redirect = &{$redirect}($cgi) if ref($redirect) eq 'CODE';
+% redirect( $redirect );
% } else {
% if ( $opt{'name_singular'} ) {
% $opt{'name'} = PL($opt{'name_singular'});
Index: cust_pay_or_refund.html
===================================================================
RCS file: /home/cvs/cvsroot/freeside/httemplate/search/elements/cust_pay_or_refund.html,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- cust_pay_or_refund.html 16 Feb 2009 23:54:38 -0000 1.3
+++ cust_pay_or_refund.html 19 Feb 2009 07:57:51 -0000 1.4
@@ -3,45 +3,47 @@
Examples:
include( 'elements/cust_pay_or_refund.html',
- 'thing' => 'pay',
- 'amount_field' => 'paid',
- 'name_singular' => 'payment',
- 'name_verb' => 'paid',
+ 'thing' => 'pay',
+ 'amount_field' => 'paid',
+ 'name_singular' => 'payment',
+ 'name_verb' => 'paid',
)
include( 'elements/cust_pay_or_refund.html',
- 'thing' => 'refund',
- 'amount_field' => 'refund',
- 'name_singular' => 'refund',
- 'name_verb' => 'refunded',
+ 'thing' => 'refund',
+ 'amount_field' => 'refund',
+ 'name_singular' => 'refund',
+ 'name_verb' => 'refunded',
)
include( 'elements/cust_pay_or_refund.html',
- 'thing' => 'pay_pending',
- 'amount_field' => 'paid',
- 'name_singular' => 'pending payment',
- 'name_verb' => 'pending',
- 'disable_link' => 1,
- 'disable_by' => 1,
- 'html_init' => '',
- 'addl_header' => [],
- 'addl_fields' => [],
+ 'thing' => 'pay_pending',
+ 'amount_field' => 'paid',
+ 'name_singular' => 'pending payment',
+ 'name_verb' => 'pending',
+ 'disable_link' => 1,
+ 'disable_by' => 1,
+ 'html_init' => '',
+ 'addl_header' => [],
+ 'addl_fields' => [],
+ 'redirect_empty' => $redirect_empty,
)
</%doc>
<% include( 'search.html',
- 'title' => $title,
- 'name_singular' => $name_singular,
- 'query' => $sql_query,
- 'count_query' => $count_query,
- 'count_addl' => [ '$%.2f total '.$opt{name_verb}, ],
- 'header' => [ "\u$name_singular",
- 'Amount',
- 'Date',
- @header,
- FS::UI::Web::cust_header(),
- ],
- 'fields' => [
+ 'title' => $title,
+ 'name_singular' => $name_singular,
+ 'query' => $sql_query,
+ 'count_query' => $count_query,
+ 'count_addl' => [ '$%.2f total '.$opt{name_verb}, ],
+ 'redirect_empty' => $opt{'redirect_empty'},
+ 'header' => [ "\u$name_singular",
+ 'Amount',
+ 'Date',
+ @header,
+ FS::UI::Web::cust_header(),
+ ],
+ 'fields' => [
'payby_payinfo_pretty',
sub { sprintf('$%.2f', shift->$amount_field() ) },
sub { time2str('%b %d %Y', shift->_date ) },
@@ -96,13 +98,11 @@
my @fields = ();
unless ( $opt{'disable_by'} ) {
push @header, 'By';
- push @fields, sub {
- sub { my $o = shift->otaker;
- $o = 'auto billing' if $o eq 'fs_daily';
- $o = 'customer self-service' if $o eq 'fs_selfservice';
- $o;
- },
- };
+ push @fields, sub { my $o = shift->otaker;
+ $o = 'auto billing' if $o eq 'fs_daily';
+ $o = 'customer self-service' if $o eq 'fs_selfservice';
+ $o;
+ };
}
push @header, @{ $opt{'addl_header'} }
More information about the freeside-commits
mailing list