diff options
author | Ivan Kohler <ivan@freeside.biz> | 2015-11-07 12:32:06 -0800 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2015-11-07 12:32:06 -0800 |
commit | b3c70d709fd646ef355d49a4e87151c99ee413e9 (patch) | |
tree | 93dc04bf9042e8e007aa1d8f61d5746b390c18b4 /httemplate | |
parent | 80f265ee8f2603f0e3f7f5ad6c6c0cf704f98cb8 (diff) | |
parent | 59285fa7c07ac86914f3998f2635caf067c07506 (diff) |
Merge branch 'master' of git.freeside.biz:/home/git/freeside
Diffstat (limited to 'httemplate')
-rw-r--r-- | httemplate/browse/reason_type.html | 89 | ||||
-rw-r--r-- | httemplate/elements/menu.html | 19 | ||||
-rwxr-xr-x | httemplate/elements/tr-select-reason.html | 19 | ||||
-rwxr-xr-x | httemplate/misc/process/void-cust_bill.html | 2 | ||||
-rwxr-xr-x | httemplate/misc/void-cust_bill.cgi | 46 | ||||
-rwxr-xr-x[-rw-r--r--] | httemplate/misc/void-cust_bill.html | 9 | ||||
-rwxr-xr-x | httemplate/misc/void-cust_credit.html (renamed from httemplate/misc/void-cust_credit.cgi) | 2 | ||||
-rwxr-xr-x | httemplate/misc/void-cust_pay.html (renamed from httemplate/misc/void-cust_pay.cgi) | 4 | ||||
-rwxr-xr-x | httemplate/view/cust_bill.cgi | 2 | ||||
-rw-r--r-- | httemplate/view/cust_main/payment_history/credit.html | 2 | ||||
-rw-r--r-- | httemplate/view/cust_main/payment_history/invoice.html | 2 | ||||
-rw-r--r-- | httemplate/view/cust_main/payment_history/payment.html | 2 |
12 files changed, 78 insertions, 120 deletions
diff --git a/httemplate/browse/reason_type.html b/httemplate/browse/reason_type.html index 6b444bad1..0cb6e7a39 100644 --- a/httemplate/browse/reason_type.html +++ b/httemplate/browse/reason_type.html @@ -1,49 +1,62 @@ -<% include( 'elements/browse.html', - 'title' => ucfirst($classname) . " Reason Types", - 'menubar' => [ ucfirst($classname) . " reasons" => - $p.'browse/reason.html?class=' . $class, - ], - 'html_init' => $html_init, - 'name' => $classname . " reason types", - 'query' => { 'table' => 'reason_type', - 'hashref' => {}, - 'extra_sql' => $where_clause . - 'ORDER BY typenum', - }, - 'count_query' => $count_query, - 'header' => [ '#', - ucfirst($classname) . ' Reason Type', - ucfirst($classname) . ' Reasons', - ], - 'fields' => [ 'typenum', - 'type', - $reasons_sub, - ], - 'links' => [ $link, - $link, - '', - ], - ) -%> +<& elements/browse.html, + 'title' => ucwords($classname) . " Reasons", + 'html_init' => $html_init, + 'name' => $classname . " reason types", + 'query' => { 'table' => 'reason_type', + 'hashref' => {}, + 'extra_sql' => $where_clause . + 'ORDER BY typenum', + }, + 'count_query' => $count_query, + 'header' => [ '#', + ucwords($classname) . ' Reason Type', + ucwords($classname) . ' Reasons', + ], + 'fields' => [ 'typenum', + 'type', + $reasons_sub, + ], + 'links' => [ $link, + $link, + '', + ], + 'disable_total' => 1, +&> <%init> +sub ucwords { + join(' ', map ucfirst($_), split(/ /, shift)); +} + die "access denied" unless $FS::CurrentUser::CurrentUser->access_right('Configuration'); $cgi->param('class') =~ /^(\w)$/ or die "illegal class"; my $class=$1; -my $classname = $FS::reason_type::class_name{$class}; +my $classname = ucfirst($FS::reason_type::class_name{$class}); + +my $html_init = 'Reasons: ' . + include('/elements/menubar.html', + map { + ucfirst($FS::reason_type::class_name{$_}), + $p.'browse/reason_type.html?class=' . $_ + } keys (%FS::reason_type::class_name) + ); -my $html_init = ucfirst($classname) . - " reason types allow groups of $classname reasons for reporting purposes." . - qq!<BR><BR><A HREF="${p}edit/reason_type.html?class=$class"><I>Add a ! . - $classname . " reason type</I></A><BR><BR>"; +$html_init .= '<BR><P>' . + $classname . ' reasons ' . + $FS::reason_type::class_purpose{$class} . + '. Reason types allow reasons to be grouped for reporting purposes.' . + qq!<BR><BR><A HREF="${p}edit/reason_type.html?class=$class"><I>! . + ($classname =~ /^[aeiou]/i ? 'Add an ' : 'Add a ') . + lc($classname) . ' reason type</I></A>'. + '</P>'; my $reasons_sub = sub { my $reason_type = shift; - [ map { + [ ( map { [ { 'data' => $_->reason, @@ -53,7 +66,15 @@ my $reasons_sub = sub { }, ]; } - $reason_type->enabled_reasons, + $reason_type->enabled_reasons ), + [ + { + 'data' => '(add)', + 'align' => 'left', + 'link' => $p. "edit/reason.html?class=$class", + 'data_style' => 'i', + } + ] ]; diff --git a/httemplate/elements/menu.html b/httemplate/elements/menu.html index 81c121259..fa44e86e7 100644 --- a/httemplate/elements/menu.html +++ b/httemplate/elements/menu.html @@ -621,10 +621,8 @@ $config_export_svc{'Hardware types'} = [ $fsurl.'browse/hardware_class.html', 'S if $curuser->access_right('Configuration'); tie my %config_pkg_reason, 'Tie::IxHash', - 'Cancel reasons' => [ $fsurl.'browse/reason.html?class=C', 'Cancel reasons explain why a service was cancelled.' ], - 'Cancel reason types' => [ $fsurl.'browse/reason_type.html?class=C', 'Cancel reason types define groups of reasons.' ], - 'Suspend reasons' => [ $fsurl.'browse/reason.html?class=S', 'Suspend reasons explain why a service was suspended.' ], - 'Suspend reason types' => [ $fsurl.'browse/reason_type.html?class=S', 'Suspend reason types define groups of reasons.' ], + 'Cancel reasons' => [ $fsurl.'browse/reason_type.html?class=C', 'Cancel reasons explain why a service was cancelled.' ], + 'Suspend reasons' => [ $fsurl.'browse/reason_type.html?class=S', 'Suspend reasons explain why a service was suspended.' ], ; tie my %config_pkg, 'Tie::IxHash', (); @@ -715,16 +713,13 @@ if ( $curuser->access_right('Configuration') ) { } $config_billing{'separator4'} = ''; #its a separator! - $config_billing{'Credit reasons'} = [ $fsurl.'browse/reason.html?class=R', 'Credit reasons explain why a credit was issued.' ]; - $config_billing{'Credit reason types'} = [ $fsurl.'browse/reason_type.html?class=R', 'Credit reason types define groups of reasons.' ]; + $config_billing{'Credit reasons'} = [ $fsurl.'browse/reason_type.html?class=R', 'Credit reasons explain why a credit was issued.' ]; - $config_billing{'separator5'} = ''; #its a separator! - $config_billing{'Refund reasons'} = [ $fsurl.'browse/reason.html?class=F', 'Refund reasons explain why a refund was issued.' ]; - $config_billing{'Refund reason types'} = [ $fsurl.'browse/reason_type.html?class=F', 'Refund reason types define groups of reasons.' ]; + $config_billing{'Refund reasons'} = [ $fsurl.'browse/reason_type.html?class=F', 'Refund reasons explain why a refund was issued.' ]; - $config_billing{'separator6'} = ''; #its a separator! - $config_billing{'Void reasons'} = [ $fsurl.'browse/reason.html?class=X', 'Void reasons explain why a void was issued.' ]; - $config_billing{'Void reason types'} = [ $fsurl.'browse/reason_type.html?class=X', 'Void reason types define groups of reasons.' ]; + $config_billing{'Invoice void reasons'} = [ $fsurl.'browse/reason_type.html?class=I', 'Invoice void reasons explain why an invoice was voided.' ]; + $config_billing{'Payment void reasons'} = [ $fsurl.'browse/reason_type.html?class=P', 'Payment void reasons explain why a payment was voided.' ]; + $config_billing{'Credit void reasons'} = [ $fsurl.'browse/reason_type.html?class=X', 'Credit void reasons explain why a credit was voided.' ]; } #XXX also to be unified diff --git a/httemplate/elements/tr-select-reason.html b/httemplate/elements/tr-select-reason.html index 37a34baba..93949ba8c 100755 --- a/httemplate/elements/tr-select-reason.html +++ b/httemplate/elements/tr-select-reason.html @@ -6,8 +6,7 @@ Example: #required 'field' => 'reasonnum', - 'reason_class' => 'C', # currently 'C', 'R', 'F', 'S' or 'X' - # for cancel, credit, refund, suspend or void credit + 'reason_class' => 'C', # one of those in %FS::reason_type::class_name #recommended 'cgi' => $cgi, #easiest way for things to be properly "sticky" on errors @@ -189,20 +188,8 @@ if ( $opt{'cgi'} ) { my $id = $opt{'id'} || $name; $id =~ s/\./_/g; # for edit/part_event -my $add_access_right; -if ($class eq 'C') { - $add_access_right = 'Add on-the-fly cancel reason'; -} elsif ($class eq 'S') { - $add_access_right = 'Add on-the-fly suspend reason'; -} elsif ($class eq 'R') { - $add_access_right = 'Add on-the-fly credit reason'; -} elsif ($class eq 'F') { - $add_access_right = 'Add on-the-fly refund reason'; -} elsif ($class eq 'X') { - $add_access_right = 'Add on-the-fly void reason'; -} else { - die "illegal class: $class"; -} +my $add_access_right = $FS::reason_type::class_add_access_right{$class} + or die "unknown class: $class"; my @reasons = qsearch({ 'table' => 'reason', diff --git a/httemplate/misc/process/void-cust_bill.html b/httemplate/misc/process/void-cust_bill.html index c0f432b70..7773b0ba9 100755 --- a/httemplate/misc/process/void-cust_bill.html +++ b/httemplate/misc/process/void-cust_bill.html @@ -1,6 +1,6 @@ %if ( $error ) { % $cgi->param('error', $error); -<% $cgi->redirect(popurl(2). "void-cust_bill.cgi?". $cgi->query_string ) %> +<% $cgi->redirect(popurl(2). "void-cust_bill.html?". $cgi->query_string ) %> %} else { <& /elements/header-popup.html, 'Invoice voided' &> <SCRIPT TYPE="text/javascript"> diff --git a/httemplate/misc/void-cust_bill.cgi b/httemplate/misc/void-cust_bill.cgi deleted file mode 100755 index 213cf9566..000000000 --- a/httemplate/misc/void-cust_bill.cgi +++ /dev/null @@ -1,46 +0,0 @@ -<& /elements/header-popup.html, mt('Void invoice') &> - -<% include('/elements/error.html') %> - -<% emt('Are you sure you want to void this invoice?') %> -<BR><BR> - -<% emt("Invoice #[_1] ([_2])",$cust_bill->display_invnum, $money_char. $cust_bill->owed) %> -<BR><BR> - -<FORM METHOD="POST" ACTION="process/void-cust_bill.html"> -<INPUT TYPE="hidden" NAME="invnum" VALUE="<% $invnum %>"> - -<% ntable("#cccccc", 2) %> -<& /elements/tr-select-reason.html, - 'field' => 'reasonnum', - 'reason_class' => 'X', - 'cgi' => $cgi -&> - -</TABLE> - -<BR> -<CENTER> -<BUTTON TYPE="submit">Yes, void invoice</BUTTON> \ -<BUTTON TYPE="button" onClick="parent.cClick();">No, do not void invoice</BUTTON> -</CENTER> - -</FORM> -</BODY> -</HTML> -<%init> - -die "access denied" - unless $FS::CurrentUser::CurrentUser->access_right('Void invoices'); - -my $conf = new FS::Conf; -my $money_char = $conf->config('money_char') || '$'; - -#untaint invnum -$cgi->param('invnum') =~ /^(\d+)$/ || die "Illegal invnum"; -my $invnum = $1; - -my $cust_bill = qsearchs('cust_bill',{'invnum'=>$invnum}); - -</%init> diff --git a/httemplate/misc/void-cust_bill.html b/httemplate/misc/void-cust_bill.html index 39b071229..e4e4705d7 100644..100755 --- a/httemplate/misc/void-cust_bill.html +++ b/httemplate/misc/void-cust_bill.html @@ -12,10 +12,11 @@ <INPUT TYPE="hidden" NAME="invnum" VALUE="<% $invnum %>"> <% ntable("#cccccc", 2) %> -<TR> - <TD ALIGN="right">Reason</TD> - <TD><INPUT TYPE="text" NAME="reason" VALUE="<% scalar($cgi->param('reason')) |h %>"></TD> -</TR> +<& /elements/tr-select-reason.html, + 'field' => 'reasonnum', + 'reason_class' => 'I', + 'cgi' => $cgi +&> </TABLE> diff --git a/httemplate/misc/void-cust_credit.cgi b/httemplate/misc/void-cust_credit.html index f352e6090..1e71f0030 100755 --- a/httemplate/misc/void-cust_credit.cgi +++ b/httemplate/misc/void-cust_credit.html @@ -12,7 +12,7 @@ <P ALIGN="center"><B><% mt('Void this credit?') |h %></B> -<FORM action="<% ${p} %>misc/void-cust_credit.cgi"> +<FORM action="<% ${p} %>misc/void-cust_credit.html"> <INPUT TYPE="hidden" NAME="crednum" VALUE="<% $crednum %>"> <TABLE BGCOLOR="#cccccc" BORDER="0" CELLSPACING="2" STYLE="margin-left:auto; margin-right:auto"> diff --git a/httemplate/misc/void-cust_pay.cgi b/httemplate/misc/void-cust_pay.html index 784bb9a94..205d93aa3 100755 --- a/httemplate/misc/void-cust_pay.cgi +++ b/httemplate/misc/void-cust_pay.html @@ -12,13 +12,13 @@ <P ALIGN="center"><B><% mt('Void this payment?') |h %></B> -<FORM action="<% ${p} %>misc/void-cust_pay.cgi"> +<FORM action="<% ${p} %>misc/void-cust_pay.html"> <INPUT TYPE="hidden" NAME="paynum" VALUE="<% $paynum %>"> <TABLE BGCOLOR="#cccccc" BORDER="0" CELLSPACING="2" STYLE="margin-left:auto; margin-right:auto"> <& /elements/tr-select-reason.html, 'field' => 'reasonnum', - 'reason_class' => 'X', + 'reason_class' => 'P', 'cgi' => $cgi &> </TABLE> diff --git a/httemplate/view/cust_bill.cgi b/httemplate/view/cust_bill.cgi index 6d139747a..d73edbd79 100755 --- a/httemplate/view/cust_bill.cgi +++ b/httemplate/view/cust_bill.cgi @@ -17,7 +17,7 @@ function areyousure(href, message) { <& /elements/popup_link.html, 'label' => emt('Void this invoice'), 'actionlabel' => emt('Void this invoice'), - 'action' => $p.'misc/void-cust_bill.cgi?invnum='.$invnum, + 'action' => $p.'misc/void-cust_bill.html?invnum='.$invnum, &> % } % if ( $can_void and $can_delete ) { diff --git a/httemplate/view/cust_main/payment_history/credit.html b/httemplate/view/cust_main/payment_history/credit.html index 81be1cd7a..db2e5e582 100644 --- a/httemplate/view/cust_main/payment_history/credit.html +++ b/httemplate/view/cust_main/payment_history/credit.html @@ -130,7 +130,7 @@ my $void = ''; $void = ' ('. include( '/elements/popup_link.html', 'label' => emt('void'), - 'action' => "${p}misc/void-cust_credit.cgi?". + 'action' => "${p}misc/void-cust_credit.html?". $cust_credit->crednum, 'actionlabel' => emt('Void credit'), ). diff --git a/httemplate/view/cust_main/payment_history/invoice.html b/httemplate/view/cust_main/payment_history/invoice.html index ca59c15fd..613936e00 100644 --- a/httemplate/view/cust_main/payment_history/invoice.html +++ b/httemplate/view/cust_main/payment_history/invoice.html @@ -27,7 +27,7 @@ if ( $cust_bill->closed !~ /^Y/i && $opt{'Void invoices'} ) { $void = ' ('. include('/elements/popup_link.html', 'label' => emt('void'), - 'action' => "${p}misc/void-cust_bill.cgi?;invnum=". + 'action' => "${p}misc/void-cust_bill.html?;invnum=". $cust_bill->invnum, 'actionlabel' => emt('Void Invoice'), ). diff --git a/httemplate/view/cust_main/payment_history/payment.html b/httemplate/view/cust_main/payment_history/payment.html index 77013140e..6c93f7b27 100644 --- a/httemplate/view/cust_main/payment_history/payment.html +++ b/httemplate/view/cust_main/payment_history/payment.html @@ -186,7 +186,7 @@ my $voidmsg = $cust_pay->payby =~ /^(CARD|CHEK|TOKN)$/ $void = ' ('. include( '/elements/popup_link.html', 'label' => emt('void'), - 'action' => "${p}misc/void-cust_pay.cgi?".$cust_pay->paynum, + 'action' => "${p}misc/void-cust_pay.html?".$cust_pay->paynum, 'actionlabel' => emt('Void payment'), ). ')' |