]> wagnertech.de Git - kivitendo-erp.git/blobdiff - SL/Form.pm
trim-Funktion zum Entfernen führender und anhängender Whitespaces
[kivitendo-erp.git] / SL / Form.pm
index a1b419821c411526b5d6f86145fe5261b7c83954..d2aa049274fe4dac1a4b4f74e8de5fa528650289 100644 (file)
@@ -951,6 +951,8 @@ sub round_amount {
 
   return 0 if !defined $amount;
 
+  $places //= 0;
+
   if ($adjust) {
     my $precision = $::instance_conf->get_precision || 0.01;
     return $self->round_amount( $self->round_amount($amount / $precision, 0) * $precision, $places);
@@ -1858,7 +1860,7 @@ sub add_shipto {
   my $shipto;
   my @values;
 
-  foreach my $item (qw(name department_1 department_2 street zipcode city country
+  foreach my $item (qw(name department_1 department_2 street zipcode city country gln
                        contact cp_gender phone fax email)) {
     if ($self->{"shipto$item"}) {
       $shipto = 1 if ($self->{$item} ne $self->{"shipto$item"});
@@ -1876,6 +1878,7 @@ sub add_shipto {
                        shiptozipcode = ?,
                        shiptocity = ?,
                        shiptocountry = ?,
+                       shiptogln = ?,
                        shiptocontact = ?,
                        shiptocp_gender = ?,
                        shiptophone = ?,
@@ -1892,6 +1895,7 @@ sub add_shipto {
                        shiptozipcode = ? AND
                        shiptocity = ? AND
                        shiptocountry = ? AND
+                       shiptogln = ? AND
                        shiptocontact = ? AND
                        shiptocp_gender = ? AND
                        shiptophone = ? AND
@@ -1903,9 +1907,9 @@ sub add_shipto {
       if(!$insert_check){
         $query =
           qq|INSERT INTO shipto (trans_id, shiptoname, shiptodepartment_1, shiptodepartment_2,
-                                 shiptostreet, shiptozipcode, shiptocity, shiptocountry,
+                                 shiptostreet, shiptozipcode, shiptocity, shiptocountry, shiptogln,
                                  shiptocontact, shiptocp_gender, shiptophone, shiptofax, shiptoemail, module)
-             VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)|;
+             VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)|;
         do_query($self, $dbh, $query, $id, @values, $module);
       }
     }
@@ -2588,6 +2592,19 @@ sub all_vc {
   $main::lxdebug->leave_sub();
 }
 
+sub new_lastmtime {
+  my ($self, $table, $option) = @_;
+
+  return                                       unless $self->{id};
+  croak ("wrong call, no valid table defined") unless $table =~ /^(oe|ar|ap|delivery_orders|parts)$/;
+
+  my $query       = "SELECT mtime, itime FROM " . $table . " WHERE id = ?";
+  my $ref         = selectfirst_hashref_query($self, $self->get_standard_dbh, $query, $self->{id});
+  $ref->{mtime} ||= $ref->{itime};
+  $self->{lastmtime} = $ref->{mtime};
+  $main::lxdebug->message(LXDebug->DEBUG2(),"new lastmtime=".$self->{lastmtime});
+}
+
 sub mtime_ischanged {
   my ($self, $table, $option) = @_;
 
@@ -3656,11 +3673,12 @@ sub calculate_tax {
 
   my ($self,$amount,$taxrate,$taxincluded,$roundplaces) = @_;
 
-  $roundplaces = 2 unless defined $roundplaces;
+  $roundplaces //= 2;
+  $taxincluded //= 0;
 
   my $tax;
 
-  if ($taxincluded *= 1) {
+  if ($taxincluded) {
     # calculate tax (unrounded), subtract from amount, round amount and round tax
     $tax       = $amount - ($amount / ($taxrate + 1)); # equivalent to: taxrate * amount / (taxrate + 1)
     $amount    = $self->round_amount($amount - $tax, $roundplaces);