include agent and restore cust-level status in small_custview
authorIvan Kohler <ivan@freeside.biz>
Sat, 11 Jul 2015 04:42:43 +0000 (21:42 -0700)
committerIvan Kohler <ivan@freeside.biz>
Sat, 11 Jul 2015 04:42:43 +0000 (21:42 -0700)
FS/FS/UI/Web/small_custview.pm
FS/FS/access_user.pm
httemplate/elements/header.html
httemplate/view/cust_main.cgi

index a1173f7..e82e332 100644 (file)
@@ -95,8 +95,12 @@ sub small_custview {
   $html = qq!<A HREF="$url?! . $cust_main->custnum . '">'
     if $url;
 
+  if ( $FS::CurrentUser::CurrentUser->num_agents ) {
+    $html .= encode_entities($cust_main->agent->agent). ' ';
+  }
+
   $html .= 'Customer #<B>'. $cust_main->display_custnum.
-           ': '. encode_entities($cust_main->name). '</B></A>';
+           '</B>: <B>'. encode_entities($cust_main->name). '</B></A>'.
            ' - <B><FONT COLOR="#'. $cust_main->statuscolor. '">'.
            $cust_main->status_label. '</FONT></B>';
 
index 68d2dea..a3f55bc 100644 (file)
@@ -283,6 +283,22 @@ sub report_sales {
 Returns links to the the groups this user is a part of, as FS::access_usergroup
 objects (see L<FS::access_usergroup>).
 
+=item num_agents
+
+Returns the number of agents this user can view (via group membership).
+
+=cut
+
+sub num_agents {
+  my $self = shift;
+  $self->scalar_sql(
+    'SELECT COUNT(DISTINCT agentnum) FROM access_usergroup
+                                     JOIN access_groupagent USING ( groupnum )
+       WHERE usernum = ?',
+    $self->usernum,
+  );
+}
+
 =item agentnums 
 
 Returns a list of agentnums this user can view (via group membership).
index 0174e1f..98a8d7c 100644 (file)
@@ -4,11 +4,12 @@ Example:
 
   <& /elements/header.html',
        {
-         'title'   => 'Title',
-         'menubar' => \@menubar,
-         'etc'     => '', #included in <BODY> tag, for things like onLoad=
-         'head'    => '', #included before closing </HEAD> tag
-         'nobr'    => 0,  #1 for no <BR><BR> after the title
+         'title'     => 'Title',
+         'menubar'   => \@menubar,
+         'etc'       => '', #included in <BODY> tag, for things like onLoad=
+         'head'      => '', #included before closing </HEAD> tag
+         'nobr'      => 0,  #1 for no <BR><BR> after the title
+         'no_jquery' => #for use from RT, which loads its own
        }
   &>
 
@@ -23,7 +24,7 @@ Example:
 <HTML>
   <HEAD>
     <TITLE>
-      <% $title_noescape || encode_entities($title) %>
+      <% encode_entities($title) || $title_noescape %>
     </TITLE>
     <!-- per RT, to prevent IE compatibility mode -->
     <meta http-equiv="X-UA-Compatible" content="IE=edge" />
@@ -42,7 +43,11 @@ Example:
               ) |n
     %>
 
-    <SCRIPT SRC="<% $fsurl %>elements/jquery.js"></SCRIPT>
+%   unless ( $no_jquery ) {
+      <link rel="stylesheet" href="<% $fsurl %>elements/jquery-ui.min.css">
+      <SCRIPT SRC="<% $fsurl %>elements/jquery.js"></SCRIPT>
+      <SCRIPT SRC="<% $fsurl %>elements/jquery-ui.min.js"></SCRIPT>
+%   }
     <% include('init_overlib.html') |n %>
     <% include('rs_init_object.html') |n %>
 
@@ -176,7 +181,7 @@ Example:
 <%init>
 
 my( $title, $title_noescape, $menubar, $etc, $head ) = ( '', '', '', '', '' );
-my( $nobr, $nocss ) = ( 0, 0 );
+my( $nobr, $nocss, $no_jquery ) = ( 0, 0, 0 );
 
 my $mobile;
 
@@ -184,12 +189,13 @@ if ( ref($_[0]) ) {
   my $opt = shift;
   $title   = $opt->{title};
   $title_noescape = $opt->{title_noescape};
-  $menubar = $opt->{menubar};
-  $etc     = $opt->{etc};
-  $head    = $opt->{head};
-  $nobr    = $opt->{nobr};
-  $nocss   = $opt->{nocss};
-  $mobile  = $opt->{mobile};
+  $menubar    = $opt->{menubar};
+  $etc        = $opt->{etc};
+  $head       = $opt->{head};
+  $nobr       = $opt->{nobr};
+  $nocss      = $opt->{nocss};
+  $mobile     = $opt->{mobile};
+  $no_jquery  = $opt->{no_jquery};
 } else {
   ($title, $menubar) = ( shift, shift );
   $etc = @_ ? shift : ''; #$etc is for things like onLoad= etc.
index 233c496..95cb5da 100755 (executable)
@@ -220,13 +220,10 @@ my $cust_main = qsearchs( {
 });
 die "Customer not found!" unless $cust_main;
 
-my $title = encode_entities($cust_main->name);
-$title = '#'. $cust_main->display_custnum. " $title";
-#  if $conf->exists('cust_main-title-display_custnum');
-$title = mt("Customer")." ".$title;
+my $title = mt("Customer").' #'. $cust_main->display_custnum. ': '.
+            encode_entities($cust_main->name);
 
-my @agentnums = $curuser->agentnums;
-if (scalar(@agentnums) > 1 ) {
+if ( $curuser->num_agents ) {
   $title = encode_entities($cust_main->agent->agent). " $title";
 }