diff options
Diffstat (limited to 'httemplate')
| -rw-r--r-- | httemplate/elements/mac_addr.html | 53 | ||||
| -rwxr-xr-x | httemplate/search/elements/cust_pay_or_refund.html | 22 | ||||
| -rw-r--r-- | httemplate/view/cust_main/packages/package.html | 9 | ||||
| -rw-r--r-- | httemplate/view/elements/svc_Common.html | 7 |
4 files changed, 77 insertions, 14 deletions
diff --git a/httemplate/elements/mac_addr.html b/httemplate/elements/mac_addr.html new file mode 100644 index 000000000..1d867f504 --- /dev/null +++ b/httemplate/elements/mac_addr.html @@ -0,0 +1,53 @@ +% if (!$init) { +% if ($clipboard_hack) { +<& init_overlib.html &> +<script> +<&| /elements/onload.js &> + var transform_text = function(str) { + var regexp = new RegExp('.*(..):(..):(..):(..):(..):(..).*'); + return str.replace(regexp, '$1$2$3$4$5$6'); + } + var span_onclick = function() { + var input = document.createElement('INPUT'); + // IE8 doesn't support textContent + var str = this.textContent || this.innerText || ''; + input.value = transform_text(str); + input.style.position = 'absolute'; + input.style.top = '0px'; + input.style.left = '0px'; + input.onblur = function() { input.parentNode.removeChild(input) } + this.appendChild(input); + input.select(); + } + // set this on any ".mac_addr" object in the doc + + // IE8 doesn't support getElementsByClassName + var els = document.getElementsByTagName('span'); + for (var i = 0; i < els.length; i++) { + if (els[i].className = 'mac_addr') { + els[i].id = 'span_mac_addr' + i; + els[i].onclick = span_onclick; + } + } +</&> +</SCRIPT> +<style type="text/css"> +.mac_addr { + border-bottom: 1px dotted blue; + color: blue; + position: relative; +} +</style> +% } # if $clipboard_hack +% $init++; +% } +%# the only part to be included in every instance +<SPAN CLASS="mac_addr"><% $value |h %></SPAN> +<%shared> +my $init = 0; +</%shared> +<%init> +my $clipboard_hack = + $FS::CurrentUser::CurrentUser->option('enable_mask_clipboard_hack'); +my $value = shift; # no other params +</%init> diff --git a/httemplate/search/elements/cust_pay_or_refund.html b/httemplate/search/elements/cust_pay_or_refund.html index 8aece0cc2..b5172fb36 100755 --- a/httemplate/search/elements/cust_pay_or_refund.html +++ b/httemplate/search/elements/cust_pay_or_refund.html @@ -239,14 +239,14 @@ if ( $cgi->param('magic') ) { if ( $cgi->param('magic') eq '_date' ) { if ( $cgi->param('agentnum') && $cgi->param('agentnum') =~ /^(\d+)$/ ) { - push @search, "agentnum = $1"; # $search{'agentnum'} = $1; + push @search, "cust_main.agentnum = $1"; # $search{'agentnum'} = $1; my $agent = qsearchs('agent', { 'agentnum' => $1 } ); die "unknown agentnum $1" unless $agent; $title = $agent->agent. " $title"; } if ( $cgi->param('refnum') && $cgi->param('refnum') =~ /^(\d+)$/ ) { - push @search, "refnum = $1"; + push @search, "cust_main.refnum = $1"; my $part_referral = qsearchs('part_referral', { 'refnum' => $1 } ); die "unknown refnum $1" unless $part_referral; $title = $part_referral->referral. " $title"; @@ -262,7 +262,7 @@ if ( $cgi->param('magic') ) { } if ( $cgi->param('custnum') =~ /^(\d+)$/ ) { - push @search, "custnum = $1"; + push @search, "$table.custnum = $1"; } if ( $cgi->param('payby') ) { @@ -421,22 +421,22 @@ if ( $cgi->param('magic') ) { #for cust_pay_pending... statusNOT=done if ( $cgi->param('statusNOT') =~ /^(\w+)$/ ) { - push @search, "status != '$1'"; + push @search, "$table.status != '$1'"; } my($beginning, $ending) = FS::UI::Web::parse_beginning_ending($cgi); - push @search, "_date >= $beginning ", - "_date <= $ending"; + push @search, "$table._date >= $beginning ", + "$table._date <= $ending"; if ( $table eq 'cust_pay_void' ) { my($v_beginning, $v_ending) = FS::UI::Web::parse_beginning_ending($cgi, 'void'); - push @search, "void_date >= $v_beginning ", - "void_date <= $v_ending"; + push @search, "$table.void_date >= $v_beginning ", + "$table.void_date <= $v_ending"; } - push @search, FS::UI::Web::parse_lt_gt($cgi, $amount_field ); + push @search, FS::UI::Web::parse_lt_gt($cgi, "$table.$amount_field" ); $orderby = '_date'; @@ -517,7 +517,7 @@ if ( $cgi->param('magic') ) { my $search = ' WHERE '. join(' AND ', @search); - $count_query = "SELECT COUNT(*), SUM($amount_field) "; + $count_query = "SELECT COUNT(*), SUM($table.$amount_field) "; $count_query .= ', SUM(' . "FS::$table"->unapplied_sql . ') ' if $unapplied; $count_query .= "FROM $table $addl_from". @@ -545,7 +545,7 @@ if ( $cgi->param('magic') ) { $cgi->param('payby') =~ /^(\w+)$/ or die "illegal payby"; my $payby = $1; - $count_query = "SELECT COUNT(*), SUM($amount_field) FROM $table". + $count_query = "SELECT COUNT(*), SUM($table.$amount_field) FROM $table". " WHERE payinfo = '$payinfo' AND payby = '$payby'". " AND ". $curuser->agentnums_sql; @count_addl = ( '$%.2f total '.$opt{name_verb} ); diff --git a/httemplate/view/cust_main/packages/package.html b/httemplate/view/cust_main/packages/package.html index cf5c98a1c..e47d891f5 100644 --- a/httemplate/view/cust_main/packages/package.html +++ b/httemplate/view/cust_main/packages/package.html @@ -52,8 +52,15 @@ % # One-time charge. Nothing you can do with this, unless: % if ( $curuser->access_right('Modify one-time charge') ) { ( <%onetime_change_link($cust_pkg)%> ) - <BR> % } +% # also, you can discount it +% if ( $curuser->access_right('Discount customer package') +% && ! scalar($cust_pkg->cust_pkg_discount_active) +% && ! scalar($cust_pkg->part_pkg->part_pkg_discount) +% ) { + ( <%pkg_discount_link($cust_pkg)%> ) +% } + <BR> % % } elsif ( !$cust_pkg->get('cancel') and !$opt{no_links} ) { % diff --git a/httemplate/view/elements/svc_Common.html b/httemplate/view/elements/svc_Common.html index 6c5c90201..b7f7a2c63 100644 --- a/httemplate/view/elements/svc_Common.html +++ b/httemplate/view/elements/svc_Common.html @@ -222,6 +222,7 @@ my $format_field = sub { $field = $f; $type = 'text'; } + warn "$field\t$type\t$value\n"; my $columndef = $part_svc->part_svc_column($field); # skip fields that are fixed and empty @@ -273,8 +274,10 @@ my $format_field = sub { $value = time2str("$date_format %H:%M",$value) } elsif ( $type eq 'checkbox' ) { $value = $value eq 'Y' ? emt('Yes') : emt('No'); - } elsif ( $type eq 'mac_addr' and $value =~ /\w/) { - $value .= ' ('. (Net::MAC::Vendor::lookup($value))->[0]. ')' + } elsif ( $type =~ /(input-)?mac_addr/ and $value =~ /\w/) { + my $vendor = Net::MAC::Vendor::lookup($value)->[0]; + $value .= " ($vendor)" if $vendor; + $value = $m->scomp('/elements/mac_addr.html', $value); } # 'link' option |
