[freeside-commits] freeside/httemplate/elements location.html, 1.10, 1.11 tr-select-cust_location.html, 1.10, 1.11

Erik Levinson levinse at wavetail.420.am
Sun Dec 5 22:36:04 PST 2010


Update of /home/cvs/cvsroot/freeside/httemplate/elements
In directory wavetail.420.am:/tmp/cvs-serv15417/httemplate/elements

Modified Files:
	location.html tr-select-cust_location.html 
Log Message:
-tr-select-cust_location.html and elements/location.html: optionally support alternate address format and 
optional address
-nearly finished qualifications, RT7111


Index: tr-select-cust_location.html
===================================================================
RCS file: /home/cvs/cvsroot/freeside/httemplate/elements/tr-select-cust_location.html,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -w -d -r1.10 -r1.11
--- tr-select-cust_location.html	4 Dec 2010 03:52:32 -0000	1.10
+++ tr-select-cust_location.html	6 Dec 2010 06:36:02 -0000	1.11
@@ -25,18 +25,26 @@
 
   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 @@
   <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 @@
              '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 @@
 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 @@
   or lc($a->address2) cmp lc($b->address2)
 };
 
-my $disabled = ( $locationnum == -1 || ($editable && $locationnum) )
+my $disabled = ( $locationnum < 0 || ($editable && $locationnum) )
                  ? ''
                  : 'DISABLED';
 

Index: location.html
===================================================================
RCS file: /home/cvs/cvsroot/freeside/httemplate/elements/location.html,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -w -d -r1.10 -r1.11
--- location.html	12 Mar 2010 03:36:36 -0000	1.10
+++ location.html	6 Dec 2010 06:36:02 -0000	1.11
@@ -31,7 +31,6 @@
     >
   </TD>
 </TR>
-
 <TR>
   <TD ALIGN="right"><FONT ID="<% $pre %>address2_required" color="#ff0000" <% $address2_label_style %>>*</FONT>&nbsp;<FONT ID="<% $pre %>address2_label" <% $address2_label_style %>><B>Unit&nbsp;#</B></FONT></TD>
   <TD COLSPAN=7>
@@ -47,6 +46,46 @@
   </TD>
 </TR>
 
+
+% if ( $opt{'alt_format'} ) { 
+<TR>
+    <<%$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%>>
   <TD WIDTH="1"><% include('/elements/city.html', %select_hash) %></TD>
@@ -155,4 +194,7 @@
 
 my $th = $opt{'no_bold'} ? 'TD' : 'TH';
 
+my @location_kind_options = ( '', 'R', 'B' );
+my $location_kind_labels = { '' => '', 'R' => 'Residential', 'B' => 'Business' };
+
 </%init>



More information about the freeside-commits mailing list