[freeside-commits] branch master updated. 06c85c354d546ca68320c8c2a4fb3dbc34750e0a

Ivan ivan at 420.am
Mon Nov 7 22:08:24 PST 2016


The branch, master has been updated
       via  06c85c354d546ca68320c8c2a4fb3dbc34750e0a (commit)
      from  eb0ec87d37ee1548e93e35e80dfad47f48cb7563 (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 06c85c354d546ca68320c8c2a4fb3dbc34750e0a
Author: Ivan Kohler <ivan at freeside.biz>
Date:   Mon Nov 7 22:08:24 2016 -0800

    customer header for any page!

diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm
index 31759ed..00042bd 100644
--- a/FS/FS/Conf.pm
+++ b/FS/FS/Conf.pm
@@ -5548,7 +5548,7 @@ and customer address. Include units.',
 
   {
     'key'         => 'ie-compatibility_mode',
-    'section'     => 'UI',
+    'section'     => 'deprecated',
     'description' => "Compatibility mode META tag for Internet Explorer, used on the customer view page.  Not necessary in normal operation unless custom content (notes, cust_main-custom_link) is included on customer view that is incompatibile with newer IE verisons.",
     'type'        => 'select',
     'select_enum' => [ '', '7', 'EmulateIE7', '8', 'EmulateIE8' ],
diff --git a/httemplate/elements/header-cust_main.html b/httemplate/elements/header-cust_main.html
new file mode 100644
index 0000000..ca0b522
--- /dev/null
+++ b/httemplate/elements/header-cust_main.html
@@ -0,0 +1,96 @@
+<%doc>
+
+Examples:
+
+  <& /elements/header-cust_main.html,
+       view      => 'Basics', #required
+       cust_main => $cust_main, # cust_main or custnum is required
+       custnum   => $custnum,   #
+  &>
+
+</%doc>
+<& /elements/header.html, {
+             'title' => $title,
+             'title_noescape' => $title_noescape,
+             'head'  => $head,
+             'nobr'  => 1,
+          }
+&>
+
+% my @part_tag = $cust_main->part_tag;
+% if ( $conf->config('cust_tag-location') eq 'top' && @part_tag ) {
+<TABLE STYLE="margin-bottom:8px" CELLSPACING=2>
+%   foreach my $part_tag ( @part_tag ) {
+<TR>
+  <TD>
+      <FONT SIZE="+1"
+            <% length($part_tag->tagcolor)
+                 ? 'STYLE="background-color:#'.$part_tag->tagcolor.'"'
+                 : ''
+      %>><% $part_tag->tagname.': '. $part_tag->tagdesc |h %></FONT>
+  </TD>
+</TR>
+%   }
+</TABLE>
+% }
+
+<& /view/cust_main/menu.html, cust_main => $cust_main, show => $opt{'view'} &>
+<BR>
+
+<DIV CLASS="fstabcontainer">
+
+<& /elements/init_overlib.html &>
+
+<SCRIPT TYPE="text/javascript">
+function areyousure(href, message) {
+  if (confirm(message) == true)
+    window.location.href = href;
+}
+function areyousure_popup(message, action, actionlabel) {
+  if (confirm(message) == true) {
+<% include('/elements/popup_link_onclick.html',
+     'js_action' => 'action',
+     'js_actionlabel' => 'actionlabel',
+   ) %>
+  }
+}
+</SCRIPT>
+
+<br>
+<%init>
+
+my $curuser = $FS::CurrentUser::CurrentUser;
+
+my $conf = new FS::Conf;
+
+my %opt = @_;
+
+my $cust_main = $opt{'cust_main'} || qsearchs( {
+  'table'     => 'cust_main',
+  'hashref'   => { 'custnum' => $opt{'custnum'} },
+  'extra_sql' => ' AND '. $curuser->agentnums_sql,
+});
+die "Customer not found!" unless $cust_main;
+
+my $title = mt("Customer").' #'. $cust_main->display_custnum. ': ';
+my $title_noescape = $title. encode_entities($cust_main->name);
+$title .= $cust_main->name;
+
+if ( $curuser->num_agents ) {
+  $title_noescape =
+    encode_entities($cust_main->agent->agent). " $title_noescape";
+  $title = $cust_main->agent->agent. " $title";
+}
+
+my $status = $cust_main->status_label;
+$status .= ' (Cancelled)' if $cust_main->is_status_delay_cancel;
+$title_noescape .= ' (<B><FONT COLOR="#'. $cust_main->statuscolor. '">'. $status.  '</FONT></B>)';
+$title .= " ($status)";
+
+my $ie_compat = $conf->config('ie-compatibility_mode');
+my $head = '';
+if ( $ie_compat ) {
+  $head = qq(<meta http-equiv="X-UA-Compatible" content="IE=$ie_compat" />);
+}
+
+</%init>
diff --git a/httemplate/view/cust_main.cgi b/httemplate/view/cust_main.cgi
index c5ee920..2254df4 100755
--- a/httemplate/view/cust_main.cgi
+++ b/httemplate/view/cust_main.cgi
@@ -1,51 +1,4 @@
-<& /elements/header.html, {
-             'title' => $title,
-             'title_noescape' => $title_noescape,
-             'head'  => $head,
-             'nobr'  => 1,
-          }
-&>
-
-% my @part_tag = $cust_main->part_tag;
-% if ( $conf->config('cust_tag-location') eq 'top' && @part_tag ) {
-<TABLE STYLE="margin-bottom:8px" CELLSPACING=2>
-%   foreach my $part_tag ( @part_tag ) {
-<TR>
-  <TD>
-      <FONT SIZE="+1"
-            <% length($part_tag->tagcolor)
-                 ? 'STYLE="background-color:#'.$part_tag->tagcolor.'"'
-                 : ''
-      %>><% $part_tag->tagname.': '. $part_tag->tagdesc |h %></FONT>
-  </TD>
-</TR>
-%   }
-</TABLE>
-% }
-
-<& cust_main/menu.html, cust_main => $cust_main, show => $view &>
-<BR>
-
-<DIV CLASS="fstabcontainer">
-
-<& /elements/init_overlib.html &>
-
-<SCRIPT TYPE="text/javascript">
-function areyousure(href, message) {
-  if (confirm(message) == true)
-    window.location.href = href;
-}
-function areyousure_popup(message, action, actionlabel) {
-  if (confirm(message) == true) {
-<% include('/elements/popup_link_onclick.html',
-     'js_action' => 'action',
-     'js_actionlabel' => 'actionlabel',
-   ) %>
-  }
-}
-</SCRIPT>
-
-<br>
+<& /elements/header-cust_main.html, view=>$view, cust_main=>$cust_main &>
 
 % ###
 % # Basics
@@ -225,21 +178,6 @@ my $cust_main = qsearchs( {
 });
 die "Customer not found!" unless $cust_main;
 
-my $title = mt("Customer").' #'. $cust_main->display_custnum. ': ';
-my $title_noescape = $title. encode_entities($cust_main->name);
-$title .= $cust_main->name;
-
-if ( $curuser->num_agents ) {
-  $title_noescape =
-    encode_entities($cust_main->agent->agent). " $title_noescape";
-  $title = $cust_main->agent->agent. " $title";
-}
-
-my $status = $cust_main->status_label;
-$status .= ' (Cancelled)' if $cust_main->is_status_delay_cancel;
-$title_noescape .= ' (<B><FONT COLOR="#'. $cust_main->statuscolor. '">'. $status.  '</FONT></B>)';
-$title .= " ($status)";
-
 #false laziness w/pref/pref.html and Conf.pm (cust_main-default_view)
 tie my %views, 'Tie::IxHash',
        emt('Basics')           => 'basics',
@@ -273,10 +211,4 @@ if ($view eq 'last') {
 
 $view = 'basics' if $view eq 'jumbo';
 
-my $ie_compat = $conf->config('ie-compatibility_mode');
-my $head = '';
-if ( $ie_compat ) {
-  $head = qq(<meta http-equiv="X-UA-Compatible" content="IE=$ie_compat" />);
-}
-
 </%init>

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

Summary of changes:
 FS/FS/Conf.pm                             |    2 +-
 httemplate/elements/header-cust_main.html |   96 +++++++++++++++++++++++++++++
 httemplate/view/cust_main.cgi             |   70 +--------------------
 3 files changed, 98 insertions(+), 70 deletions(-)
 create mode 100644 httemplate/elements/header-cust_main.html




More information about the freeside-commits mailing list