[freeside-commits] branch FREESIDE_3_BRANCH updated. 4bb41a18e2ad78c1422dca1298a6e6464c38f5fb

Ivan ivan at 420.am
Fri Apr 25 16:15:11 PDT 2014


The branch, FREESIDE_3_BRANCH has been updated
       via  4bb41a18e2ad78c1422dca1298a6e6464c38f5fb (commit)
      from  207978f5897048e616e2c49a6e11cf8af35b0444 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 4bb41a18e2ad78c1422dca1298a6e6464c38f5fb
Author: Ivan Kohler <ivan at freeside.biz>
Date:   Fri Apr 25 16:15:08 2014 -0700

    optimize package view with tons of packages, RT#28526

diff --git a/httemplate/elements/coord-links.html b/httemplate/elements/coord-links.html
index 4c263c6..c885ade 100644
--- a/httemplate/elements/coord-links.html
+++ b/httemplate/elements/coord-links.html
@@ -23,7 +23,17 @@
 
 <%init>
 
-my ($latitude, $longitude, $name, $agentnum) = @_;
+my %opt = ();
+my ($latitude, $longitude, $name, $agentnum);
+if ( ref($_[0]) ) {
+  %opt = %{ $_[0] };
+  $latitude  = $opt{latitude};
+  $longitude = $opt{longitude};
+  $name      = $opt{name};
+  $agentnum  = $opt{agentnum};
+} else {
+  ($latitude, $longitude, $name, $agentnum) = @_;
+}
 
 my $query = 'name='. uri_escape_utf8($name).
             ';lat='. $latitude.
@@ -35,12 +45,10 @@ $m->interp->apply_escapes($js_name, 'js_string');
 $js_name =~ s/^'//;
 $js_name =~ s/'$//;
 
-my @origin;
-my $origin;
 #for directions link
-if ( $agentnum =~ /^\d+$/ ) {
-  @origin = FS::Conf->new->config('company_address', $agentnum);
-  $origin = join (/,/, at origin);
-  $origin = uri_escape($origin);
-}
+my @origin = $opt{company_address}
+               ? @{ $opt{company_address} }
+               : FS::Conf->new->config('company_address', $agentnum);
+my $origin = uri_escape(join(',', @origin));
+
 </%init>
diff --git a/httemplate/view/cust_main/packages/location.html b/httemplate/view/cust_main/packages/location.html
index db67d45..871bfcb 100644
--- a/httemplate/view/cust_main/packages/location.html
+++ b/httemplate/view/cust_main/packages/location.html
@@ -3,7 +3,7 @@
 % {
 % # don't show the location
 % } else {
-%   if ( !$conf->exists('cust_pkg-group_by_location') ) {
+%   if ( !$opt{'cust_pkg-group_by_location'} ) {
 %     if ( $default ) {
         <DIV STYLE="font-style: italic; font-size: small">
 %     }
@@ -12,6 +12,7 @@
                                'double_space'    => '   ',
                                'escape_function' => \&encode_entities,
                                'countrydefault'  => $countrydefault,
+                               'cust_main'       => $opt{'cust_main'},
                              )
       %>
 
@@ -19,11 +20,13 @@
           <BR>
           <FONT SIZE=-1>
           <% $loc->latitude %>, <% $loc->longitude %>
-          <& /elements/coord-links.html,
-               $loc->latitude,
-               $loc->longitude,
-               $opt{'cust_main'}->name_short. ': '. $opt{'part_pkg'}->pkg,
-               $opt{'cust_main'}->agentnum,
+          <& /elements/coord-links.html, {
+               'latitude'        => $loc->latitude,
+               'longitude'       => $loc->longitude,
+               'name'            => $opt{'cust_main'}->name_short.
+                                      ': '. $opt{'part_pkg'}->pkg,
+               'company_address' => $opt{'company_address'},
+             }
           &>
           </FONT>
 %     }
@@ -32,7 +35,7 @@
          <FONT SIZE=-1>
          <% $loc->censustract %> (<% $loc->censusyear %> census)
          </FONT>
-%     } elsif ( $conf->exists('cust_main-require_censustract') ) {
+%     } elsif ( $opt{'cust_main-require_censustract'} ) {
           <BR>
           <FONT SIZE=-1 COLOR="#ee3300">
           <% emt('Census tract unknown') %>
@@ -64,7 +67,6 @@
 %   # preceding package.
 <%init>
 
-my $conf = new FS::Conf;
 my %opt = @_;
 
 my $cust_pkg       = $opt{'cust_pkg'};
diff --git a/httemplate/view/cust_main/packages/package.html b/httemplate/view/cust_main/packages/package.html
index 859a7f4..1209446 100644
--- a/httemplate/view/cust_main/packages/package.html
+++ b/httemplate/view/cust_main/packages/package.html
@@ -10,7 +10,7 @@
         %>
         <A NAME="cust_pkg<% $cust_pkg->pkgnum %>"
            ID  ="cust_pkg<% $cust_pkg->pkgnum %>"
-        ><% $curuser->option('show_pkgnum') ? $cust_pkg->pkgnum.': ' : '' %><B><% $part_pkg->pkg |h %></B></A>
+        ><% $opt{show_pkgnum} ? $cust_pkg->pkgnum.': ' : '' %><B><% $part_pkg->pkg |h %></B></A>
 %       my $custom_comment = $part_pkg->custom_comment();
         <% $custom_comment ? ' - ' : '' %>
         <% $custom_comment |h %>
@@ -72,10 +72,10 @@
               <% $br ? '<BR>' : '' %>
 %           } 
 
