From a25adda7b5c3235e7a048d4125039e808ebca8e8 Mon Sep 17 00:00:00 2001 From: Christopher Burger Date: Thu, 16 May 2019 09:16:09 -0400 Subject: [PATCH] RT# 83179 - set agent num to use default agentnum if configured, and fixed adding contact rows Conflicts: httemplate/edit/prospect_main.html httemplate/elements/tr-select-agent.html --- httemplate/edit/elements/edit.html | 2 +- httemplate/edit/prospect_main.html | 24 +++++++++++++++++------- httemplate/elements/tr-select-agent.html | 8 ++++++-- 3 files changed, 24 insertions(+), 10 deletions(-) diff --git a/httemplate/edit/elements/edit.html b/httemplate/edit/elements/edit.html index 11f352f74..fa95566a2 100644 --- a/httemplate/edit/elements/edit.html +++ b/httemplate/edit/elements/edit.html @@ -613,7 +613,7 @@ Example: // 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); diff --git a/httemplate/edit/prospect_main.html b/httemplate/edit/prospect_main.html index fefdb96c0..15a1d54de 100644 --- a/httemplate/edit/prospect_main.html +++ b/httemplate/edit/prospect_main.html @@ -28,11 +28,13 @@ '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', @@ -43,11 +45,6 @@ 'type' => 'checkbox', 'value' => 'Y', }, - { 'field' => 'company', - 'type' => 'text', - 'size' => 50, - 'colspan' => 6, - }, { 'field' => 'contactnum', 'type' => 'contact', 'colspan' => 6, @@ -57,6 +54,11 @@ 'include_opt_callback' => sub { 'for_prospect' => '1' }, }, + { 'field' => 'company', + 'type' => 'text', + 'size' => 50, + 'colspan' => 6, + }, { 'field' => 'locationnum', 'type' => 'select-cust_location', 'empty_label' => 'No address', @@ -79,6 +81,7 @@ my $curuser = $FS::CurrentUser::CurrentUser; my $conf = new FS::Conf; +my @agentnums = $curuser->agentnums; my $prospectnum; if ( $cgi->param('error') ) { @@ -142,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 { @@ -204,8 +216,6 @@ my $m2_error_callback = sub { $cgi->param; }; -#my @agentnums = $FS::CurrentUser::CurrentUser->agentnums; - my $javascript = < function rescom_changed() { diff --git a/httemplate/elements/tr-select-agent.html b/httemplate/elements/tr-select-agent.html index 321bd6b32..7f8187926 100644 --- a/httemplate/elements/tr-select-agent.html +++ b/httemplate/elements/tr-select-agent.html @@ -22,6 +22,9 @@ Example: ); + +% $required = '*' if $opt{'required'}; + % if ( scalar(@agents) == 1 || $opt{'fixed'} ) { - <% $opt{'label'} || emt('Agent') %> + <% $required %> <% $opt{'label'} || emt('Agent') %> > % my $agent = qsearchs('agent', { 'agentnum' => $agentnum }); <% $agent ? $agent->agent : '(all)' |h %> @@ -47,7 +50,7 @@ Example: % } else { - <% $opt{'label'} || emt('Agent') %> + <% $required %> <% $opt{'label'} || emt('Agent') %> > <& /elements/select-agent.html, 'curr_value' => $agentnum, @@ -63,6 +66,7 @@ Example: my %opt = @_; my $agentnum = $opt{'curr_value'} || $opt{'value'}; +my $required; my @agents = $opt{'agents'} -- 2.11.0