CsvImport: Bearbeiter aus Front-End setzen, wenn nicht angegeben.
authorBernd Bleßmann <bernd@kivitendo-premium.de>
Mon, 13 Feb 2017 18:25:47 +0000 (19:25 +0100)
committerBernd Bleßmann <bernd@kivitendo-premium.de>
Mon, 13 Feb 2017 18:25:47 +0000 (19:25 +0100)
Wenn keine employee_id in der CSV-Datei angegeben ist, dann den Benutzer, der
den Import gestartet hat als, Bearbeiter setzen. Dieser wird in den Daten des
Hintergrundjobs gespeichert.
Falls hier nichts hinterlegt ist, dann den Benutzer aus dem Login setzen. Das
ist derjenige Benutzer, unter dem der Task-Server läuft.

SL/Controller/CsvImport/Helper/Consistency.pm

index da9f455..d1ce92b 100644 (file)
@@ -219,9 +219,13 @@ sub handle_employee {
 
   my $object = $entry->{object};
 
+  # employee from front end if not given
+  if (!$object->employee_id) {
+    $object->employee_id($self->controller->{employee_id});
+  }
   # employee from login if not given
   if (!$object->employee_id) {
-    $object->employee_id(SL::DB::Manager::Employee->find_by(login => $::myconfig{login})->id);
+    $object->employee_id(SL::DB::Manager::Employee->current->id) if SL::DB::Manager::Employee->current;
   }
 }