]> wagnertech.de Git - mfinanz.git/blobdiff - SL/DO.pm
Sessions: IP nicht bei IPv6 validieren.
[mfinanz.git] / SL / DO.pm
index d537c92f769b18241835977013ced271708f9e6e..e764ac6c3351639e50ca58bc769502b522d1bfba 100644 (file)
--- a/SL/DO.pm
+++ b/SL/DO.pm
@@ -67,9 +67,10 @@ sub transactions {
   my $query =
     qq|SELECT dord.id, dord.donumber, dord.ordnumber, dord.cusordnumber,
          dord.transdate, dord.reqdate,
-         ct.${vc}number, ct.name, dord.${vc}_id, dord.globalproject_id,
+         ct.${vc}number, ct.name, ct.business_id,
+         dord.${vc}_id, dord.globalproject_id,
          dord.closed, dord.delivered, dord.shippingpoint, dord.shipvia,
-         dord.transaction_description,
+         dord.transaction_description, dord.itime::DATE AS insertdate,
          pr.projectnumber AS globalprojectnumber,
          dep.description AS department,
          e.name AS employee,
@@ -98,6 +99,11 @@ sub transactions {
     push @values, conv_i($form->{project_id}), conv_i($form->{project_id});
   }
 
+  if ($form->{"business_id"}) {
+    push @where,  qq|ct.business_id = ?|;
+    push @values, conv_i($form->{"business_id"});
+  }
+
   if ($form->{"${vc}_id"}) {
     push @where,  qq|dord.${vc}_id = ?|;
     push @values, $form->{"${vc}_id"};
@@ -119,7 +125,7 @@ sub transactions {
   }
   if (!$main::auth->assert('sales_all_edit', 1)) {
     push @where, qq|dord.employee_id = (select id from employee where login= ?)|;
-    push @values, $form->{login};
+    push @values, $::myconfig{login};
   }
 
   foreach my $item (qw(donumber ordnumber cusordnumber transaction_description)) {
@@ -163,6 +169,16 @@ sub transactions {
     push @values, conv_date($form->{reqdateto});
   }
 
+  if($form->{insertdatefrom}) {
+    push @where, qq|dord.itime::DATE >= ?|;
+    push@values, conv_date($form->{insertdatefrom});
+  }
+
+  if($form->{insertdateto}) {
+    push @where, qq|dord.itime::DATE <= ?|;
+    push @values, conv_date($form->{insertdateto});
+  }
+
   if (@where) {
     $query .= " WHERE " . join(" AND ", map { "($_)" } @where);
   }
@@ -179,6 +195,7 @@ sub transactions {
     "shipvia"                 => "dord.shipvia",
     "transaction_description" => "dord.transaction_description",
     "department"              => "lower(dep.description)",
+    "insertdate"              => "dord.itime",
   );
 
   my $sortdir   = !defined $form->{sortdir} ? 'ASC' : $form->{sortdir} ? 'ASC' : 'DESC';
@@ -298,9 +315,9 @@ SQL
 
     CVar->get_non_editable_ic_cvars(form               => $form,
                                     dbh                => $dbh,
-                                    row                => $i, 
+                                    row                => $i,
                                     sub_module         => 'delivery_order_items',
-                                    may_converted_from => ['orderitems']);
+                                    may_converted_from => ['orderitems', 'delivery_order_items']);
 
     my $position = $i;
 
@@ -395,8 +412,9 @@ SQL
                                 name_prefix  => 'ic_',
                                 name_postfix => "_$i",
                                 dbh          => $dbh);
+
     # link order items with doi, for future extension look at foreach IS.pm
-    if ($form->{"converted_from_orderitems_id_$i"}) {
+    if (!$form->{saveasnew} && $form->{"converted_from_orderitems_id_$i"}) {
       RecordLinks->create_links('dbh'        => $dbh,
                                 'mode'       => 'ids',
                                 'from_table' => 'orderitems',
@@ -404,8 +422,8 @@ SQL
                                 'to_table'   => 'delivery_order_items',
                                 'to_id'      =>  $form->{"delivery_order_items_id_$i"},
       );
-      delete $form->{"converted_from_orderitems_id_$i"};
     }
+    delete $form->{"converted_from_orderitems_id_$i"};
   }
 
   # 1. search for orphaned dois; processed_dois may be empty (no transfer) TODO: be supersafe and alter same statement for doi and oi
@@ -450,7 +468,7 @@ SQL
              $form->{cusordnumber}, conv_date($form->{transdate}),
              conv_i($form->{vendor_id}), conv_i($form->{customer_id}),
              conv_date($form->{reqdate}), $form->{shippingpoint}, $form->{shipvia},
-             $form->{notes}, $form->{intnotes},
+             $restricter->process($form->{notes}), $form->{intnotes},
              $form->{closed} ? 't' : 'f', $form->{delivered} ? "t" : "f",
              conv_i($form->{department_id}), conv_i($form->{language_id}), conv_i($form->{shipto_id}),
              conv_i($form->{globalproject_id}), conv_i($form->{employee_id}),
@@ -672,7 +690,7 @@ sub retrieve {
          dord.shipto_id,
          dord.globalproject_id, dord.delivered, dord.transaction_description,
          dord.taxzone_id, dord.taxincluded, dord.terms, (SELECT cu.name FROM currencies cu WHERE cu.id=dord.currency_id) AS currency,
-         dord.delivery_term_id
+         dord.delivery_term_id, dord.itime::DATE AS insertdate
        FROM delivery_orders dord
        JOIN ${vc} cv ON (dord.${vc}_id = cv.id)
        LEFT JOIN employee e ON (dord.employee_id = e.id)
@@ -1007,9 +1025,9 @@ sub order_details {
 
     CVar->get_non_editable_ic_cvars(form               => $form,
                                     dbh                => $dbh,
-                                    row                => $i, 
+                                    row                => $i,
                                     sub_module         => 'delivery_order_items',
-                                    may_converted_from => ['orderitems']);
+                                    may_converted_from => ['orderitems', 'delivery_order_items']);
 
     push @{ $form->{TEMPLATE_ARRAYS}->{"ic_cvar_$_->{name}"} },
       CVar->format_to_template(CVar->parse($form->{"ic_cvar_$_->{name}_$i"}, $_), $_)
@@ -1189,6 +1207,7 @@ sub transfer_in_out {
       'transfer_type'                 => $params{direction} eq 'in' ? 'stock' : 'shipped',
       'project_id'                    => $request->{project_id},
       'delivery_order_items_stock_id' => $request->{delivery_order_items_stock_id},
+      'comment'                       => $request->{comment},
     };
   }