diff options
author | levinse <levinse> | 2010-12-06 06:36:02 +0000 |
---|---|---|
committer | levinse <levinse> | 2010-12-06 06:36:02 +0000 |
commit | 663b89d06a2c97fb0e7915ba409310fbefefea98 (patch) | |
tree | aad540155dcd88062267857ff195858ad7f506f1 /httemplate/elements | |
parent | d4f1051cbd26721f4106df86cd423240315748e5 (diff) |
-tr-select-cust_location.html and elements/location.html: optionally support alternate address format and
optional address
-nearly finished qualifications, RT7111
Diffstat (limited to 'httemplate/elements')
-rw-r--r-- | httemplate/elements/location.html | 66 | ||||
-rw-r--r-- | httemplate/elements/tr-select-cust_location.html | 36 |
2 files changed, 78 insertions, 24 deletions
diff --git a/httemplate/elements/location.html b/httemplate/elements/location.html index 0d2fa38c3..b5f76409b 100644 --- a/httemplate/elements/location.html +++ b/httemplate/elements/location.html @@ -31,21 +31,60 @@ Example: > </TD> </TR> +<TR> + <TD ALIGN="right"><FONT ID="<% $pre %>address2_required" color="#ff0000" <% $address2_label_style %>>*</FONT> <FONT ID="<% $pre %>address2_label" <% $address2_label_style %>><B>Unit #</B></FONT></TD> + <TD COLSPAN=7> + <INPUT TYPE = "text" + NAME = "<%$pre%>address2" + ID = "<%$pre%>address2" + VALUE = "<% $object->get($pre.'address2') |h %>" + SIZE = 54 + onChange = "<% $onchange %>" + <% $disabled %> + <% $style %> + > + </TD> +</TR> + +% if ( $opt{'alt_format'} ) { <TR> - <TD ALIGN="right"><FONT ID="<% $pre %>address2_required" color="#ff0000" <% $address2_label_style %>>*</FONT> <FONT ID="<% $pre %>address2_label" <% $address2_label_style %>><B>Unit #</B></FONT></TD> - <TD COLSPAN=7> - <INPUT TYPE = "text" - NAME = "<%$pre%>address2" - ID = "<%$pre%>address2" - VALUE = "<% $object->get($pre.'address2') |h %>" - SIZE = 54 - onChange = "<% $onchange %>" - <% $disabled %> - <% $style %> - > - </TD> + <<%$th%> ALIGN="right">Location Type</<%$th%>> + <TD><INPUT TYPE="text" + NAME="location_type" + ID="location_type" + VALUE="<% $object->get('location_type') |h %>" + SIZE="10" + <% $disabled %> + <% $style %> + > + </TD> + <TD></TD> + <<%$th%> ALIGN="right">Number</<%$th%>> + <TD><INPUT TYPE="text" + NAME="location_number" + ID="location_number" + VALUE="<% $object->get('location_number') |h %>" + SIZE="5" + <% $disabled %> + <% $style %> + > + </TD> + <<%$th%> ALIGN="right">Kind</<%$th%>> + <TD> + <% include('/elements/select.html', + 'cgi' => $cgi, + 'field' => 'location_kind', + 'disabled' => $disabled, + 'style' => $style, + 'options' => \@location_kind_options, + 'labels' => $location_kind_labels, + 'curr_value' => $cgi->param('location_kind'), + ) + %> + </TD> </TR> +% } <TR> <<%$th%> ALIGN="right"><%$r%>City</<%$th%>> @@ -155,4 +194,7 @@ my %select_hash = ( my $th = $opt{'no_bold'} ? 'TD' : 'TH'; +my @location_kind_options = ( '', 'R', 'B' ); +my $location_kind_labels = { '' => '', 'R' => 'Residential', 'B' => 'Business' }; + </%init> diff --git a/httemplate/elements/tr-select-cust_location.html b/httemplate/elements/tr-select-cust_location.html index f2b267a8b..78252ba1d 100644 --- a/httemplate/elements/tr-select-cust_location.html +++ b/httemplate/elements/tr-select-cust_location.html @@ -25,18 +25,26 @@ Example: function locationnum_changed(what) { var locationnum = what.options[what.selectedIndex].value; + if ( locationnum == -2 ) { +% for (@location_fields, 'city_select') { + what.form.<%$_%>.disabled = true; + var ftype = what.form.<%$_%>.tagName; + if( ftype == 'SELECT') changeSelect(what.form.<%$_%>, ''); + else what.form.<%$_%>.value = ''; + what.form.<%$_%>.style.backgroundColor = '#dddddd'; +% } + return; + } + if ( locationnum == -1 ) { % for (@location_fields, 'city_select') { what.form.<%$_%>.disabled = false; what.form.<%$_%>.style.backgroundColor = '#ffffff'; + var ftype = what.form.<%$_%>.tagName; + if( ftype == 'INPUT' ) what.form.<%$_%>.value = ''; % } - what.form.address1.value = ''; - what.form.address2.value = ''; - what.form.city.value = ''; - what.form.zip.value = ''; - changeSelect(what.form.country, <% $countrydefault |js_string %>); country_changed( what.form.country, @@ -147,6 +155,9 @@ Example: <TD COLSPAN=7> <SELECT NAME="locationnum" onChange="locationnum_changed(this);"> <OPTION VALUE=""><% $opt{'empty_label'} || '(default service address)' |h %> +% if ( $opt{'is_optional'} ) { + <OPTION VALUE="-2" <% $locationnum == -2 ? 'SELECTED' : ''%>><% $opt{'optional_label'} || '(not required)' |h %> +% } % my @locations = $cust_main ? $cust_main->cust_location : (); % push @locations, $cust_location % if !$cust_main && $cust_location && $cust_location->locationnum>0; @@ -170,14 +181,10 @@ Example: 'disabled' => $disabled, 'no_asterisks' => 1, 'no_bold' => $opt{'no_bold'}, + 'alt_format' => $opt{'alt_format'}, ) %> -<%once> - -my @location_fields = qw( address1 address2 city county state zip country ); - -</%once> <%init> my $conf = new FS::Conf; @@ -206,8 +213,13 @@ if ( length($opt{'curr_value'}) ) { my $editable = $cust_main ? 0 : 1; #could use explicit control my $addnew = $cust_main ? 1 : ( $locationnum>0 ? 0 : 1 ); +my @location_fields = qw( address1 address2 city county state zip country ); +if ( $opt{'alt_format'} ) { + push @location_fields, qw( location_type location_number location_kind ); +} + my $cust_location; -if ( $locationnum && $locationnum != -1 ) { +if ( $locationnum && $locationnum > 0 ) { $cust_location = qsearchs('cust_location', { 'locationnum' => $locationnum } ) or die "unknown locationnum"; } else { @@ -230,7 +242,7 @@ my $location_sort = sub { or lc($a->address2) cmp lc($b->address2) }; -my $disabled = ( $locationnum == -1 || ($editable && $locationnum) ) +my $disabled = ( $locationnum < 0 || ($editable && $locationnum) ) ? '' : 'DISABLED'; |