add cust_main.mobile and ship_mobile to support uniserve portal, RT#13656
authorivan <ivan>
Tue, 27 Sep 2011 23:01:24 +0000 (23:01 +0000)
committerivan <ivan>
Tue, 27 Sep 2011 23:01:24 +0000 (23:01 +0000)
FS/FS/Schema.pm
FS/FS/cust_main.pm
httemplate/edit/cust_main.cgi
httemplate/edit/cust_main/contact.html
httemplate/view/cust_main/contacts.html

index 124b1ff..c0bbd0a 100644 (file)
@@ -839,6 +839,7 @@ sub tables_hashref {
         'daytime',  'varchar', 'NULL', 20, '', '', 
         'night',    'varchar', 'NULL', 20, '', '', 
         'fax',      'varchar', 'NULL', 12, '', '', 
+        'mobile',   'varchar', 'NULL', 12, '', '', 
         'ship_last',     'varchar', 'NULL', 2*$char_d, '', '', 
 #        'ship_middle',   'varchar', 'NULL', $char_d, '', '', 
         'ship_first',    'varchar', 'NULL', $char_d, '', '', 
@@ -853,6 +854,7 @@ sub tables_hashref {
         'ship_daytime',  'varchar', 'NULL', 20, '', '', 
         'ship_night',    'varchar', 'NULL', 20, '', '', 
         'ship_fax',      'varchar', 'NULL', 12, '', '', 
+        'ship_mobile',   'varchar', 'NULL', 12, '', '', 
         'payby',    'char', '',     4, '', '', 
         'payinfo',  'varchar', 'NULL', 512, '', '', 
         'paycvv',   'varchar', 'NULL', 512, '', '', 
@@ -899,12 +901,12 @@ sub tables_hashref {
                    [ 'last' ], [ 'company' ],
                    [ 'county' ], [ 'state' ], [ 'country' ],
                    [ 'zip' ],
-                   [ 'daytime' ], [ 'night' ], [ 'fax' ],
+                   [ 'daytime' ], [ 'night' ], [ 'fax' ], [ 'mobile' ],
                    #shipping
                    [ 'ship_last' ], [ 'ship_company' ],
                    [ 'ship_county' ], [ 'ship_state' ], [ 'ship_country' ],
                    [ 'ship_zip' ],
-                   [ 'ship_daytime' ], [ 'ship_night' ], [ 'ship_fax' ],
+                   [ 'ship_daytime' ], [ 'ship_night' ], [ 'ship_fax' ], [ 'ship_mobile' ]
                  ],
     },
 
index dd0fd74..765987e 100644 (file)
@@ -211,6 +211,10 @@ phone (optional)
 
 phone (optional)
 
+=item mobile
+
+phone (optional)
+
 =item ship_first
 
 Shipping first name
@@ -257,6 +261,10 @@ phone (optional)
 
 phone (optional)
 
+=item ship_mobile
+
+phone (optional)
+
 =item payby
 
 Payment Type (See L<FS::payinfo_Mixin> for valid payby values)
@@ -1747,9 +1755,10 @@ sub check {
   }
 
   $error =
-    $self->ut_phonen('daytime', $self->country)
-    || $self->ut_phonen('night', $self->country)
-    || $self->ut_phonen('fax', $self->country)
+       $self->ut_phonen('daytime', $self->country)
+    || $self->ut_phonen('night',   $self->country)
+    || $self->ut_phonen('fax',     $self->country)
+    || $self->ut_phonen('mobile',  $self->country)
   ;
   return $error if $error;
 
@@ -1759,7 +1768,7 @@ sub check {
   }
 
   if ( $conf->exists('cust_main-require_phone')
-       && ! length($self->daytime) && ! length($self->night)
+       && ! length($self->daytime) && ! length($self->night) && ! length($self->mobile)
      ) {
 
     my $daytime_label = FS::Msgcat::_gettext('daytime') =~ /^(daytime)?$/
@@ -1768,8 +1777,12 @@ sub check {
     my $night_label = FS::Msgcat::_gettext('night') =~ /^(night)?$/
                         ? 'Night Phone'
                         : FS::Msgcat::_gettext('night');
-  
-    return "$daytime_label or $night_label is required"
+
+    my $mobile_label = FS::Msgcat::_gettext('mobile') =~ /^(mobile)?$/
+                        ? 'Mobile Phone'
+                        : FS::Msgcat::_gettext('mobile');
+
+    return "$daytime_label, $night_label or $mobile_label is required"
   
   }
 
@@ -1807,9 +1820,10 @@ sub check {
     #eofalse
 
     $error =
-      $self->ut_phonen('ship_daytime', $self->ship_country)
-      || $self->ut_phonen('ship_night', $self->ship_country)
-      || $self->ut_phonen('ship_fax', $self->ship_country)
+         $self->ut_phonen('ship_daytime', $self->ship_country)
+      || $self->ut_phonen('ship_night',   $self->ship_country)
+      || $self->ut_phonen('ship_fax',     $self->ship_country)
+      || $self->ut_phonen('ship_mobile',  $self->ship_country)
     ;
     return $error if $error;
 
@@ -2062,7 +2076,7 @@ Returns a list of fields which have ship_ duplicates.
 sub addr_fields {
   qw( last first company
       address1 address2 city county state zip country
-      daytime night fax
+      daytime night fax mobile
     );
 }
 
index 2ba40d2..38b3513 100755 (executable)
@@ -51,7 +51,7 @@
 %    push @ship_style, 'background-color:#dddddd';
 %    foreach (
 %      qw( last first company address1 address2 city county state zip country
-%          daytime night fax )
+%          daytime night fax mobile )
 %    ) {
 %      $cust_main->set("ship_$_", $cust_main->get($_) );
 %    }
@@ -73,7 +73,7 @@
 <SCRIPT>
 function bill_changed(what) {
   if ( what.form.same.checked ) {
-% for (qw( last first company address1 address2 city zip daytime night fax )) { 
+% for (qw( last first company address1 address2 city zip daytime night fax mobile )) { 
     what.form.ship_<%$_%>.value = what.form.<%$_%>.value;
 % } 
 
@@ -103,7 +103,7 @@ function samechanged(what) {
   if ( what.checked ) {
     bill_changed(what);
 
-%   my @fields = qw( last first company address1 address2 city city_select 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 mobile );
 %   for (@fields) { 
       what.form.ship_<%$_%>.disabled = true;
       what.form.ship_<%$_%>.style.backgroundColor = '#dddddd';
index 3dd24aa..51c0960 100644 (file)
 </TR>
 
 <TR>
+  <TD ALIGN="right"><% $mobile_label %></TD>
+  <TD COLSPAN=5>
+    <INPUT TYPE="text" NAME="<%$pre%>mobile" VALUE="<% $cust_main->get($pre.'mobile') %>" SIZE=18 onChange="<% $onchange %>" <%$disabled%> <%$style%>>
+  </TD>
+</TR>
+
+<TR>
   <TD ALIGN="right"><% mt('Fax') |h %></TD>
   <TD COLSPAN=5>
     <INPUT TYPE="text" NAME="<%$pre%>fax" VALUE="<% $cust_main->get($pre.'fax') %>" SIZE=12 onChange="<% $onchange %>" <%$disabled%> <%$style%>>
   </TD>
 </TR>
 
+<TR>
+  <TD ALIGN="right"><% $mobile_label %></TD>
+  <TD COLSPAN=5>
+    <INPUT TYPE="text" NAME="<%$pre%>mobile" VALUE="<% $cust_main->get($pre.'mobile') %>" SIZE=18 onChange="<% $onchange %>" <%$disabled%> <%$style%>>
+  </TD>
+</TR>
+
 <& /elements/location.html,
              'prefix'       => $pre,
              'object'       => $cust_main,
@@ -175,11 +189,15 @@ if ( $conf->exists('cust_main-require_censustract') ) {
 }
 
 my $daytime_label = FS::Msgcat::_gettext('daytime') =~ /^(daytime)?$/
-                  ? 'Day Phone'
-                  : FS::Msgcat::_gettext('daytime');
-my $night_label = FS::Msgcat::_gettext('night') =~/^(night)?$/
-                ? 'Night Phone'
-                : FS::Msgcat::_gettext('night') || 'Night Phone';
+                      ? 'Day Phone'
+                      : FS::Msgcat::_gettext('daytime');
+my $night_label   = FS::Msgcat::_gettext('night') =~/^(night)?$/
+                      ? 'Night Phone'
+                      : FS::Msgcat::_gettext('night') || 'Night Phone';
+my $mobile_label = FS::Msgcat::_gettext('mobile') =~/^(mobile)?$/
+                      ? 'Mobile Phone'
+                      : FS::Msgcat::_gettext('mobile') || 'Mobile Phone';
+
 my $stateid_label = FS::Msgcat::_gettext('stateid') =~ /^(stateid)?$/
                   ? 'Driver&rsquo;s License'
                   : FS::Msgcat::_gettext('stateid') || 'Driver&rsquo;s License';
index 56fbac8..14cd918 100644 (file)
   </TD>
 </TR>
 <TR>
+  <TD ALIGN="right"><% $mobile_label %></TD>
+  <TD COLSPAN=3 BGCOLOR="#ffffff">
+    <& /elements/phonenumber.html,
+                  $cust_main->get("${pre}mobile"),
+                  'callable'=>1
+    &>
+  </TD>
+</TR>
+<TR>
   <TD ALIGN="right"><% mt('Fax') |h %></TD>
   <TD COLSPAN=3 BGCOLOR="#ffffff">
     <% $cust_main->get("${pre}fax") || '&nbsp' %>
 my $daytime_label = FS::Msgcat::_gettext('daytime') =~ /^(daytime)?$/
                       ? 'Day&nbsp;Phone'
                       : FS::Msgcat::_gettext('daytime');
-my $night_label = FS::Msgcat::_gettext('night') =~ /^(night)?$/
+my $night_label   = FS::Msgcat::_gettext('night') =~ /^(night)?$/
                       ? 'Night&nbsp;Phone'
                       : FS::Msgcat::_gettext('night');
+my $mobile_label = FS::Msgcat::_gettext('mobile') =~ /^(mobile)?$/
+                      ? 'Mobile&nbsp;Phone'
+                      : FS::Msgcat::_gettext('Mobile');
+
 my $stateid_label = FS::Msgcat::_gettext('stateid') =~ /^(stateid)?$/
                       ? 'Driver&rsquo;s&nbsp;License'
                       : FS::Msgcat::_gettext('stateid');