Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision edb23acf

Von Moritz Bunkus vor mehr als 7 Jahren hinzugefügt

  • ID edb23acf85cfc3780950660d5e2cf82ddb0f82d1
  • Vorgänger 717d2088
  • Nachfolger 3c6f9ba1

CSV-Import Kunden: Verkäufer über Login setzen können

Bei Verkäufernamen und logins (Spalten »salesman« und
»salesman_login«) wird absichtlich nicht zwischen Groß
und
Kleinschreibung unterschieden. Technisch betrachtet unterscheidet
kivitendo zwar bei Loginnamen zwischen Groß- und Kleinschreibung, aber
in der Praxis legt niemand zwei Benutzer*innen an, deren Login sich
nur in der Groß-/Kleinschreibung unterscheidet.

Sie zu ignorieren macht die Interaktion mit anderen Systemen leichter
und erspart einen Zwischenschritt an Bearbeitung.

Unterschiede anzeigen:

SL/Controller/CsvImport/CustomerVendor.pm
7 7
use SL::DB::Business;
8 8
use SL::DB::CustomVariable;
9 9
use SL::DB::CustomVariableConfig;
10
use SL::DB::Employee;
10 11
use SL::DB::PaymentTerm;
11 12
use SL::TransNumber;
12 13

  
......
53 54
sub init_salesmen_by {
54 55
  my ($self) = @_;
55 56

  
56
  return { map { my $col = $_; ( $col => { map { ( $_->$col => $_ ) } @{ SL::DB::Manager::Employee->get_all } } ) } qw(id name) };
57
  return { map { my $col = $_; ( $col => { map { ( lc($_->$col) => $_ ) } @{ SL::DB::Manager::Employee->get_all } } ) } qw(id name login) };
57 58
}
58 59

  
59 60
sub check_objects {
......
218 219
  }
219 220

  
220 221
  # Map name to ID if given.
221
  if (!$object->salesman_id && $entry->{raw_data}->{salesman}) {
222
    my $salesman = $self->salesmen_by->{name}->{ $entry->{raw_data}->{salesman} };
222
  if (!$object->salesman_id && ($entry->{raw_data}->{salesman} || $entry->{raw_data}->{salesman_login})) {
223
    my $salesman = $self->salesmen_by->{name} ->{ lc($entry->{raw_data}->{salesman}) }
224
                // $self->salesmen_by->{login}->{ lc($entry->{raw_data}->{salesman_login}) };
223 225

  
224 226
    if (!$salesman) {
225 227
      push @{ $entry->{errors} }, $::locale->text('Error: Invalid salesman');
......
264 266

  
265 267
  my $profile = $self->SUPER::init_profile;
266 268
  delete @{$profile}{qw(business datevexport language payment delivery_term taxincluded terms)};
267
  delete @{$profile}{qw(salesman salesman_id)}    if $::instance_conf->get_vertreter;
269
  delete @{$profile}{qw(salesman salesman_id salesman_login)} if $::instance_conf->get_vertreter;
268 270

  
269 271
  return $profile;
270 272
}
......
323 325
                                );
324 326

  
325 327
  if (!$::instance_conf->get_vertreter) {
326
    $self->add_displayable_columns({ name => 'salesman_id', description => $::locale->text('Salesman (database ID)') });
327
    $self->add_displayable_columns({ name => 'salesman',    description => $::locale->text('Salesman') });
328
    $self->add_displayable_columns({ name => 'salesman',       description => $::locale->text('Salesman') },
329
                                   { name => 'salesman_id',    description => $::locale->text('Salesman (database ID)') },
330
                                   { name => 'salesman_login', description => $::locale->text('Salesman (login)') });
328 331
  }
329

  
330 332
}
331 333

  
332 334
# TODO:
locale/de/all
1219 1219
  'Error: Invalid price factor' => 'Fehler: Preisfaktor ungültig',
1220 1220
  'Error: Invalid price group'  => 'Fehler: Preisgruppe ungültig',
1221 1221
  'Error: Invalid project'      => 'Fehler: Projekt ungültig',
1222
  'Error: Invalid salesman'     => 'Fehler: Ungültiger Verkäufer',
1222
  'Error: Invalid salesman'     => 'Fehler: ungültige Verkäufer/in',
1223 1223
  'Error: Invalid shipto'       => 'Fehler: Lieferadresse ungültig',
1224 1224
  'Error: Invalid tax zone'     => 'Fehler: Steuerzone ungültig',
1225 1225
  'Error: Invalid unit'         => 'Fehler: Einheit ungültig',
......
2526 2526
  'Sales quotation #1 has been deleted.' => 'Angebot #1 wurde gelöscht.',
2527 2527
  'Sales quotation #1 has been updated.' => 'Angebot #1 wurde aktualisiert.',
2528 2528
  'Salesman'                    => 'Verkäufer/in',
2529
  'Salesman (database ID)'      => 'Verkäufer (Datenbank-ID)',
2529
  'Salesman (ID)'               => 'Verkäufer/in (ID)',
2530
  'Salesman (database ID)'      => 'Verkäufer/in (Datenbank-ID)',
2531
  'Salesman (login)'            => 'Verkäufer/in (Login)',
2530 2532
  'Salesperson'                 => 'Verkäufer',
2531 2533
  'Same Filename !'             => 'unveränderter Dateiname !',
2532 2534
  'Same as the quote character' => 'Wie Anführungszeichen',

Auch abrufbar als: Unified diff