Merge branch 'master' of github.com:kivitendo/kivitendo-erp
authorJan Büren <jan@kivitendo-premium.de>
Thu, 9 Jan 2014 11:47:36 +0000 (12:47 +0100)
committerJan Büren <jan@kivitendo-premium.de>
Thu, 9 Jan 2014 11:47:36 +0000 (12:47 +0100)
1  2 
SL/Form.pm
locale/de/all

diff --combined SL/Form.pm
@@@ -1926,24 -1926,17 +1926,24 @@@ sub get_employee_data 
    my $myconfig = \%main::myconfig;
    my $dbh      = $params{dbh} || $self->get_standard_dbh($myconfig);
  
 -  my ($login)  = selectrow_query($self, $dbh, qq|SELECT login FROM employee WHERE id = ?|, conv_i($params{id}));
 +  my ($login, $deleted)  = selectrow_query($self, $dbh, qq|SELECT login,deleted FROM employee WHERE id = ?|, conv_i($params{id}));
  
    if ($login) {
 -    my $user = User->new(login => $login);
 -    $self->{$params{prefix} . "_${_}"}    = $user->{$_}   for qw(email fax name signature tel);
 -    $self->{$params{prefix} . "_${_}"}    = $defaults->$_ for qw(address businessnumber co_ustid company duns taxnumber);
 -
 +    # login already fetched and still the same client (mandant) | same for both cases (delete|!delete)
      $self->{$params{prefix} . '_login'}   = $login;
 -    $self->{$params{prefix} . '_name'}  ||= $login;
 -  }
 +    $self->{$params{prefix} . "_${_}"}    = $defaults->$_ for qw(address businessnumber co_ustid company duns taxnumber);
  
 +    if (!$deleted) {
 +      # get employee data from auth.user_config
 +      my $user = User->new(login => $login);
 +      $self->{$params{prefix} . "_${_}"} = $user->{$_} for qw(email fax name signature tel);
 +    } else {
 +      # get saved employee data from employee
 +      my $employee = SL::DB::Manager::Employee->find_by(id => conv_i($params{id}));
 +      $self->{$params{prefix} . "_${_}"} = $employee->{"deleted_$_"} for qw(email fax signature tel);
 +      $self->{$params{prefix} . "_name"} = $employee->name;
 +    }
 + }
    $main::lxdebug->leave_sub();
  }
  
@@@ -3180,81 -3173,6 +3180,6 @@@ sub get_history 
    return 0;
  }
  
- sub update_defaults {
-   $main::lxdebug->enter_sub();
-   my ($self, $myconfig, $fld, $provided_dbh) = @_;
-   my $dbh;
-   if ($provided_dbh) {
-     $dbh = $provided_dbh;
-   } else {
-     $dbh = $self->dbconnect_noauto($myconfig);
-   }
-   my $query = qq|SELECT $fld FROM defaults FOR UPDATE|;
-   my $sth   = $dbh->prepare($query);
-   $sth->execute || $self->dberror($query);
-   my ($var) = $sth->fetchrow_array;
-   $sth->finish;
-   $var   = 0 if !defined($var) || ($var eq '');
-   $var   = SL::PrefixedNumber->new(number => $var)->get_next;
-   $query = qq|UPDATE defaults SET $fld = ?|;
-   do_query($self, $dbh, $query, $var);
-   if (!$provided_dbh) {
-     $dbh->commit;
-     $dbh->disconnect;
-   }
-   $main::lxdebug->leave_sub();
-   return $var;
- }
- sub update_business {
-   $main::lxdebug->enter_sub();
-   my ($self, $myconfig, $business_id, $provided_dbh) = @_;
-   my $dbh;
-   if ($provided_dbh) {
-     $dbh = $provided_dbh;
-   } else {
-     $dbh = $self->dbconnect_noauto($myconfig);
-   }
-   my $query =
-     qq|SELECT customernumberinit FROM business
-        WHERE id = ? FOR UPDATE|;
-   my ($var) = selectrow_query($self, $dbh, $query, $business_id);
-   return undef unless $var;
-   if ($var =~ m/\d+$/) {
-     my $new_var  = (substr $var, $-[0]) * 1 + 1;
-     my $len_diff = length($var) - $-[0] - length($new_var);
-     $var         = substr($var, 0, $-[0]) . ($len_diff > 0 ? '0' x $len_diff : '') . $new_var;
-   } else {
-     $var = $var . '1';
-   }
-   $query = qq|UPDATE business
-               SET customernumberinit = ?
-               WHERE id = ?|;
-   do_query($self, $dbh, $query, $var, $business_id);
-   if (!$provided_dbh) {
-     $dbh->commit;
-     $dbh->disconnect;
-   }
-   $main::lxdebug->leave_sub();
-   return $var;
- }
  sub get_partsgroup {
    $main::lxdebug->enter_sub();
  
@@@ -3472,6 -3390,16 +3397,16 @@@ sub prepare_for_printing 
      $self->reformat_numbers($output_numberformat, $precision, @{ $field_list });
    }
  