-%           if ( $cust_pkg->num_cust_event
-%                && (    $curuser->access_right('Billing event reports')
+%           if (    (    $curuser->access_right('Billing event reports')
 %                     || $curuser->access_right('View customer billing events')
 %                   )
+%                && $cust_pkg->num_cust_event
 %              ) {
               ( <%pkg_event_link($cust_pkg)%> )
 %           }
diff --git a/httemplate/view/cust_main/packages/section.html b/httemplate/view/cust_main/packages/section.html
index 152ccaa..a02bf59 100755
--- a/httemplate/view/cust_main/packages/section.html
+++ b/httemplate/view/cust_main/packages/section.html
@@ -79,6 +79,7 @@ my $countrydefault = scalar($conf->config('countrydefault')) || 'US';
 my %conf_opt = (
   #for package.html
   'invoice-unitprice'         => $conf->exists('invoice-unitprice'),
+  'show_pkgnum'               => $curuser->option('show_pkgnum'),
 
   #for services.html and status.html
   'cust_pkg-display_times'    => ($conf->exists('cust_pkg-display_times')
@@ -94,6 +95,10 @@ my %conf_opt = (
   'countrydefault'            => $countrydefault,
   'statedefault'              => ( scalar($conf->config('statedefault'))
                                   || ($countrydefault eq 'US' ? 'CA' : '') ),
+  'cust_pkg-group_by_location'=> $conf->exists('cust_pkg-group_by_location'),
+  'cust_main-require_censustract'=> $conf->exists('cust_main-require_censustract'),
+  'company_address'           => [ $conf->config('company_address', $opt{cust_main}->agentnum ) ],
+  
   #for services.html
   'svc_external-skip_manual'  => $conf->exists('svc_external-skip_manual'),
   'legacy_link'               => $conf->exists('legacy_link'),

-----------------------------------------------------------------------

Summary of changes:
 httemplate/elements/coord-links.html             |   24 ++++++++++++++-------
 httemplate/view/cust_main/packages/location.html |   18 +++++++++-------
 httemplate/view/cust_main/packages/package.html  |    6 ++--
 httemplate/view/cust_main/packages/section.html  |    5 ++++
 4 files changed, 34 insertions(+), 19 deletions(-)




More information about the freeside-commits mailing list