RT# 83320 Fix UI bug managing taxes
[freeside.git] / httemplate / edit / prospect_main.html
index d398541..15a1d54 100644 (file)
@@ -1,8 +1,24 @@
+<SCRIPT>
+  function checkPasswordValidation(fieldid)  {
+    var validationResult = document.getElementById(fieldid+'_result').innerHTML;
+    if (validationResult.match(/Password valid!/)) {
+      return true;
+    }
+    else {
+      return false;
+    }
+  }
+</SCRIPT>
+
+<& '/elements/validate_password_js.html', &>
+
 <% include('elements/edit.html',
      'name_singular'   => 'prospect',
      'table'           => 'prospect_main',
      'labels'          => { 'prospectnum' => 'Prospect',
+                            'disabled'    => 'Disabled',
                             'agentnum'    => 'Agent',
+                            'refnum'      => 'Advertising source',
                             'company'     => 'Company',
                             'contactnum'  => 'Contact',
                             'locationnum' => '&nbsp;',
          'type'        => 'select-agent',
          'empty_label' => 'Select agent',
          'colspan'     => 6,
+         'required'    => '1',
+       },
+       { 'field'       => 'refnum',
+         'type'        => 'select-part_referral',
+         'empty_label' => 'Select advertising source',
+         'colspan'     => 6,
+         'required'    => '1',
        },
        { 'field'    => 'residential_commercial',
          'type'     => 'radio',
          'options'  => [ 'Residential', 'Commercial', ],
          'onchange' => 'rescom_changed',
        },
+       { 'field'    => 'disabled',
+         'type'     => 'checkbox',
+         'value'    => 'Y',
+       },
+       { 'field'                => 'contactnum',
+         'type'                 => 'contact',
+         'colspan'              => 6,
+         'o2m_table'            => 'contact',
+         'm2_label'             => 'Contact',
+         'm2_error_callback'    => $m2_error_callback,
+         'include_opt_callback' => sub { 'for_prospect' => '1' },
+
+       },
        { 'field'    => 'company',
          'type'     => 'text',
          'size'     => 50,
          'colspan'  => 6,
        },
-       { 'field'             => 'contactnum',
-         'type'              => 'contact',
-         'colspan'           => 6,
-         'o2m_table'      => 'contact',
-         'm2_label'       => 'Contact',
-         'm2_error_callback' => $m2_error_callback,
-
-       },
        { 'field'         => 'locationnum',
          'type'          => 'select-cust_location',
          'empty_label'   => 'No address',
@@ -53,6 +81,7 @@
 
 my $curuser = $FS::CurrentUser::CurrentUser;
 my $conf = new FS::Conf;
+my @agentnums = $curuser->agentnums;
 
 my $prospectnum;
 if ( $cgi->param('error') ) {
@@ -116,6 +145,15 @@ my $new_callback = sub {
   #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');
+
+  # config to set default refnum
+  $prospect_main->refnum( $conf->config('referraldefault') )
+    if $conf->exists('referraldefault');
 };
 
 my $edit_callback = sub {
@@ -178,8 +216,6 @@ my $m2_error_callback = sub {
       $cgi->param;
 };
 
-#my @agentnums = $FS::CurrentUser::CurrentUser->agentnums;
-
 my $javascript = <<END;
   <SCRIPT TYPE="text/javascript">
     function rescom_changed() {