summaryrefslogtreecommitdiff
path: root/httemplate
diff options
context:
space:
mode:
authorivan <ivan>2010-03-12 21:29:04 +0000
committerivan <ivan>2010-03-12 21:29:04 +0000
commitf433b4f187e484e8c40bdcebbeb5a5d51b3ae38e (patch)
tree6597ace03fadaa451eaceca9c986e40ebfe6bcc8 /httemplate
parent02348fb69ac302f117ca8b510b68871eff25d4c6 (diff)
finishing e911/svc_phone location, RT#7047
Diffstat (limited to 'httemplate')
-rw-r--r--httemplate/edit/elements/svc_Common.html5
-rw-r--r--httemplate/edit/process/svc_phone.html19
-rw-r--r--httemplate/edit/svc_phone.cgi3
-rw-r--r--httemplate/elements/tr-select-cust_location.html5
-rw-r--r--httemplate/view/svc_phone.cgi12
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' => ' &nbsp; ',
- 'escape_function' => \&encode_entities,
- 'countrydefault' => $countrydefault,
- ).
+ $svc_phone->location_label( 'join_string' => '<BR>',
+ 'double_space' => ' &nbsp; ',
+ 'escape_function' => \&encode_entities,
+ 'countrydefault' => $countrydefault,
+ ).
'</TD></TR>'.
'</TABLE></TD></TR></TABLE>'.
'<BR>'