diff options
author | ivan <ivan> | 2010-03-12 21:29:04 +0000 |
---|---|---|
committer | ivan <ivan> | 2010-03-12 21:29:04 +0000 |
commit | f433b4f187e484e8c40bdcebbeb5a5d51b3ae38e (patch) | |
tree | 6597ace03fadaa451eaceca9c986e40ebfe6bcc8 /httemplate | |
parent | 02348fb69ac302f117ca8b510b68871eff25d4c6 (diff) |
finishing e911/svc_phone location, RT#7047
Diffstat (limited to 'httemplate')
-rw-r--r-- | httemplate/edit/elements/svc_Common.html | 5 | ||||
-rw-r--r-- | httemplate/edit/process/svc_phone.html | 19 | ||||
-rw-r--r-- | httemplate/edit/svc_phone.cgi | 3 | ||||
-rw-r--r-- | httemplate/elements/tr-select-cust_location.html | 5 | ||||
-rw-r--r-- | httemplate/view/svc_phone.cgi | 12 |
5 files changed, 37 insertions, 7 deletions
diff --git a/httemplate/edit/elements/svc_Common.html b/httemplate/edit/elements/svc_Common.html index 1cb1659f4..36950b2c9 100644 --- a/httemplate/edit/elements/svc_Common.html +++ b/httemplate/edit/elements/svc_Common.html @@ -101,6 +101,11 @@ }; } + if ( $f->{'field'} eq 'custnum' && $pkgnum ) { + my $cust_pkg = qsearchs('cust_pkg', {'pkgnum' => $pkgnum}); + $object->set('custnum', $cust_pkg->custnum); + } + }, 'html_init' => sub { diff --git a/httemplate/edit/process/svc_phone.html b/httemplate/edit/process/svc_phone.html index 27a703cdf..e02ec5ccc 100644 --- a/httemplate/edit/process/svc_phone.html +++ b/httemplate/edit/process/svc_phone.html @@ -1,5 +1,6 @@ <% include( 'elements/svc_Common.html', 'table' => 'svc_phone', + 'args_callback' => $args_callback, ) %> <%init> @@ -7,4 +8,22 @@ die "access denied" unless $FS::CurrentUser::CurrentUser->access_right('Provision customer service'); #something else more specific? +my $args_callback = sub { + my( $cgi, $object ) = @_; + + my %opt = (); + if ( $cgi->param('locationnum') == -1 ) { + my $cust_location = new FS::cust_location { + map { $_ => scalar($cgi->param($_)) } + qw( custnum address1 address2 city county state zip country ) + }; + $opt{'cust_location'} = $cust_location; + } + + %opt; + +}; + + + </%init> diff --git a/httemplate/edit/svc_phone.cgi b/httemplate/edit/svc_phone.cgi index 779708b4e..4715ec146 100644 --- a/httemplate/edit/svc_phone.cgi +++ b/httemplate/edit/svc_phone.cgi @@ -62,10 +62,13 @@ push @fields, { field => 'pbxsvc', my $cust_pkg = qsearchs('cust_pkg', {'pkgnum' => $pkgnum}); my $cust_main = $cust_pkg ? $cust_pkg->cust_main : ''; ( 'no_bold' => 1, + 'cust_pkg' => $cust_pkg, 'cust_main' => $cust_main, ); }, }, + { field => 'custnum', type=> 'hidden' }, #for new cust_locations ; + </%init> diff --git a/httemplate/elements/tr-select-cust_location.html b/httemplate/elements/tr-select-cust_location.html index f26649763..f06ea0ffe 100644 --- a/httemplate/elements/tr-select-cust_location.html +++ b/httemplate/elements/tr-select-cust_location.html @@ -187,6 +187,7 @@ my $statedefault = $conf->config('statedefault') my %opt = @_; my $cgi = $opt{'cgi'}; +my $cust_pkg = $opt{'cust_pkg'}; my $cust_main = $opt{'cust_main'}; my $prospect_main = $opt{'prospect_main'}; @@ -213,6 +214,10 @@ if ( $locationnum && $locationnum != -1 ) { $cust_location = new FS::cust_location; if ( $locationnum == -1 ) { $cust_location->$_( $cgi->param($_) ) foreach @location_fields; + } elsif ( $cust_pkg && $cust_pkg->locationnum ) { + my $pkg_location = $cust_pkg->cust_location; + $cust_location->$_( $pkg_location->$_ ) foreach @location_fields; + $opt{'empty_label'} ||= 'package address: '.$pkg_location->line; } elsif ( $cust_main ) { $cust_location->$_( $cust_main->get($prefix.$_) ) foreach @location_fields; } diff --git a/httemplate/view/svc_phone.cgi b/httemplate/view/svc_phone.cgi index ebde42228..75591c747 100644 --- a/httemplate/view/svc_phone.cgi +++ b/httemplate/view/svc_phone.cgi @@ -29,18 +29,16 @@ my $html_foot = sub { # E911 Info ### - my $loc = $svc_phone->cust_location_or_main; - my $e911 = 'E911 Information'. &ntable("#cccccc"). '<TR><TD>'. ntable("#cccccc",2). '<TR><TD>Location</TD>'. '<TD BGCOLOR="#FFFFFF">'. - $loc->location_label( 'join_string' => '<BR>', - 'double_space' => ' ', - 'escape_function' => \&encode_entities, - 'countrydefault' => $countrydefault, - ). + $svc_phone->location_label( 'join_string' => '<BR>', + 'double_space' => ' ', + 'escape_function' => \&encode_entities, + 'countrydefault' => $countrydefault, + ). '</TD></TR>'. '</TABLE></TD></TR></TABLE>'. '<BR>' |