+   $self->{template_meta} = {
+     formname  => $self->{formname},
+     language  => SL::DB::Manager::Language->find_by_or_create(id => $self->{language_id} || undef),
+     format    => $self->{format},
+     media     => $self->{media},
+     extension => $extension,
+     printer   => SL::DB::Manager::Printer->find_by_or_create(id => $self->{printer_id} || undef),
+     today     => DateTime->today,
+   };
    return $self;
  }
  
@@@ -3591,18 -3519,6 +3526,6 @@@ Points of interest for a beginner are
  
  =head1 SPECIAL FUNCTIONS
  
- =head2 C<update_business> PARAMS
- PARAMS (not named):
-  \%config,     - config hashref
-  $business_id, - business id
-  $dbh          - optional database handle
- handles business (thats customer/vendor types) sequences.
- special behaviour for empty strings in customerinitnumber field:
- will in this case not increase the value, and return undef.
  =head2 C<redirect_header> $url
  
  Generates a HTTP redirection header for the new C<$url>. Constructs an
diff --combined locale/de/all
@@@ -10,6 -10,7 +10,7 @@@ use utf8
  # run locales.pl from this directory to rebuild the translation files
  
  $self->{texts} = {
+   ' (in use so no change allowed)' => ' (Faktor wird verwendet, keine Änderung erlaubt)',
    ' Date missing!'              => ' Datum fehlt!',
    ' Part Number missing!'       => ' Artikelnummer fehlt!',
    ' missing!'                   => ' fehlt!',
    'Add Delivery Note'           => 'Lieferschein erfassen',
    'Add Delivery Order'          => 'Lieferschein erfassen',
    'Add Dunning'                 => 'Mahnung erzeugen',
-   'Add Exchangerate'            => 'Wechselkurs erfassen',
    'Add Follow-Up'               => 'Wiedervorlage erstellen',
    'Add Follow-Up for #1'        => 'Wiedervorlage f&uuml;r #1 erstellen',
    'Add General Ledger Transaction' => 'Dialogbuchen',
    'Bank Code Number'            => 'Bankleitzahl',
    'Bank Connection Tax Office'  => 'Bankverbindung des Finanzamts',
    'Bank Connections'            => 'Bankverbindungen',
+   'Bank account'                => 'Bankkonto',
    'Bank accounts'               => 'Bankkonten',
    'Bank code'                   => 'Bankleitzahl',
    'Bank collection amount'      => 'Einzugsbetrag',
    'Make default profile'        => 'Zu Standardprofil machen',
    'Manage Custom Variables'     => 'Benutzerdefinierte Variablen',
    'Mandantennummer'             => 'Mandantennummer',
+   'Mandate Date of Signature'   => 'Mandat-Unterschriftsdatum',
+   'Mandator ID'                 => 'Mandanten-ID',
    'Mandatory Departments'       => 'Benutzer muss Abteilungen vergeben',
    'Map'                         => 'Karte',
    'Mar'                         => 'März',
    'On Hand'                     => 'Auf Lager',
    'On Order'                    => 'Ist bestellt',
    'One or more Perl modules missing' => 'Ein oder mehr Perl-Module fehlen',
 +  'Onhand only sets the quantity in master data, not in inventory. This is only a legacy info field and will be overwritten as soon as a inventory transfer happens.' => 'Das Import-Feld Auf Lager setzt nur die Menge in den Stammdaten, nicht im Lagerbereich. Dies ist historisch gewachsen nur ein Informationsfeld was mit dem tatsächlichen Wert überschrieben wird, sobald eine wirkliche Lagerbewegung stattfindet (DB-Trigger).',
    'Only Warnings and Errors'    => 'Nur Warnungen und Fehler',
    'Only due follow-ups'         => 'Nur f&auml;llige Wiedervorlagen',
    'Only groups that have been configured for the client the user logs in to will be considered.' => 'Allerdings werden nur diejenigen Gruppen herangezogen, die für den Mandanten konfiguriert sind.',
    'Outputformat'                => 'Ausgabeformat',
    'Overdue sales quotations and requests for quotations' => 'Überfällige Angebote und Preisanfragen',
    'Override invoice language'   => 'Diese Sprache verwenden',
+   'Owner of account'            => 'Kontoinhaber',
    'PAYMENT POSTED'              => 'Rechung gebucht',
    'PDF'                         => 'PDF',
    'PDF (OpenDocument/OASIS)'    => 'PDF (OpenDocument/OASIS)',
    'Portrait'                    => 'Hochformat',
    'Post'                        => 'Buchen',
    'Post Payment'                => 'Zahlung buchen',
+   'Post and E-mail'             => 'Buchen und E-Mail',
    'Post payments'               => 'Zahlungen buchen',
    'Posting Configuration'       => 'Buchungskonfiguration',
    'Postscript'                  => 'Postscript',
    'Sum Credit'                  => 'Summe Haben',
    'Sum Debit'                   => 'Summe Soll',
    'Sum for'                     => 'Summe für',
+   'Sum open amount'             => 'Summierter offener Betrag',
    'Sum per'                     => 'Summe per',
    'Summen- und Saldenliste'     => 'Summen- und Saldenliste',
    'Superuser name'              => 'Datenbankadministrator',
    'The project type has been deleted.' => 'Der Projekttyp wurde gelöscht.',
    'The project type has been saved.' => 'Der Projekttyp wurde gespeichert.',
    'The project type is in use and cannot be deleted.' => 'Der Projekttyp wird verwendet und kann nicht gelöscht werden.',
+   'The required information consists of the IBAN and the BIC.' => 'Die benötigten Informationen bestehen aus der IBAN und der BIC.',
+   'The required information consists of the IBAN, the BIC, the mandator ID and the mandate\'s date of signature.' => 'Die benötigten Informationen bestehen aus IBAN, BIC, Mandanten-ID und dem Unterschriftsdatum des Mandates.',
    'The second reason is that kivitendo allowed the user to enter the tax amount manually regardless of the taxkey used.' => 'Der zweite Grund war, dass kivitendo zuließ, dass die Benutzer beliebige, von den tatsächlichen Steuerschlüsseln unabhängige Steuerbeträge eintrugen.',
    'The second way is to use Perl\'s CPAN module and let it download and install the module for you.' => 'Die zweite Variante besteht darin, Perls CPAN-Modul zu benutzen und es das Modul f&uuml;r Sie installieren zu lassen.',
    'The selected bank account does not exist anymore.' => 'Das ausgewählte Bankkonto existiert nicht mehr.',