<% include('elements/edit.html',
'name_singular' => 'prospect',
'table' => 'prospect_main',
+ 'html_table_class'=> 'fsinnerbox',
'labels' => { 'prospectnum' => 'Prospect',
+ 'disabled' => 'Disabled',
'agentnum' => 'Agent',
+ 'refnum' => 'Advertising source',
'company' => 'Company',
'contactnum' => 'Contact',
'locationnum' => ' ',
+ 'taxstatusnum'=> 'Tax status',
},
'fields' => [
- { 'field' => 'agentnum',
- 'type' => 'select-agent',
- 'empty_label' => 'Select agent',
- 'colspan' => 6,
- },
{ 'field' => 'residential_commercial',
'type' => 'radio',
'options' => [ 'Residential', 'Commercial', ],
'onchange' => 'rescom_changed',
},
+ { 'field' => 'disabled',
+ 'type' => 'checkbox',
+ 'value' => 'Y',
+ },
+ { 'field' => 'agentnum',
+ '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' => 'contactnum',
+ 'type' => 'contact',
+ 'colspan' => 7,
+ 'prospectnum' => $prospectnum,
+ 'm2m_method' => 'prospect_contact',
+ 'm2m_dstcol' => 'contactnum',
+ 'm2_label' => 'Contact',
+ 'm2_error_callback' => $m2_error_callback,
+ 'include_opt_callback' => sub { 'for_prospect' => 1 },
+ 'js_spawn_test' => 'document.edit_topform.residential_commercial_Commercial.checked',
+ },
{ '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,
-
+ 'colspan' => 7,
},
{ 'field' => 'locationnum',
'type' => 'select-cust_location',
'prospect_main' => shift
},
},
+ { 'field' => 'taxstatusnum',
+ 'type' => 'select-tax_status',
+ 'required' => 1,
+ 'empty_label' => ' ',
+ },
],
'new_callback' => $new_callback,
'edit_callback' => $edit_callback,
my $curuser = $FS::CurrentUser::CurrentUser;
my $conf = new FS::Conf;
+my @agentnums = $curuser->agentnums;
my $prospectnum;
if ( $cgi->param('error') ) {
- $prospectnum = scalar($cgi->param('prospectnum'));
+ $cgi->param('prospectnum') =~ /^(\d*)$/ or die 'illegal prospectnum';
+ $prospectnum = $1;
die "access denied"
unless $curuser->access_right(($prospectnum ? 'Edit' : 'New'). ' prospect');
} elsif ( $cgi->keywords ) { #editing
+ my($query) = $cgi->keywords;
+ $query =~ /^(\d+)$/ or die 'no prospectnum';
+ $prospectnum = $1;
+
die "access denied"
unless $curuser->access_right('Edit prospect');
} else { #new prospect
+ $prospectnum = '';
+
die "access denied"
unless $curuser->access_right('New prospect');
#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 {
$cgi->param;
};
-#my @agentnums = $FS::CurrentUser::CurrentUser->agentnums;
-
-my $javascript = <<END;
+my $javascript = q|
<SCRIPT TYPE="text/javascript">
function rescom_changed() {
+
var f = document.edit_topform;
- var c = f.company;
if ( f.residential_commercial_Residential.checked ) {
- c.disabled = true;
- c.style.backgroundColor = '#dddddd';
+ $('#company_label').slideUp();
+ $('#company_input0').slideUp();
} else if ( f.residential_commercial_Commercial.checked ) {
- c.disabled = false;
- c.style.backgroundColor = '#ffffff';
+ $('#company_label').slideDown();
+ $('#company_input0').slideDown();
}
}
</SCRIPT>
-END
+|;
</%init>