X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fedit%2Fcust_main.cgi;h=07629dcff5fbbeb91152e3da058ea77e54516f63;hb=f7e5e7625b04164ce2e0aac77a85bc03a7d48a6f;hp=7308c72dacab3ed51a580d2f52137bc9f16625fb;hpb=8fb243091939f37e24163925be78f4e9f3485978;p=freeside.git diff --git a/httemplate/edit/cust_main.cgi b/httemplate/edit/cust_main.cgi index 7308c72da..07629dcff 100755 --- a/httemplate/edit/cust_main.cgi +++ b/httemplate/edit/cust_main.cgi @@ -1,5 +1,5 @@ <% include('/elements/header.html', - "Customer $action", + $title, '', ' onUnload="myclose()"' #hmm, in billing.html ) %> @@ -32,13 +32,24 @@ <% include('cust_main/birthdate.html', $cust_main) %> % } +%# latitude and longitude +% if ( $conf->exists('cust_main-require_censustract') ) { +% my ($latitude, $longitude) = $cust_main->service_coordinates; +% $latitude ||= $conf->config('company_latitude') || ''; +% $longitude ||= $conf->config('company_longitude') || ''; + + +% } + %# contact info % my $same_checked = ''; % my $ship_disabled = ''; +% my @ship_style = (); % unless ( $cust_main->ship_last && $same ne 'Y' ) { % $same_checked = 'CHECKED'; -% $ship_disabled = 'DISABLED STYLE="background-color: #dddddd"'; +% $ship_disabled = 'DISABLED'; +% push @ship_style, 'background-color:#dddddd'; % foreach ( % qw( last first company address1 address2 city county state zip country % daytime night fax ) @@ -47,7 +58,7 @@ % } % } -

+
Billing address <% include('cust_main/contact.html', @@ -65,14 +76,20 @@ function bill_changed(what) { if ( what.form.same.checked ) { % for (qw( last first company address1 address2 city zip daytime night fax )) { - what.form.ship_<%$_%>.value = what.form.<%$_%>.value; % } what.form.ship_country.selectedIndex = what.form.country.selectedIndex; + function fix_ship_city() { + what.form.ship_city_select.selectedIndex = what.form.city_select.selectedIndex; + what.form.ship_city.style.display = what.form.city.style.display; + what.form.ship_city_select.style.display = what.form.city_select.style.display; + } + function fix_ship_county() { what.form.ship_county.selectedIndex = what.form.county.selectedIndex; + ship_county_changed(what.form.ship_county, fix_ship_city ); } function fix_ship_state() { @@ -88,7 +105,8 @@ function samechanged(what) { if ( what.checked ) { bill_changed(what); -% for (qw( last first company address1 address2 city county state zip country daytime night fax )) { +% my @fields = qw( last first company address1 address2 city city_select county state zip country daytime night fax ); +% for (@fields) { what.form.ship_<%$_%>.disabled = true; what.form.ship_<%$_%>.style.backgroundColor = '#dddddd'; % } @@ -102,7 +120,7 @@ function samechanged(what) { } else { -% for (qw( last first company address1 address2 city county state zip country daytime night fax )) { +% for (@fields) { what.form.ship_<%$_%>.disabled = false; what.form.ship_<%$_%>.style.backgroundColor = '#ffffff'; % } @@ -127,6 +145,7 @@ function samechanged(what) { 'pre' => 'ship_', 'onchange' => '', 'disabled' => $ship_disabled, + 'style' => \@ship_style ) %> @@ -160,6 +179,8 @@ function samechanged(what) { <% include('cust_main/first_pkg.html', $cust_main, 'pkgpart_svcpart' => $pkgpart_svcpart, + 'disable_empty' => + scalar( $cgi->param('lock_pkgpart') =~ /^(\d+)$/ ), #svc_acct 'username' => $username, 'password' => $password, @@ -171,8 +192,9 @@ function samechanged(what) { % } - + +%# cust_main/bottomfixup.js % foreach my $hidden ( % 'payauto', % 'payinfo', 'payinfo1', 'payinfo2', 'paytype', @@ -199,8 +221,12 @@ function samechanged(what) { <%init> +my $curuser = $FS::CurrentUser::CurrentUser; + +#probably redundant given the checks below... die "access denied" - unless $FS::CurrentUser::CurrentUser->access_right('Edit customer'); + unless $curuser->access_right('New customer') + || $curuser->access_right('Edit customer'); my $conf = new FS::Conf; @@ -219,6 +245,10 @@ if ( $cgi->param('error') ) { } ); $custnum = $cust_main->custnum; + + die "access denied" + unless $curuser->access_right($custnum ? 'Edit customer' : 'New customer'); + @invoicing_list = split( /\s*,\s*/, $cgi->param('invoicing_list') ); $same = $cgi->param('same'); $cust_main->setfield('paid' => $cgi->param('paid')) if $cgi->param('paid'); @@ -245,6 +275,9 @@ if ( $cgi->param('error') ) { } elsif ( $cgi->keywords ) { #editing + die "access denied" + unless $curuser->access_right('Edit customer'); + my( $query ) = $cgi->keywords; $query =~ /^(\d+)$/; $custnum=$1; @@ -262,6 +295,9 @@ if ( $cgi->param('error') ) { } else { #new customer + die "access denied" + unless $curuser->access_right('New customer'); + $custnum=''; $cust_main = new FS::cust_main ( {} ); $cust_main->otaker( &getotaker ); @@ -273,14 +309,21 @@ if ( $cgi->param('error') ) { $stateid = ''; $payinfo = ''; + if ( $cgi->param('lock_pkgpart') =~ /^(\d+)$/ ) { + my $pkgpart = $1; + my $part_pkg = qsearchs('part_pkg', { 'pkgpart' => $pkgpart } ) + or die "unknown pkgpart $pkgpart"; + my $svcpart = $part_pkg->svcpart; + $pkgpart_svcpart = $pkgpart.'_'.$svcpart; + } + } -my $error = $cgi->param('error'); -$cgi->delete_all(); -$cgi->param('error', $error); +my %keep = map { $_=>1 } qw( error tagnum lock_agentnum lock_pkgpart ); +$cgi->delete( grep !$keep{$_}, $cgi->param ); -my $action = $custnum ? 'Edit' : 'Add'; -$action .= ": ". $cust_main->name if $custnum; +my $title = $custnum ? 'Edit Customer' : 'Add Customer'; +$title .= ": ". $cust_main->name if $custnum; my $r = qq!* !;