RT# 83179 - set agent num to use default agentnum if configured, and fixed adding...
authorChristopher Burger <burgerc@freeside.biz>
Thu, 16 May 2019 13:16:09 +0000 (09:16 -0400)
committerChristopher Burger <burgerc@freeside.biz>
Thu, 16 May 2019 13:16:09 +0000 (09:16 -0400)
httemplate/edit/elements/edit.html
httemplate/edit/prospect_main.html
httemplate/elements/tr-select-agent.html

index 0f5f7bd..a32e99c 100644 (file)
@@ -640,7 +640,7 @@ Example:
 
           // only spawn if we're the last element... return if not
 
 
           // only spawn if we're the last element... return if not
 
-          var field_regex = /(\d+)(_[a-z_]+)?$/;
+          var field_regex = /(\d+)(_[a-z_0-9]+)?$/;
           var match = field_regex.exec(what.name);
           if ( !match ) {
             alert(what.name + " didn't match for " + what);
           var match = field_regex.exec(what.name);
           if ( !match ) {
             alert(what.name + " didn't match for " + what);
index b812dc3..f0a232b 100644 (file)
          'type'        => 'select-agent',
          'empty_label' => 'Select agent',
          'colspan'     => 7,
          'type'        => 'select-agent',
          'empty_label' => 'Select agent',
          'colspan'     => 7,
+         'required'    => 1,
        },
        { 'field'       => 'refnum',
          'type'        => 'select-part_referral',
          'empty_label' => 'Select advertising source',
          'colspan'     => 7,
        },
        },
        { 'field'       => 'refnum',
          'type'        => 'select-part_referral',
          'empty_label' => 'Select advertising source',
          'colspan'     => 7,
        },
-       { 'field'    => 'company',
-         'type'     => 'text',
-         'size'     => 50,
-         'colspan'  => 7,
-       },
        { 'field'                => 'contactnum',
          'type'                 => 'contact',
          'colspan'              => 7,
        { 'field'                => 'contactnum',
          'type'                 => 'contact',
          'colspan'              => 7,
          'include_opt_callback' => sub { 'for_prospect' => 1 },
          'js_spawn_test'        => 'document.edit_topform.residential_commercial_Commercial.checked',
        },
          'include_opt_callback' => sub { 'for_prospect' => 1 },
          'js_spawn_test'        => 'document.edit_topform.residential_commercial_Commercial.checked',
        },
+       { 'field'    => 'company',
+         'type'     => 'text',
+         'size'     => 50,
+         'colspan'  => 7,
+       },
        { 'field'         => 'locationnum',
          'type'          => 'select-cust_location',
          'empty_label'   => 'No address',
        { 'field'         => 'locationnum',
          'type'          => 'select-cust_location',
          'empty_label'   => 'No address',
@@ -74,6 +75,7 @@
 
 my $curuser = $FS::CurrentUser::CurrentUser;
 my $conf = new FS::Conf;
 
 my $curuser = $FS::CurrentUser::CurrentUser;
 my $conf = new FS::Conf;
+my @agentnums = $curuser->agentnums;
 
 my $prospectnum;
 if ( $cgi->param('error') ) {
 
 my $prospectnum;
 if ( $cgi->param('error') ) {
@@ -144,6 +146,12 @@ my $new_callback = sub {
   #config to default to commercial and/or disable residential when someone needs
   $prospect_main->set('residential_commercial', 'Residential');
 
   #config to default to commercial and/or disable residential when someone needs
   $prospect_main->set('residential_commercial', 'Residential');
 
+  # config to set default agent
+  $prospect_main->agentnum( $agentnums[0] )
+    if scalar(@agentnums) == 1;
+  $prospect_main->agentnum( $conf->config('default_agentnum') )
+    if $conf->exists('default_agentnum');
+
 };
 
 my $edit_callback = sub {
 };
 
 my $edit_callback = sub {
@@ -206,8 +214,6 @@ my $m2_error_callback = sub {
       $cgi->param;
 };
 
       $cgi->param;
 };
 
-#my @agentnums = $FS::CurrentUser::CurrentUser->agentnums;
-
 my $javascript = q|
   <SCRIPT TYPE="text/javascript">
     function rescom_changed() {
 my $javascript = q|
   <SCRIPT TYPE="text/javascript">
     function rescom_changed() {
index 04600fa..986bbc0 100644 (file)
@@ -22,6 +22,9 @@ Example:
   );
 
 </%doc>
   );
 
 </%doc>
+
+% $required = '<FONT COLOR="red">*</FONT>' if $opt{'required'};
+
 % if ( scalar(@agents) == 1 || $opt{'fixed'} ) { 
 
   <INPUT TYPE  = "hidden"
 % if ( scalar(@agents) == 1 || $opt{'fixed'} ) { 
 
   <INPUT TYPE  = "hidden"
@@ -32,7 +35,7 @@ Example:
 
 %   if ( scalar(@agents) != 1 ) {
       <TR>
 
 %   if ( scalar(@agents) != 1 ) {
       <TR>
-        <TH ALIGN="right"><% $opt{'label'} || emt('Agent') %></TD>
+        <TH ALIGN="right"><% $required %> <% $opt{'label'} || emt('Agent') %></TD>
         <TD BGCOLOR="#dddddd" <% $colspan %>>
 %         my $agent = qsearchs('agent', { 'agentnum' => $agentnum });
           <% $agent ? $agent->agent : '(all)' |h %>
         <TD BGCOLOR="#dddddd" <% $colspan %>>
 %         my $agent = qsearchs('agent', { 'agentnum' => $agentnum });
           <% $agent ? $agent->agent : '(all)' |h %>
@@ -47,7 +50,7 @@ Example:
 % } else { 
 
   <TR>
 % } else { 
 
   <TR>
-    <TH ALIGN="right"><% $opt{'label'} || emt('Agent') %></TD>
+    <TH ALIGN="right"><% $required %> <% $opt{'label'} || emt('Agent') %></TD>
     <TD <% $colspan %>>
       <& /elements/select-agent.html,
                      'curr_value' => $agentnum,
     <TD <% $colspan %>>
       <& /elements/select-agent.html,
                      'curr_value' => $agentnum,
@@ -63,6 +66,7 @@ Example:
 
 my %opt = @_;
 my $agentnum = $opt{'curr_value'} || $opt{'value'};
 
 my %opt = @_;
 my $agentnum = $opt{'curr_value'} || $opt{'value'};
+my $required;
 
 my @agents =
   $opt{'agents'}
 
 my @agents =
   $opt{'agents'}