X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fedit%2Fprospect_main.html;h=ab01930e5a0784ca1359bbb89830a50802e0233c;hb=7aef2e455fe8a4722036f231ee8609ac63b2a9c9;hp=eb3e4d6d36785b55e3c5bc90b5806f82e9817c96;hpb=37314c736907de968d3f61dd5dc93aa61c6ca161;p=freeside.git diff --git a/httemplate/edit/prospect_main.html b/httemplate/edit/prospect_main.html index eb3e4d6d3..ab01930e5 100644 --- a/httemplate/edit/prospect_main.html +++ b/httemplate/edit/prospect_main.html @@ -11,10 +11,17 @@ { 'field' => 'agentnum', 'type' => 'select-agent', 'empty_label' => 'Select agent', + 'colspan' => 6, }, - { 'field' => 'company', - 'type' => 'text', - 'size' => 50, + { 'field' => 'residential_commercial', + 'type' => 'radio', + 'options' => [ 'Residential', 'Commercial', ], + 'onchange' => 'rescom_changed', + }, + { 'field' => 'company', + 'type' => 'text', + 'size' => 50, + 'colspan' => 6, }, { 'field' => 'contactnum', 'type' => 'contact', @@ -24,16 +31,19 @@ 'm2_error_callback' => $m2_error_callback, }, - { 'field' => 'locationnum', - 'type' => 'select-cust_location', - 'empty_label' => 'No address', - 'alt_format' => $conf->exists('prospect_main-alt_address_format'), + { 'field' => 'locationnum', + 'type' => 'select-cust_location', + 'empty_label' => 'No address', + 'disable_empty' => $conf->exists('prospect_main-location_required'), + 'alt_format' => $conf->exists('prospect_main-alt_address_format'), }, ], 'new_callback' => $new_callback, 'edit_callback' => $edit_callback, - 'error_callbacck' => $error_callback, + 'error_callback' => $error_callback, 'agent_virt' => 1, + 'html_bottom' => $javascript, + 'body_etc' => 'onLoad="rescom_changed()"', ) %> <%init> @@ -100,6 +110,9 @@ my $new_callback = sub { } + #config to default to commercial and/or disable residential when someone needs + $prospect_main->set('residential_commercial', 'Residential'); + }; my $edit_callback = sub { @@ -112,6 +125,12 @@ my $edit_callback = sub { $prospect_main->set('locationnum', $cust_location[0]->locationnum) if scalar(@cust_location); #warn 'prospect_main.locationnum '.$prospect_main->get('locationnum'); + + $prospect_main->set('residential_commercial', + length($prospect_main->company) + ? 'Commercial' + : 'Residential' + ); }; my $error_callback = sub { @@ -121,6 +140,13 @@ my $error_callback = sub { or die 'illegal locationnum '. $cgi->param('locationnum'); my $locationnum = $1; $prospect_main->set('locationnum', $locationnum); + + $prospect_main->set('residential_commercial', + ($cgi->param('residential_commercial') eq 'Commercial') + ? 'Commercial' + : 'Residential' + ); + }; my $m2_error_callback = sub { @@ -151,4 +177,18 @@ my $m2_error_callback = sub { #my @agentnums = $FS::CurrentUser::CurrentUser->agentnums; +my $javascript = < + function rescom_changed() { + var f = document.edit_topform; + var c = f.company; + if ( f.residential_commercial_Residential.checked ) { + c.disabled = true; + } else if ( f.residential_commercial_Commercial.checked ) { + c.disabled = false; + } + } + +END +