package fees and usage-based fees, #27687, #25899
[freeside.git] / FS / FS / tax_rate.pm
index 27df9e7..4516004 100644 (file)
@@ -213,7 +213,7 @@ sub check {
   $self->ut_numbern('taxnum')
     || $self->ut_text('geocode')
     || $self->ut_textn('data_vendor')
-    || $self->ut_textn('location')
+    || $self->ut_cch_textn('location')
     || $self->ut_foreign_key('taxclassnum', 'tax_class', 'taxclassnum')
     || $self->ut_snumbern('effective_date')
     || $self->ut_float('tax')
@@ -243,6 +243,18 @@ sub check {
 
 }
 
+#ut_text / ut_textn w/ ` added cause now that's in the data
+sub ut_cch_textn {
+  my($self,$field)=@_;
+  $self->getfield($field)
+    =~ /^([\wô \!\@\#\$\%\&\(\)\-\+\;\:\'\"\,\.\?\/\=\[\]\<\>\`]*)$/
+      or return gettext('illegal_or_empty_text'). " $field: ".
+                 $self->getfield($field);
+  $self->setfield($field,$1);
+  '';
+
+}
+
 =item taxclass_description
 
 Returns the human understandable value associated with the related
@@ -359,7 +371,7 @@ sub passtype_name {
   $tax_passtypes{$self->passtype};
 }
 
-=item taxline TAXABLES, [ OPTIONSHASH ]
+=item taxline TAXABLES
 
 Returns a listref of a name and an amount of tax calculated for the list
 of packages/amounts referenced by TAXABLES.  If an error occurs, a message
@@ -369,13 +381,13 @@ is returned as a scalar.
 
 sub taxline {
   my $self = shift;
+  # this used to accept a hash of options but none of them did anything
+  # so it's been removed.
 
   my $taxables;
-  my %opt = ();
 
   if (ref($_[0]) eq 'ARRAY') {
     $taxables = shift;
-    %opt = @_;
   }else{
     $taxables = [ @_ ];
     #exemptions would be broken in this case