]> wagnertech.de Git - mfinanz.git/commitdiff
Merge branch 'master' of git@lx-office.linet-services.de:lx-office-erp
authorHolger Lindemann <hli@lenny.hoch.ul>
Sat, 5 Mar 2011 10:17:49 +0000 (11:17 +0100)
committerHolger Lindemann <hli@lenny.hoch.ul>
Sat, 5 Mar 2011 10:17:49 +0000 (11:17 +0100)
90 files changed:
SL/Auth.pm
SL/Auth/Constants.pm
SL/Auth/DB.pm
SL/Common.pm
SL/Controller/Base.pm
SL/DB.pm
SL/DB/Buchungsgruppe.pm
SL/DB/Helper/ALL.pm
SL/DB/Helper/Mappings.pm
SL/DB/Manager/Buchungsgruppe.pm [new file with mode: 0644]
SL/DB/Manager/Pricegroup.pm [new file with mode: 0644]
SL/DB/MetaSetup/Price.pm [new file with mode: 0644]
SL/DB/MetaSetup/Prices.pm [deleted file]
SL/DB/Part.pm
SL/DB/Price.pm [new file with mode: 0644]
SL/DB/Pricegroup.pm
SL/DB/Prices.pm [deleted file]
SL/Dispatcher.pm
SL/Form.pm
SL/Helper/Flash.pm
SL/IR.pm
SL/IS.pm
SL/Template/Plugin/L.pm
bin/mozilla/admin.pl
bin/mozilla/am.pl
bin/mozilla/ct.pl
bin/mozilla/do.pl
bin/mozilla/drafts.pl
bin/mozilla/ic.pl
bin/mozilla/io.pl
bin/mozilla/ir.pl
bin/mozilla/is.pl
bin/mozilla/licenses.pl
bin/mozilla/login.pl
bin/mozilla/oe.pl
bin/mozilla/ustva.pl
bin/mozilla/wh.pl
config/lx_office.conf.default
controller.pl [new symlink]
css/lx-office-erp.css
doc/INSTALL.fcgi
doc/INSTALL.texi
doc/INSTALL/Administratorpasswort.html
doc/INSTALL/Aktuelle-Hinweise.html
doc/INSTALL/Anlegen-der-Authentifizierungsdatenbank.html
doc/INSTALL/Anpassung-der-PostgreSQL_002dKonfiguration.html
doc/INSTALL/Apache_002dKonfiguration.html
doc/INSTALL/Authentifizierungsdatenbank.html
doc/INSTALL/Ben_00c3_00b6tigte-Software-und-Pakete.html
doc/INSTALL/Benutzer-anlegen.html
doc/INSTALL/Benutzer_002d-und-Gruppenverwaltung.html
doc/INSTALL/Benutzerauthentifizierung-und-Administratorpasswort.html
doc/INSTALL/Betriebssystem.html
doc/INSTALL/Datenbankbenutzer-anlegen.html
doc/INSTALL/Datenbanken-anlegen.html
doc/INSTALL/Erweiterung-f_00c3_00bcr-servergespeicherte-Prozeduren.html
doc/INSTALL/Grundlagen-zur-Benutzerauthentifizierung.html
doc/INSTALL/Gruppen-anlegen.html
doc/INSTALL/Gruppenmitgliedschaften-verwalten.html
doc/INSTALL/Lx_002dOffice-ERP-verwenden.html
doc/INSTALL/Manuelle-Installation-des-Programmpaketes.html
doc/INSTALL/Migration-alter-Installationen.html
doc/INSTALL/Name-des-Session_002dCookies.html
doc/INSTALL/OpenDocument_002dVorlagen.html
doc/INSTALL/Pakete.html
doc/INSTALL/Passwort_00c3_00bcberpr_00c3_00bcfung.html
doc/INSTALL/Zeichens_00c3_00a4tze_002fdie-Verwendung-von-UTF_002d8.html
doc/INSTALL/Zusammenh_00c3_00a4nge.html
doc/INSTALL/_00c3_0084nderungen-an-Konfigurationsdateien.html
doc/INSTALL/index.html
doc/Lx-Office_Installation_DE.pdf [new file with mode: 0644]
doc/Makefile
doc/changelog
doc/dokumentenvorlagen-und-variablen.html
locale/de/all
locale/de_DE/all
locale/en/all
scripts/find-use.pl
scripts/locales.pl
sql/Pg-upgrade2/ar_add_invnumber_for_credit_note.sql [new file with mode: 0644]
t/002goodperl.t
templates/German-credit_note.tex
templates/webpages/admin/edit_groups.html
templates/webpages/admin/list_users.html
templates/webpages/am/config.html
templates/webpages/generic/error.html
templates/webpages/ic/form_header.html
templates/webpages/is/form_header.html
templates/webpages/login/auth_db_unreachable.html
templates/webpages/login/company_logo.html

index 3b7a6287f4101fdad1b5660d99a67e5d68ac9d74..cd16c8e0bc48c4541adb5290bcff3b732b48008e 100644 (file)
@@ -136,11 +136,11 @@ sub authenticate_root {
 sub authenticate {
   $main::lxdebug->enter_sub();
 
-  my $self = shift;
+  my ($self, $login, $password) = @_;
 
   $main::lxdebug->leave_sub();
 
-  my $result = $self->{authenticator}->authenticate(@_);
+  my $result = $login ? $self->{authenticator}->authenticate($login, $password) : ERR_USER;
   return OK if $result eq OK;
   sleep 5;
   return $result;
@@ -166,7 +166,7 @@ sub dbconnect {
 
   $main::lxdebug->message(LXDebug->DEBUG1, "Auth::dbconnect DSN: $dsn");
 
-  $self->{dbh} = DBI->connect($dsn, $cfg->{user}, $cfg->{password}, { pg_enable_utf8 => $::locale->is_utf8, AutoCommit => 0 });
+  $self->{dbh} = DBI->connect($dsn, $cfg->{user}, $cfg->{password}, { pg_enable_utf8 => $::locale->is_utf8, AutoCommit => 1 });
 
   if (!$may_fail && !$self->{dbh}) {
     $main::form->error($main::locale->text('The connection to the authentication database failed:') . "\n" . $DBI::errstr);
@@ -306,6 +306,8 @@ sub save_user {
 
   my ($sth, $query, $user_id);
 
+  $dbh->begin_work;
+
   $query     = qq|SELECT id FROM auth."user" WHERE login = ?|;
   ($user_id) = selectrow_query($form, $dbh, $query, $login);
 
@@ -426,11 +428,14 @@ sub delete_user {
   my $form  = $main::form;
 
   my $dbh   = $self->dbconnect();
+
+  $dbh->begin_work;
+
   my $query = qq|SELECT id FROM auth."user" WHERE login = ?|;
 
   my ($id)  = selectrow_query($form, $dbh, $query, $login);
 
-  return $main::lxdebug->leave_sub() if (!$id);
+  $dbh->rollback and return $main::lxdebug->leave_sub() if (!$id);
 
   do_query($form, $dbh, qq|DELETE FROM auth.user_group WHERE user_id = ?|, $id);
   do_query($form, $dbh, qq|DELETE FROM auth.user_config WHERE user_id = ?|, $id);
@@ -482,7 +487,10 @@ sub restore_session {
 
   while (my $ref = $sth->fetchrow_hashref()) {
     $self->{SESSION}->{$ref->{sess_key}} = $ref->{sess_value};
-    $form->{$ref->{sess_key}}            = $self->_load_value($ref->{sess_value}) if (!defined $form->{$ref->{sess_key}});
+    next if defined $form->{$ref->{sess_key}};
+
+    my $params                = $self->_load_value($ref->{sess_value});
+    $form->{$ref->{sess_key}} = $params->{data} if $params->{auto_restore} || $params->{simple};
   }
 
   $sth->finish();
@@ -493,15 +501,26 @@ sub restore_session {
 }
 
 sub _load_value {
-  return $_[1] if $_[1] !~ m/^---/;
+  my ($self, $value) = @_;
+
+  return { simple => 1, data => $value } if $value !~ m/^---/;
 
-  my $value;
+  my %params = ( simple => 1 );
   eval {
-    $value = YAML::Load($_[1]);
+    my $data = YAML::Load($value);
+
+    if (ref $data eq 'HASH') {
+      map { $params{$_} = $data->{$_} } keys %{ $data };
+      $params{simple} = 0;
+
+    } else {
+      $params{data}   = $data;
+    }
+
     1;
-  } or return $_[1];
+  } or $params{data} = $value;
 
-  return $value;
+  return \%params;
 }
 
 sub destroy_session {
@@ -512,6 +531,8 @@ sub destroy_session {
   if ($session_id) {
     my $dbh = $self->dbconnect();
 
+    $dbh->begin_work;
+
     do_query($main::form, $dbh, qq|DELETE FROM auth.session_content WHERE session_id = ?|, $session_id);
     do_query($main::form, $dbh, qq|DELETE FROM auth.session WHERE id = ?|, $session_id);
 
@@ -530,6 +551,9 @@ sub expire_sessions {
   my $self  = shift;
 
   my $dbh   = $self->dbconnect();
+
+  $dbh->begin_work;
+
   my $query =
     qq|DELETE FROM auth.session_content
        WHERE session_id IN
@@ -575,6 +599,9 @@ sub create_or_refresh_session {
   $form  = $main::form;
   $dbh   = $self->dbconnect();
 
+  $dbh->begin_work;
+  do_query($::form, $dbh, qq|LOCK auth.session_content|);
+
   $query = qq|SELECT id FROM auth.session WHERE id = ?|;
 
   ($id)  = selectrow_query($form, $dbh, $query, $session_id);
@@ -598,8 +625,13 @@ sub save_session {
   my $self         = shift;
   my $provided_dbh = shift;
 
-  my $dbh          = $provided_dbh || $self->dbconnect();
+  my $dbh          = $provided_dbh || $self->dbconnect(1);
+
+  return unless $dbh;
+
+  $dbh->begin_work unless $provided_dbh;
 
+  do_query($::form, $dbh, qq|LOCK auth.session_content|);
   do_query($::form, $dbh, qq|DELETE FROM auth.session_content WHERE session_id = ?|, $session_id);
 
   if (%{ $self->{SESSION} }) {
@@ -625,7 +657,7 @@ sub set_session_value {
   $self->{SESSION} ||= { };
 
   while (my ($key, $value) = each %params) {
-    $self->{SESSION}->{ $key } = YAML::Dump($value);
+    $self->{SESSION}->{ $key } = YAML::Dump(ref($value) eq 'HASH' ? { data => $value } : $value);
   }
 
   $main::lxdebug->leave_sub();
@@ -649,12 +681,85 @@ sub delete_session_value {
 sub get_session_value {
   $main::lxdebug->enter_sub();
 
-  my $self  = shift;
-  my $value = $self->{SESSION} ? $self->_load_value($self->{SESSION}->{ $_[0] }) : undef;
+  my $self   = shift;
+  my $params = $self->{SESSION} ? $self->_load_value($self->{SESSION}->{ $_[0] }) : {};
 
   $main::lxdebug->leave_sub();
 
-  return $value;
+  return $params->{data};
+}
+
+sub create_unique_sesion_value {
+  my ($self, $value, %params) = @_;
+
+  $self->{SESSION} ||= { };
+
+  my @now                   = gettimeofday();
+  my $key                   = "$$-" . ($now[0] * 1000000 + $now[1]) . "-";
+  $self->{unique_counter} ||= 0;
+
+  $self->{unique_counter}++ while exists $self->{SESSION}->{$key . $self->{unique_counter}};
+  $self->{unique_counter}++;
+
+  $value  = { expiration => $params{expiration} ? ($now[0] + $params{expiration}) * 1000000 + $now[1] : undef,
+              no_auto    => !$params{auto_restore},
+              data       => $value,
+            };
+
+  $self->{SESSION}->{$key . $self->{unique_counter}} = YAML::Dump($value);
+
+  return $key . $self->{unique_counter};
+}
+
+sub save_form_in_session {
+  my ($self, %params) = @_;
+
+  my $form        = delete($params{form}) || $::form;
+  my $non_scalars = delete $params{non_scalars};
+  my $data        = {};
+
+  my %skip_keys   = map { ( $_ => 1 ) } (qw(login password stylesheet version titlebar), @{ $params{skip_keys} || [] });
+
+  foreach my $key (grep { !$skip_keys{$_} } keys %{ $form }) {
+    $data->{$key} = $form->{$key} if !ref($form->{$key}) || $non_scalars;
+  }
+
+  return $self->create_unique_sesion_value($data, %params);
+}
+
+sub restore_form_from_session {
+  my ($self, $key, %params) = @_;
+
+  my $data = $self->get_session_value($key);
+  return $self unless $data;
+
+  my $form    = delete($params{form}) || $::form;
+  my $clobber = exists $params{clobber} ? $params{clobber} : 1;
+
+  map { $form->{$_} = $data->{$_} if $clobber || !exists $form->{$_} } keys %{ $data };
+
+  return $self;
+}
+
+sub expire_session_keys {
+  my ($self) = @_;
+
+  $self->{SESSION} ||= { };
+
+  my @now = gettimeofday();
+  my $now = $now[0] * 1000000 + $now[1];
+
+  $self->delete_session_value(map  { $_->[0]                                                 }
+                              grep { $_->[1]->{expiration} && ($now > $_->[1]->{expiration}) }
+                              map  { [ $_, $self->_load_value($self->{SESSION}->{$_}) ]      }
+                              keys %{ $self->{SESSION} });
+
+  return $self;
+}
+
+sub _has_expiration {
+  my ($value) = @_;
+  return (ref $value eq 'HASH') && exists($value->{expiration}) && $value->{data};
 }
 
 sub set_cookie_environment_variable {
@@ -821,6 +926,8 @@ sub save_group {
   my $form  = $main::form;
   my $dbh   = $self->dbconnect();
 
+  $dbh->begin_work;
+
   my ($query, $sth, $row, $rights);
 
   if (!$group->{id}) {
@@ -866,6 +973,7 @@ sub delete_group {
   my $form = $main::from;
 
   my $dbh  = $self->dbconnect();
+  $dbh->begin_work;
 
   do_query($form, $dbh, qq|DELETE FROM auth.user_group WHERE group_id = ?|, $id);
   do_query($form, $dbh, qq|DELETE FROM auth.group_rights WHERE group_id = ?|, $id);
@@ -1046,3 +1154,93 @@ sub load_rights_for_user {
 }
 
 1;
+__END__
+
+=pod
+
+=encoding utf8
+
+=head1 NAME
+
+SL::Auth - Authentication and session handling
+
+=head1 FUNCTIONS
+
+=over 4
+
+=item C<set_session_value %values>
+
+Store all key/value pairs in C<%values> in the session. All of these
+values are copied back into C<$::form> in the next request
+automatically.
+
+The values can be any Perl structure. They are stored as YAML dumps.
+
+=item C<get_session_value $key>
+
+Retrieve a value from the session. Returns C<undef> if the value
+doesn't exist.
+
+=item C<create_unique_sesion_value $value, %params>
+
+Create a unique key in the session and store C<$value>
+there.
+
+If C<$params{expiration}> is set then it is interpreted as a number of
+seconds after which the value is removed from the session. It will
+never expire if that parameter is falsish.
+
+If C<$params{auto_restore}> is trueish then the value will be copied
+into C<$::form> upon the next request automatically. It defaults to
+C<false> and has therefore different behaviour than
+L</set_session_value>.
+
+Returns the key created in the session.
+
+=item C<expire_session_keys>
+
+Removes all keys from the session that have an expiration time set and
+whose expiration time is in the past.
+
+=item C<save_session>
+
+Stores the session values in the database. This is the only function
+that actually stores stuff in the database. Neither the various
+setters nor the deleter access the database.
+
+=item <save_form_in_session %params>
+
+Stores the content of C<$params{form}> (default: C<$::form>) in the
+session using L</create_unique_sesion_value>.
+
+If C<$params{non_scalars}> is trueish then non-scalar values will be
+stored as well. Default is to only store scalar values.
+
+The following keys will never be saved: C<login>, C<password>,
+C<stylesheet>, C<titlebar>, C<version>. Additional keys not to save
+can be given as an array ref in C<$params{skip_keys}>.
+
+Returns the unique key under which the form is stored.
+
+=item <restore_form_from_session $key, %params>
+
+Restores the form from the session into C<$params{form}> (default:
+C<$::form>).
+
+If C<$params{clobber}> is falsish then existing values with the same
+key in C<$params{form}> will not be overwritten. C<$params{clobber}>
+is on by default.
+
+Returns C<$self>.
+
+=back
+
+=head1 BUGS
+
+Nothing here yet.
+
+=head1 AUTHOR
+
+Moritz Bunkus E<lt>m.bunkus@linet-services.deE<gt>
+
+=cut
index 85227133844c46ee6c773f5dfd776e12bf6f20a2..5a44dc1e34d8b6c65b85e2ea3ecb9dd31e2f140c 100644 (file)
@@ -11,6 +11,7 @@ our %EXPORT_TAGS   = (
   ERR => [ qw(
     ERR_PASSWORD
     ERR_BACKEND
+    ERR_USER
   ) ],
   SESSION => [ qw(
     SESSION_OK
@@ -30,6 +31,7 @@ Exporter::export_ok_tags('all');
 
 use constant OK              =>   0;
 use constant ERR_PASSWORD    =>   1;
+use constant ERR_USER        =>   2;
 use constant ERR_BACKEND     => 100;
 
 use constant SESSION_OK      =>   0;
index 2ad131a8dc1b58d25a9ae31a5c346c985cab2412..0168896f9f4ef2bba9c34f4547613324740f6a66 100644 (file)
@@ -1,10 +1,12 @@
 package SL::Auth::DB;
 
+use strict;
+
+use Carp;
+
 use SL::Auth::Constants qw(:all);
 use SL::DBUtils;
 
-use strict;
-
 sub new {
   $main::lxdebug->enter_sub();
 
@@ -26,7 +28,6 @@ sub authenticate {
   my $self       = shift;
   my $login      = shift;
   my $password   = shift;
-  my $is_crypted = shift;
 
   my $dbh        = $self->{auth}->dbconnect();
 
@@ -38,8 +39,13 @@ sub authenticate {
   my $query             = qq|SELECT password FROM auth."user" WHERE login = ?|;
   my ($stored_password) = $dbh->selectrow_array($query, undef, $login);
 
-  $password        = crypt $password, substr($login, 0, 2)        if (!$password || !$is_crypted);
-  $stored_password = crypt $stored_password, substr($login, 0, 2) if (!$stored_password);
+  my ($algorithm, $algorithm2);
+
+  # Empty password hashes in the database mean just that -- empty
+  # passwords. Hash it for easier comparison.
+  $stored_password               = $self->hash_password(password => $stored_password) unless $stored_password;
+  ($algorithm, $stored_password) = $self->parse_password_entry($stored_password);
+  ($algorithm2, $password)       = $self->parse_password_entry($self->hash_password(password => $password, algorithm => $algorithm, login => $login));
 
   $main::lxdebug->leave_sub();
 
@@ -65,7 +71,7 @@ sub change_password {
     return ERR_BACKEND;
   }
 
-  $password = crypt $password, substr($login, 0, 2) if (!$is_crypted);
+  $password = $self->hash_password(password => $password) unless $is_crypted;
 
   do_query($main::form, $dbh, qq|UPDATE auth."user" SET password = ? WHERE login = ?|, $password, $login);
 
@@ -80,4 +86,42 @@ sub verify_config {
   return 1;
 }
 
+sub hash_password {
+  my ($self, %params) = @_;
+
+  if (!$params{algorithm}) {
+    $params{algorithm}          = 'SHA1';
+    $params{fallback_algorithm} = 'MD5';
+  }
+
+  if ($params{algorithm} eq 'SHA1') {
+    if (eval { require Digest::SHA1; 1 }) {
+      return '{SHA1}' . Digest::SHA1::sha1_hex($params{password});
+
+    } elsif ($params{fallback_algorithm}) {
+      return $self->hash_password(%params, algorithm => $params{fallback_algorithm});
+
+    } else {
+      die 'Digest::SHA1 not available';
+    }
+
+  } elsif ($params{algorithm} eq 'MD5') {
+    require Digest::MD5;
+    return '{MD5}' . Digest::MD5::md5_hex($params{password});
+
+  } elsif ($params{algorithm} eq 'CRYPT') {
+    return '{CRYPT}' . crypt($params{password}, substr($params{login}, 0, 2));
+
+  } else {
+    croak 'Unsupported hash algorithm ' . $params{algorithm};
+  }
+}
+
+sub parse_password_entry {
+  my ($self, $password) = @_;
+
+  return ($1, $2) if $password =~ m/^\{ ([^\}]+) \} (.+)/x;
+  return ('CRYPT', $password);
+}
+
 1;
index 09f9468d87a7b08170101df22e1cd3f3c8471522..dae75322f3f76717ca965cf4f2803e26068288fd 100644 (file)
@@ -336,7 +336,7 @@ sub webdav_folder {
   my ($form) = @_;
 
   return $main::lxdebug->leave_sub()
-    unless ($::lx_office_conf{system}->{webdav} && $form->{id});
+    unless ($::lx_office_conf{features}->{webdav} && $form->{id});
 
   my ($path, $number);
 
index fff11ca3a99b494a516f1c2ad35ce1091dae64e2..d80fca16d71d99d729c27b26c58cea522545eb55 100644 (file)
@@ -65,6 +65,7 @@ sub render {
 
   my %params = ( %locals,
                  AUTH     => $::auth,
+                 FLASH    => $::form->{FLASH},
                  FORM     => $::form,
                  LOCALE   => $::locale,
                  LXCONFIG => \%::lx_office_conf,
index f90a9c6371a72710287499afbbe3c12384d2abd6..67888ef5942f34174b5a7a45dc7986e40f4ed6a7 100644 (file)
--- a/SL/DB.pm
+++ b/SL/DB.pm
@@ -65,7 +65,7 @@ sub _register_db {
   } elsif ($type eq 'LXOFFICE_AUTH') {
     %connect_settings = ( driver          => $::myconfig{dbdriver} || 'Pg',
                           database        => $::auth->{DB_config}->{db},
-                          host            => $::auth->{DB_config}->{host},
+                          host            => $::auth->{DB_config}->{host} || 'localhost',
                           port            => $::auth->{DB_config}->{port} || 5432,
                           username        => $::auth->{DB_config}->{user},
                           password        => $::auth->{DB_config}->{password},
@@ -79,7 +79,7 @@ sub _register_db {
 
     %connect_settings = ( driver          => $::myconfig{dbdriver} || 'Pg',
                           database        => $::myconfig{dbname},
-                          host            => $::myconfig{dbhost},
+                          host            => $::myconfig{dbhost} || 'localhost',
                           port            => $::myconfig{dbport} || 5432,
                           username        => $::myconfig{dbuser},
                           password        => $::myconfig{dbpasswd},
index 26f446b33ceef602a3c40f9959f5d60ad8795c2f..5a486796d08ba8bd1dcb531e7345c5fa3542e41b 100644 (file)
@@ -1,14 +1,9 @@
-# This file has been auto-generated only because it didn't exist.
-# Feel free to modify it at will; it will not be overwritten automatically.
-
 package SL::DB::Buchungsgruppe;
 
 use strict;
 
 use SL::DB::MetaSetup::Buchungsgruppe;
-
-# Creates get_all, get_all_count, get_all_iterator, delete_all and update_all.
-__PACKAGE__->meta->make_manager_class;
+use SL::DB::Manager::Buchungsgruppe;
 
 sub income_accno_id {
   my ($self, $taxzone) = @_;
index f5973b3b7cf6d1e4655022d0f4cee56c4d0bf54a..c030bed92f420fca4fedf74dad201267c4bdaac0 100644 (file)
@@ -56,7 +56,7 @@ use SL::DB::PeriodicInvoice;
 use SL::DB::PeriodicInvoicesConfig;
 use SL::DB::PriceFactor;
 use SL::DB::Pricegroup;
-use SL::DB::Prices;
+use SL::DB::Price;
 use SL::DB::Printer;
 use SL::DB::Project;
 use SL::DB::PurchaseInvoice;
index 47719044825d0fa9d36c2cb0f9e71c3484e585bd..7f7c475fd8dca363642c64908628c4e13ce499db 100644 (file)
@@ -77,7 +77,7 @@ my %lxoffice_package_names = (
   payment_terms                  => 'payment_term',
   periodic_invoices              => 'periodic_invoice',
   periodic_invoices_configs      => 'periodic_invoices_config',
-  prices                         => 'prices',
+  prices                         => 'price',
   price_factors                  => 'price_factor',
   pricegroup                     => 'pricegroup',
   printers                       => 'Printer',
diff --git a/SL/DB/Manager/Buchungsgruppe.pm b/SL/DB/Manager/Buchungsgruppe.pm
new file mode 100644 (file)
index 0000000..068ef6b
--- /dev/null
@@ -0,0 +1,21 @@
+package SL::DB::Manager::Buchungsgruppe;
+
+use strict;
+
+use SL::DB::Helper::Manager;
+use base qw(SL::DB::Helper::Manager);
+
+use SL::DB::Helper::Sorted;
+
+sub object_class { 'SL::DB::Buchungsgruppe' }
+
+__PACKAGE__->make_manager_methods;
+
+sub _sort_spec {
+  return ( default => [ 'sortkey', 1 ],
+           columns => { SIMPLE      => 'ALL',
+                        description => 'lower(description)',
+                      });
+}
+
+1;
diff --git a/SL/DB/Manager/Pricegroup.pm b/SL/DB/Manager/Pricegroup.pm
new file mode 100644 (file)
index 0000000..6da4f21
--- /dev/null
@@ -0,0 +1,21 @@
+package SL::DB::Manager::Pricegroup;
+
+use strict;
+
+use SL::DB::Helper::Manager;
+use base qw(SL::DB::Helper::Manager);
+
+use SL::DB::Helper::Sorted;
+
+sub object_class { 'SL::DB::Pricegroup' }
+
+__PACKAGE__->make_manager_methods;
+
+sub _sort_spec {
+  return ( default => [ 'pricegroup', 1 ],
+           columns => { SIMPLE => 'ALL',
+                        map { ( $_ => "lower(pricegroup.${_})" ) } qw(pricegroup),
+                      });
+}
+
+1;
diff --git a/SL/DB/MetaSetup/Price.pm b/SL/DB/MetaSetup/Price.pm
new file mode 100644 (file)
index 0000000..bb6f0fd
--- /dev/null
@@ -0,0 +1,35 @@
+# This file has been auto-generated. Do not modify it; it will be overwritten
+# by rose_auto_create_model.pl automatically.
+package SL::DB::Price;
+
+use strict;
+
+use base qw(SL::DB::Object);
+
+__PACKAGE__->meta->setup(
+  table   => 'prices',
+
+  columns => [
+    parts_id      => { type => 'integer' },
+    pricegroup_id => { type => 'integer' },
+    price         => { type => 'numeric', precision => 5, scale => 15 },
+    id            => { type => 'serial', not_null => 1 },
+  ],
+
+  primary_key_columns => [ 'id' ],
+
+  foreign_keys => [
+    parts => {
+      class       => 'SL::DB::Part',
+      key_columns => { parts_id => 'id' },
+    },
+
+    pricegroup => {
+      class       => 'SL::DB::Pricegroup',
+      key_columns => { pricegroup_id => 'id' },
+    },
+  ],
+);
+
+1;
+;
diff --git a/SL/DB/MetaSetup/Prices.pm b/SL/DB/MetaSetup/Prices.pm
deleted file mode 100644 (file)
index 819d14c..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-# This file has been auto-generated. Do not modify it; it will be overwritten
-# by rose_auto_create_model.pl automatically.
-package SL::DB::Prices;
-
-use strict;
-
-use base qw(SL::DB::Object);
-
-__PACKAGE__->meta->setup(
-  table   => 'prices',
-
-  columns => [
-    parts_id      => { type => 'integer' },
-    pricegroup_id => { type => 'integer' },
-    price         => { type => 'numeric', precision => 5, scale => 15 },
-    id            => { type => 'serial', not_null => 1 },
-  ],
-
-  primary_key_columns => [ 'id' ],
-
-  foreign_keys => [
-    parts => {
-      class       => 'SL::DB::Part',
-      key_columns => { parts_id => 'id' },
-    },
-
-    pricegroup => {
-      class       => 'SL::DB::Pricegroup',
-      key_columns => { pricegroup_id => 'id' },
-    },
-  ],
-);
-
-1;
-;
index 8ec7b3b1bff99223de7452ab60f2ea8ee3df1afa..fd55e02072e7653960fa20fbb599e761d39ae1fa 100644 (file)
@@ -31,6 +31,11 @@ __PACKAGE__->meta->add_relationships(
     class        => 'SL::DB::PriceFactor',
     column_map   => { price_factor_id => 'id' },
   },
+  prices         => {
+    type         => 'one to many',
+    class        => 'SL::DB::Price',
+    column_map   => { id => 'parts_id' },
+  },
 );
 
 __PACKAGE__->meta->initialize;
diff --git a/SL/DB/Price.pm b/SL/DB/Price.pm
new file mode 100644 (file)
index 0000000..9029dff
--- /dev/null
@@ -0,0 +1,13 @@
+# This file has been auto-generated only because it didn't exist.
+# Feel free to modify it at will; it will not be overwritten automatically.
+
+package SL::DB::Price;
+
+use strict;
+
+use SL::DB::MetaSetup::Price;
+
+# Creates get_all, get_all_count, get_all_iterator, delete_all and update_all.
+__PACKAGE__->meta->make_manager_class;
+
+1;
index 8c9c3727e9dc6e4983a3223c6a0781043e0d5c62..329dc41b2563f5bd3c7b97494a2ee9497f7fa168 100644 (file)
@@ -1,13 +1,8 @@
-# This file has been auto-generated only because it didn't exist.
-# Feel free to modify it at will; it will not be overwritten automatically.
-
 package SL::DB::Pricegroup;
 
 use strict;
 
 use SL::DB::MetaSetup::Pricegroup;
-
-# Creates get_all, get_all_count, get_all_iterator, delete_all and update_all.
-__PACKAGE__->meta->make_manager_class;
+use SL::DB::Manager::Pricegroup;
 
 1;
diff --git a/SL/DB/Prices.pm b/SL/DB/Prices.pm
deleted file mode 100644 (file)
index 45d54a0..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-# This file has been auto-generated only because it didn't exist.
-# Feel free to modify it at will; it will not be overwritten automatically.
-
-package SL::DB::Prices;
-
-use strict;
-
-use SL::DB::MetaSetup::Prices;
-
-# Creates get_all, get_all_count, get_all_iterator, delete_all and update_all.
-__PACKAGE__->meta->make_manager_class;
-
-1;
index f22cf0e9f772241f0738d210da2bf6446764a4dd..b485063421f6a68de0820b5d1be5f02b9c06ab6f 100644 (file)
@@ -35,6 +35,11 @@ sub new {
   return $self;
 }
 
+sub interface_type {
+  my ($self) = @_;
+  return $self->{interface} eq 'cgi' ? 'CGI' : 'FastCGI';
+}
+
 sub pre_request_checks {
   if (!$::auth->session_tables_present) {
     if ($::form->{script} eq 'admin.pl') {
@@ -79,7 +84,6 @@ sub pre_startup_setup {
   {
     no warnings 'once';
     $::lxdebug     = LXDebug->new;
-    $::auth        = SL::Auth->new;
     $::form        = undef;
     %::myconfig    = ();
     %::called_subs = (); # currently used for recursion detection
@@ -152,6 +156,7 @@ sub handle_request {
 
   $self->unrequire_bin_mozilla;
 
+  $::auth        = SL::Auth->new;
   $::cgi         = CGI->new('');
   $::locale      = Locale->new($::lx_office_conf{system}->{language});
   $::form        = Form->new;
@@ -193,11 +198,11 @@ sub handle_request {
 
       $::locale = Locale->new($::myconfig{countrycode});
 
-      show_error('login/password_error', 'password') if SL::Auth::OK != $::auth->authenticate($::form->{login}, $::form->{password}, 0);
+      show_error('login/password_error', 'password') if SL::Auth::OK != $::auth->authenticate($::form->{login}, $::form->{password});
 
       $::auth->set_session_value('login', $::form->{login}, 'password', $::form->{password});
       $::auth->create_or_refresh_session;
-      $::auth->delete_session_value('FLASH')->save_session();
+      $::auth->delete_session_value('FLASH');
       delete $::form->{password};
 
       if ($action) {
@@ -227,7 +232,9 @@ sub handle_request {
   $::locale   = undef;
   $::form     = undef;
   $::myconfig = ();
-  Form::disconnect_standard_dbh unless $self->_interface_is_fcgi;
+  Form::disconnect_standard_dbh;
+  $::auth->expire_session_keys->save_session;
+  $::auth->dbdisconnect;
 
   $::lxdebug->end_request;
   $::lxdebug->leave_sub;
index 6e7145f20fb5d773897029abe9508fb422b3adbf..b2cb1dead91686ace4d8c6f10c06f2a9bbeef520 100644 (file)
@@ -133,6 +133,7 @@ sub _request_to_hash {
 
   my $self  = shift;
   my $input = shift;
+  my $uploads = {};
 
   if (!$ENV{'CONTENT_TYPE'}
       || ($ENV{'CONTENT_TYPE'} !~ /multipart\/form-data\s*;\s*boundary\s*=\s*(.+)$/)) {
@@ -140,7 +141,7 @@ sub _request_to_hash {
     $self->_input_to_hash($input);
 
     $main::lxdebug->leave_sub(2);
-    return;
+    return $uploads;
   }
 
   my ($name, $filename, $headers_done, $content_type, $boundary_found, $need_cr, $previous);
@@ -185,7 +186,7 @@ sub _request_to_hash {
           substr $line, $-[0], $+[0] - $-[0], "";
         }
 
-        $previous         = $self->_store_value($name, '') if ($name);
+        $previous         = _store_value($uploads, $name, '') if ($name);
         $self->{FILENAME} = $filename if ($filename);
 
         next;
@@ -206,6 +207,8 @@ sub _request_to_hash {
   ${ $previous } =~ s|\r?\n$|| if $previous;
 
   $main::lxdebug->leave_sub(2);
+
+  return $uploads;
 }
 
 sub _recode_recursively {
@@ -256,10 +259,11 @@ sub new {
   $self->_input_to_hash($ENV{QUERY_STRING}) if $ENV{QUERY_STRING};
   $self->_input_to_hash($ARGV[0])           if @ARGV && $ARGV[0];
 
+  my $uploads;
   if ($ENV{CONTENT_LENGTH}) {
     my $content;
     read STDIN, $content, $ENV{CONTENT_LENGTH};
-    $self->_request_to_hash($content);
+    $uploads = $self->_request_to_hash($content);
   }
 
   my $db_charset   = $::lx_office_conf{system}->{dbcharset};
@@ -270,6 +274,8 @@ sub new {
 
   _recode_recursively(SL::Iconv->new($encoding, $db_charset), $self);
 
+  map { $self->{$_} = $uploads->{$_} } keys %{ $uploads } if $uploads;
+
   #$self->{version} =  "2.6.1";                 # Old hardcoded but secure style
   open VERSION_FILE, "VERSION";                 # New but flexible code reads version from VERSION-file
   $self->{version} =  <VERSION_FILE>;
@@ -804,12 +810,12 @@ sub _prepare_html_template {
   }
 
   $additional_params->{"conf_dbcharset"}              = $::lx_office_conf{system}->{dbcharset};
-  $additional_params->{"conf_webdav"}                 = $::lx_office_conf{system}->{webdav};
-  $additional_params->{"conf_lizenzen"}               = $::lx_office_conf{system}->{lizenzen};
+  $additional_params->{"conf_webdav"}                 = $::lx_office_conf{features}->{webdav};
+  $additional_params->{"conf_lizenzen"}               = $::lx_office_conf{features}->{lizenzen};
   $additional_params->{"conf_latex_templates"}        = $::lx_office_conf{print_templates}->{latex};
   $additional_params->{"conf_opendocument_templates"} = $::lx_office_conf{print_templates}->{opendocument};
-  $additional_params->{"conf_vertreter"}              = $::lx_office_conf{system}->{vertreter};
-  $additional_params->{"conf_show_best_before"}       = $::lx_office_conf{system}->{show_best_before};
+  $additional_params->{"conf_vertreter"}              = $::lx_office_conf{features}->{vertreter};
+  $additional_params->{"conf_show_best_before"}       = $::lx_office_conf{features}->{show_best_before};
   $additional_params->{"conf_parts_image_css"}        = $::lx_office_conf{features}->{parts_image_css};
   $additional_params->{"conf_parts_listing_images"}   = $::lx_office_conf{features}->{parts_listing_images};
   $additional_params->{"conf_parts_show_image"}       = $::lx_office_conf{features}->{parts_show_image};
index 8f68d00c78bbf5e673c193f653b627048ab95354..876de964436d86f759f16292114371c1cc1965da 100644 (file)
@@ -16,7 +16,7 @@ sub flash {
 }
 
 sub flash_later {
-  $::auth->set_session_value(FLASH => _store_flash($::auth->get_session_value('FLASH'), @_))->save_session();
+  $::auth->set_session_value(FLASH => _store_flash($::auth->get_session_value('FLASH'), @_));
 }
 
 sub render_flash {
index 850d6ada851ef43e54c48ed2b88184d830898e25..83921779abe595da25d65f06a8fa04c208b2e834 100644 (file)
--- a/SL/IR.pm
+++ b/SL/IR.pm
@@ -527,7 +527,14 @@ sub post_invoice {
 
   # set values which could be empty
   my $taxzone_id         = $form->{taxzone_id} * 1;
-  $form->{department_id} = (split /--/, $form->{department})[1];
+
+  # Seit neuestem wird die department_id schon übergeben UND $form->department nicht mehr
+  # korrekt zusammengebaut. Sehr wahrscheinlich beim Umstieg auf T8 kaputt gegangen
+  # Ich lass den Code von 2005 erstmal noch stehen ;-) jb 03-2011
+  # copy & paste von IS.pm
+  if (!$form->{department_id}){
+    $form->{department_id} = (split /--/, $form->{department})[1];
+  }
   $form->{invnumber}     = $form->{id} unless $form->{invnumber};
 
   $taxzone_id = 0 if (3 < $taxzone_id) || (0 > $taxzone_id);
index d91a36b8b09d0ea64441f4c0603a0faa6435dfeb..a940355982140f19b59e151559dcda6358c2c3c8 100644 (file)
--- a/SL/IS.pm
+++ b/SL/IS.pm
@@ -529,8 +529,12 @@ sub post_invoice {
   }
 
   $form->{defaultcurrency} = $form->get_default_currency($myconfig);
-
-  ($null, $form->{department_id}) = split(/--/, $form->{department});
+  # Seit neuestem wird die department_id schon übergeben UND $form->department nicht mehr
+  # korrekt zusammengebaut. Sehr wahrscheinlich beim Umstieg auf T8 kaputt gegangen
+  # Ich lass den Code von 2005 erstmal noch stehen ;-) jb 03-2011
+  if (!$form->{department_id}){
+    ($null, $form->{department_id}) = split(/--/, $form->{department});
+  }
 
   my $all_units = AM->retrieve_units($myconfig, $form);
 
@@ -1005,7 +1009,7 @@ sub post_invoice {
                 cp_id       = ?, marge_total   = ?, marge_percent = ?,
                 globalproject_id               = ?, delivery_customer_id             = ?,
                 transaction_description        = ?, delivery_vendor_id               = ?,
-                donumber    = ?
+                donumber    = ?, invnumber_for_credit_note = ?
               WHERE id = ?|;
   @values = (          $form->{"invnumber"},           $form->{"ordnumber"},             $form->{"quonumber"},          $form->{"cusordnumber"},
              conv_date($form->{"invdate"}),  conv_date($form->{"orddate"}),    conv_date($form->{"quodate"}),    conv_i($form->{"customer_id"}),
@@ -1018,7 +1022,7 @@ sub post_invoice {
                 conv_i($form->{"cp_id"}),            1 * $form->{marge_total} ,      1 * $form->{marge_percent},
                 conv_i($form->{"globalproject_id"}),                              conv_i($form->{"delivery_customer_id"}),
                        $form->{transaction_description},                          conv_i($form->{"delivery_vendor_id"}),
-                       $form->{"donumber"}, #das entsprechende feld lieferscheinnummer aus der html-form 12.02.09 jb
+                       $form->{"donumber"}, $form->{"invnumber_for_credit_note"},
                 conv_i($form->{"id"}));
   do_query($form, $dbh, $query, @values);
 
@@ -1448,9 +1452,9 @@ sub retrieve_invoice {
            a.duedate, a.taxincluded, a.curr AS currency, a.shipto_id, a.cp_id,
            a.employee_id, a.salesman_id, a.payment_id,
            a.language_id, a.delivery_customer_id, a.delivery_vendor_id, a.type,
-           a.transaction_description,
+           a.transaction_description, a.donumber, a.invnumber_for_credit_note,
            a.marge_total, a.marge_percent,
-           e.name AS employee, a.donumber
+           e.name AS employee
          FROM ar a
          LEFT JOIN employee e ON (e.id = a.employee_id)
          WHERE a.id = ?|;
index 9995722e10e0e1e8c9fe08322f7c2ab70465d21c..513f4a221c29f4d2d37fa96aa75b78b918e2b3a3 100644 (file)
@@ -207,7 +207,7 @@ sub options_for_select {
 
   my $value_title_sub = $options{value_title_sub};
 
-  my %selected        = map { ( $_ => 1 ) } @{ ref($options{default}) eq 'ARRAY' ? $options{default} : $options{default} ? [ $options{default} ] : [] };
+  my %selected        = map { ( $_ => 1 ) } @{ ref($options{default}) eq 'ARRAY' ? $options{default} : defined($options{default}) ? [ $options{default} ] : [] };
 
   my $access = sub {
     my ($element, $index, $key, $sub) = @_;
@@ -231,7 +231,7 @@ sub options_for_select {
   my $code = '';
   foreach my $result (@elements) {
     my %attributes = ( value => $result->[0] );
-    $attributes{selected} = 'selected' if $selected{ $result->[0] || '' };
+    $attributes{selected} = 'selected' if $selected{ defined($result->[0]) ? $result->[0] : '' };
 
     $code .= $self->html_tag('option', _H($result->[1]), %attributes);
   }
index b89487c7ef42d61af4a2fa10126ab624e664383d..ddb12b1d854481badd03a94b470f5f35d6b89f47 100755 (executable)
@@ -34,6 +34,7 @@
 
 use DBI;
 use CGI;
+use Encode;
 use English qw(-no_match_vars);
 use Fcntl;
 use File::Copy;
@@ -78,7 +79,7 @@ sub run {
   $form->{favicon}    = "favicon.ico";
 
   if ($form->{action}) {
-    if ($auth->authenticate_root($form->{rpw}, 0) != $auth->OK()) {
+    if ($auth->authenticate_root($form->{rpw}) != $auth->OK()) {
       $form->{error_message} = $locale->text('Incorrect Password!');
       adminlogin();
     } else {
@@ -342,7 +343,10 @@ sub list_users {
 
   delete $members{"root login"};
 
-  map { $_->{templates} =~ s|.*/||; } values %members;
+  for (values %members) {
+    $_->{templates} =~ s|.*/||;
+    $_->{login_url} =  $::locale->is_utf8 ? Encode::encode('utf-8-strict', $_->{login}) : $_->{login_url};
+  }
 
   $form->{title}   = "Lx-Office ERP " . $locale->text('Administration');
   $form->{LOCKED}  = -e _nologin_file_name();
index bcf934ed1ac1fc624df7dd9553d559caa94eb122..7fd49d07aa5b52d32633bc600b16dede6636b7a0 100644 (file)
@@ -1111,7 +1111,7 @@ sub list_business {
   $form->{title} = $locale->text('Type of Business');
 
   my @column_index = qw(description discount customernumberinit);
-  push @column_index, 'salesman' if $::lx_office_conf{system}->{vertreter};
+  push @column_index, 'salesman' if $::lx_office_conf{features}->{vertreter};
   my %column_header;
   $column_header{description} =
       qq|<th class=listheading width=60%>|
@@ -1224,7 +1224,7 @@ sub business_header {
     $form->format_amount(\%myconfig, $form->{discount} * 100);
 
   my $salesman_code;
-  if ($::lx_office_conf{system}->{vertreter}) {
+  if ($::lx_office_conf{features}->{vertreter}) {
     $salesman_code = qq|
   <tr>
     <th align="right">| . $locale->text('Representative') . qq|</th>
index a05158289fc80f6fa46837884c91c2152f828ae8..16077a8b95a11d7318d80acfb5aa80f55e9974c6 100644 (file)
@@ -300,7 +300,7 @@ sub form_header {
                    taxzones  => "ALL_TAXZONES");
   $form->get_pricegroup(\%myconfig, { all => 1 });
 
-  $form->get_lists(customers => { key => "ALL_SALESMAN_CUSTOMERS", business_is_salesman => 1 }) if $::lx_office_conf{system}->{vertreter};
+  $form->get_lists(customers => { key => "ALL_SALESMAN_CUSTOMERS", business_is_salesman => 1 }) if $::lx_office_conf{features}->{vertreter};
 
   $form->{ALL_SALESMEN}   = $form->{ALL_EMPLOYEES};
   $form->{taxincluded}    = ($form->{taxincluded}) ? "checked" : "";
@@ -354,7 +354,7 @@ sub _do_save {
 
   $::form->isblank("name", $::locale->text("Name missing!"));
 
-  if ($::form->{new_salesman_id} && $::lx_office_conf{system}->{vertreter}) {
+  if ($::form->{new_salesman_id} && $::lx_office_conf{features}->{vertreter}) {
     $::form->{salesman_id} = $::form->{new_salesman_id};
     delete $::form->{new_salesman_id};
   }
index d6e594f5b08a331d5847b662214106894360f839..10fdf22271d6a448550d139dfc29c0fc05d73615 100644 (file)
@@ -165,7 +165,7 @@ sub order_links {
   $form->all_vc(\%myconfig, $form->{vc}, ($form->{vc} eq 'customer') ? "AR" : "AP");
 
   # retrieve order/quotation
-  $form->{webdav}   = $::lx_office_conf{system}->{webdav};
+  $form->{webdav}   = $::lx_office_conf{features}->{webdav};
   $form->{jsscript} = 1;
 
   my $editing = $form->{id};
@@ -1361,7 +1361,7 @@ sub transfer_out {
         my $pinfo = $part_info_map{$request->{parts_id}};
         my $binfo = $bin_info_map{$request->{bin_id}};
 
-        if ($::lx_office_conf{system}->{show_best_before}) {
+        if ($::lx_office_conf{features}->{show_best_before}) {
             push @{ $form->{ERRORS} }, $locale->text("There is not enough available of '#1' at warehouse '#2', bin '#3', #4, #5, for the transfer of #6.",
                                                      $pinfo->{description},
                                                      $binfo->{warehouse_description},
index f6cc7b6d0dcc1801c46a5392ec2f20d623be96eb..c471d009bcca0a9f61210a8bfafe94f145fc4af2 100644 (file)
@@ -129,7 +129,10 @@ sub load_draft {
     $form->{draft_description}     = $description;
     $form->{remove_draft}          = 'checked';
   }
-
+  # Ich vergesse bei Rechnungsentwürfe das Rechnungsdatum zu ändern. Dadurch entstehen 
+  # ungültige Belege. Vielleicht geht es anderen ähnlich jan 19.2.2011
+  $form->{invdate} = $form->current_date(\%myconfig); # Aktuelles Rechnungsdatum  ...
+  $form->{duedate} = $form->current_date(\%myconfig); # Aktuelles Fälligkeitsdatum  ...
   update();
 
   $main::lxdebug->leave_sub();
index b5588be3b3952abde07dd264dac584f9780a112e..4eb1e41e108a32d790f6b8ba6d94624b2c81f2b0 100644 (file)
@@ -1759,7 +1759,7 @@ sub save {
 
   $auth->assert('part_service_assembly_edit');
 
-  my ($parts_id, %newform, $previousform, $amount, $callback);
+  my ($parts_id, %newform, $amount, $callback);
 
   # check if there is a part number - commented out, cause there is an automatic allocation of numbers
   # $form->isblank("partnumber", $locale->text(ucfirst $form->{item}." Part Number missing!"));
@@ -1800,20 +1800,14 @@ sub save {
     # save the new form variables before splitting previousform
     map { $newform{$_} = $form->{$_} } keys %$form;
 
-    $previousform = $form->unescape($form->{previousform});
-
     # don't trample on previous variables
     map { delete $form->{$_} } keys %newform;
 
     my $ic_cvar_configs = CVar->get_configs(module => 'IC');
     my @ic_cvar_fields  = map { "cvar_$_->{name}" } @{ $ic_cvar_configs };
 
-    # now take it apart and restore original values
-    foreach my $item (split /&/, $previousform) {
-      my ($key, $value) = split m/=/, $item, 2;
-      $value =~ s/%26/&/g;
-      $form->{$key} = $value;
-    }
+    # restore original values
+    $::auth->restore_form_from_session($newform{previousform}, form => $form);
     $form->{taxaccounts} = $newform{taxaccount2};
 
     if ($form->{item} eq 'assembly') {
index af69e4488106bc8f1c873bdd96972462c7634505..3d236e87b8120a227b5fd7834bc9c32416f65739 100644 (file)
@@ -489,7 +489,7 @@ sub select_item {
     qw(bin listprice inventory_accno income_accno expense_accno unit weight
        assembly taxaccounts partsgroup formel longdescription not_discountable
        part_payment_id partnotes id lastcost price_factor_id price_factor);
-  push @new_fields, "lizenzen" if $::lx_office_conf{system}->{lizenzen};
+  push @new_fields, "lizenzen" if $::lx_office_conf{features}->{lizenzen};
   push @new_fields, grep { m/^ic_cvar_/ } keys %{ $form->{item_list}->[0] };
 
   my $i = 0;
@@ -497,7 +497,7 @@ sub select_item {
   foreach my $ref (@{ $form->{item_list} }) {
     my $checked = ($i++) ? "" : "checked";
 
-    if ($::lx_office_conf{system}->{lizenzen}) {
+    if ($::lx_office_conf{features}->{lizenzen}) {
       if ($ref->{inventory_accno} > 0) {
         $ref->{"lizenzen"} = qq|<option></option>|;
         foreach my $item (@{ $form->{LIZENZEN}{ $ref->{"id"} } }) {
@@ -622,7 +622,7 @@ sub item_selected {
     $form->{payment_id} = $form->{"part_payment_id_$i"};
   }
 
-  if ($::lx_office_conf{system}->{lizenzen}) {
+  if ($::lx_office_conf{features}->{lizenzen}) {
     map { $form->{"${_}_$i"} = $form->{"new_${_}_$j"} } qw(lizenzen);
   }
 
@@ -703,11 +703,11 @@ sub new_item {
   $form->{old_callback} = $form->escape($form->{callback}, 1);
   $form->{callback}     = $form->escape("$form->{script}?action=display_form", 1);
 
-  # save all form variables except action in a previousform variable
-  my $previousform = join '&', map { my $value = $form->{$_}; $value =~ s/&/%26/; "$_=$value" } grep { !/action/ } keys %$form;
+  # save all form variables except action in the session and keep the key in the previousform variable
+  my $previousform = $::auth->save_form_in_session(skip_keys => [ qw(action) ]);
 
   my @HIDDENS;
-  push @HIDDENS,      { 'name' => 'previousform', 'value' => $form->escape($previousform, 1) };
+  push @HIDDENS,      { 'name' => 'previousform', 'value' => $previousform };
   push @HIDDENS, map +{ 'name' => $_,             'value' => $form->{$_} },                       qw(rowcount vc);
   push @HIDDENS, map +{ 'name' => $_,             'value' => $form->{"${_}_$form->{rowcount}"} }, qw(partnumber description unit);
   push @HIDDENS,      { 'name' => 'taxaccount2',  'value' => $form->{taxaccounts} };
index 4ef488626b1e213a0775e4cbc1381e59937d04a2..00d85443c9d9a88c2eb0c97b7182baeb7a19c139 100644 (file)
@@ -100,7 +100,7 @@ sub invoice_links {
   $form->{vc} = 'vendor';
 
   # create links
-  $form->{webdav}   = $::lx_office_conf{system}->{webdav};
+  $form->{webdav}   = $::lx_office_conf{features}->{webdav};
   $form->{jsscript} = 1;
 
   $form->create_links("AP", \%myconfig, "vendor");
index 07b40d4d5b8cd5025a7add8d2d475a040b42e662..e1076ef9cecce2b3459f38271686a6c968747f9f 100644 (file)
@@ -132,8 +132,8 @@ sub invoice_links {
   $form->{vc} = 'customer';
 
   # create links
-  $form->{webdav}   = $::lx_office_conf{system}->{webdav};
-  $form->{lizenzen} = $::lx_office_conf{system}->{lizenzen};
+  $form->{webdav}   = $::lx_office_conf{features}->{webdav};
+  $form->{lizenzen} = $::lx_office_conf{features}->{lizenzen};
 
   $form->create_links("AR", \%myconfig, "customer");
 
@@ -561,7 +561,7 @@ sub update {
 
         $form->{"qty_$i"} = $form->format_amount(\%myconfig, $form->{"qty_$i"});
 
-        if ($::lx_office_conf{system}->{lizenzen}) {
+        if ($::lx_office_conf{features}->{lizenzen}) {
           if ($form->{"inventory_accno_$i"} ne "") {
             $form->{"lizenzen_$i"} = qq|<option></option>|;
             foreach my $item (@{ $form->{LIZENZEN}{ $form->{"id_$i"} } }) {
@@ -915,7 +915,8 @@ sub credit_note {
   $form->{title}  = $locale->text('Add Credit Note');
   $form->{script} = 'is.pl';
 
-
+  # Bei Gutschriften bezug zur Rechnungsnummer
+  $form->{invnumber_for_credit_note} = $form->{invnumber};
   # bo creates the id, reset it
   map { delete $form->{$_} }
     qw(id invnumber subject message cc bcc printed emailed queued);
index 5aee28b5d95e2fd3c05f6cf5124af90ad96696c2..fb065f2549b46678fc34c6e6b35729bf8fcbee47 100644 (file)
@@ -325,7 +325,7 @@ sub add {
 
   $form->{title} = $locale->text('Add License');
 
-  if (!$::lx_office_conf{system}->{lizenzen}) {
+  if (!$::lx_office_conf{features}->{lizenzen}) {
     $form->error(
                  $locale->text(
                    'The licensing module has been deactivated in the configuration.')
@@ -518,7 +518,7 @@ sub search {
 
   $form->{title} = $locale->text('Licenses');
 
-  if (!$::lx_office_conf{system}->{lizenzen}) {
+  if (!$::lx_office_conf{features}->{lizenzen}) {
     $form->error(
                  $locale->text(
                    'The licensing module has been deactivated in the configuration.')
index 49cb6c613e62bfafc0e48a6ee58457d13360ac96..03e6dd947f9fc6f47c494cf893002d52d28c543e 100644 (file)
@@ -65,7 +65,7 @@ sub run {
     %::myconfig = $auth->read_user($form->{login}) if ($form->{login});
     $::locale   = Locale->new($::myconfig{countrycode}) if $::myconfig{countrycode};
 
-    if (!$::myconfig{login} || (SL::Auth::OK != $auth->authenticate($form->{login}, $form->{password}, 0))) {
+    if (SL::Auth::OK != $auth->authenticate($::myconfig{login}, $form->{password})) {
       $form->{error_message} = $::locale->text('Incorrect username or password!');
       login_screen();
     } else {
@@ -163,6 +163,7 @@ sub company_logo {
 
   $form->{stylesheet} =  $myconfig{stylesheet};
   $form->{title}      =  $::locale->text('Lx-Office');
+  $form->{interface}  = $::dispatcher->interface_type;
 
   # create the logo screen
   $form->header() unless $form->{noheader};
index 97cc38896c986b0d3f3072ff59b12f05f78fff88..563e94bcce2ea7cdccf262802c3501f152ef2e35 100644 (file)
@@ -222,7 +222,7 @@ sub order_links {
   $form->all_vc(\%myconfig, $form->{vc}, ($form->{vc} eq 'customer') ? "AR" : "AP");
 
   # retrieve order/quotation
-  $form->{webdav}   = $::lx_office_conf{system}->{webdav};
+  $form->{webdav}   = $::lx_office_conf{features}->{webdav};
   $form->{jsscript} = 1;
 
   my $editing = $form->{id};
@@ -498,7 +498,7 @@ sub form_footer {
 
   print $form->parse_html_template("oe/form_footer", {
      %TMPL_VAR,
-     webdav          => $::lx_office_conf{system}->{webdav},
+     webdav          => $::lx_office_conf{features}->{webdav},
      print_options   => print_options(inline => 1),
      label_edit      => $locale->text("Edit the $form->{type}"),
      label_workflow  => $locale->text("Workflow $form->{type}"),
index f7874cdad0fafea6c587d6e052060d03bfef2939..6466565b0e4e0c16ffba35c87a26c008cc278077 100644 (file)
@@ -116,8 +116,7 @@ sub report {
 
   my $company_given = ($form->{company} ne '')
     ? qq|<h3>$form->{company}</h3>\n|
-    : qq|<a href="am.pl?action=config|
-      . qq|&level=Programm--Preferences">|
+    : qq|<a href="am.pl?action=config">|
       . $locale->text('No Company Name given') . qq|!</a><br>|;
 
 
index f4971078554893cee622d2032ff57db942eabc38..2b49ba00cf6ab806727d121918577a399f0d9042 100644 (file)
@@ -438,7 +438,7 @@ sub create_assembly {
     $form->error($locale->text('The warehouse or the bin is missing.'));
   }
 
-  if (!$::lx_office_conf{system}->{show_best_before}) {
+  if (!$::lx_office_conf{features}->{show_best_before}) {
       $form->{bestbefore} = '';
   }
 
index b4d4471f72875198b057556ed5ebd51100742db5..1972e953070514f4e5de60ec7114e63a5fa7e478 100644 (file)
@@ -58,7 +58,7 @@ bind_password =
 
 [system]
 # EUR: Einnahmen-Überschussrechnung (net income method). Set this to 1
-# if your company uses the net income method and to 0 for balacing.
+# if your company uses the net income method and to 0 for balancing.
 eur = 1
 
 # Set language for login and admin forms. Currently "de" (German),
diff --git a/controller.pl b/controller.pl
new file mode 120000 (symlink)
index 0000000..385000d
--- /dev/null
@@ -0,0 +1 @@
+am.pl
\ No newline at end of file
index 8151719df06fa6b7f4a78d3eda464e3fad9c41a2..6f25ee507ea8b6dbf9f7986e442c79773c5936f5 100644 (file)
@@ -121,6 +121,15 @@ body.menu {
     border-style:solid;
     border-width:thin;
 }
+.message_error_label {
+    font-size: 0.8em;
+    padding:5px;
+    background-color: #FEE;
+    font-weight:normal;
+    text-align:left;
+    border-style:solid;
+    border-width:thin;
+}
 
 /*
     Überschriftsbalken
index 186ca33cb96f30f3a2840910cb8609f44c83b31f..454be03961b822f53a9536dd9e6fe738a6b802f6 100644 (file)
@@ -127,7 +127,7 @@ werden aber umgeleitet:
   # Zugriff über cgi
   Alias       /web/path/to/lx-office-erp                /path/to/lx-office-erp
 
-  # Zugriff mit mod_fastcgi:
+  # Zugriff mit mod_fcgid:
   AliasMatch ^/web/path/to/lx-office-erp-fcgid/[^/]+\.pl /path/to/lx-office-erp/dispatcher.fcgi
   Alias       /web/path/to/lx-office-erp-fcgid/          /path/to/lx-office-erp/
 
@@ -136,8 +136,8 @@ werden aber umgeleitet:
   Alias       /web/path/to/lx-office-erp-fastcgi/          /path/to/lx-office-erp/
 
 Dann ist unter C</web/path/to/lx-office-erp/> die normale Version erreichbar,
-und unter C</web/opath/to/lx-office-erp-fcgid/> bzw.
-C</web/opath/to/lx-office-erp-fastcgi/> die FastCGI Version.
+und unter C</web/path/to/lx-office-erp-fcgid/> bzw.
+C</web/path/to/lx-office-erp-fastcgi/> die FastCGI Version.
 
 Achtung:
 
@@ -148,7 +148,7 @@ vhost.
 =head2 Entwicklungsaspekte
 
 Wenn Änderungen in der Konfiguration von Lx-Office gemacht werden, muss der
-Server neu gestartet werden.
+Webserver neu gestartet werden.
 
 Bei der Entwicklung für FastCGI ist auf ein paar Fallstricke zu achten. Dadurch
 dass das Programm in einer Endlosschleife läuft, müssen folgende Aspekte
@@ -180,7 +180,7 @@ In C<SL::Dispatcher> gibt es einen sauber abgetrennten Block der alle
 kanonischen globalen Variablen listet und erklärt. Bitte keine anderen
 einführen ohne das sauber zu dokumentieren.
 
-Datenbankverbindungen wird noch ein Guide verfasst werden, wie man sichergeht,
+Datenbankverbindungen wird noch ein Guide verfasst werden, wie man sicher geht,
 dass man die richtige erwischt.
 
 =head2 Performance und Statistiken
index c4636ba9ee6c2ed673a17920ab1b0f553cb1032c..807873fc06c5794d371a853ff83381a2cb58c546 100644 (file)
@@ -2,6 +2,7 @@
 @c %**start of header
 @setfilename INSTALL.info
 @documentencoding UTF-8
+@afourpaper
 @settitle Lx-Office Installationsanleitung
 @c %**end of header
 
index 5b52acb0e5c873b4e86b15ede93abcc6f42d212c..ddbffa0944f3813b7f8549ddd8dd62dde2877b06 100644 (file)
@@ -3,7 +3,7 @@
 <title>Administratorpasswort - Lx-Office Installationsanleitung</title>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <meta name="description" content="Lx-Office Installationsanleitung">
-<meta name="generator" content="makeinfo 4.13">
+<meta name="generator" content="makeinfo 4.11">
 <link title="Top" rel="start" href="index.html#Top">
 <link rel="up" href="Benutzerauthentifizierung-und-Administratorpasswort.html#Benutzerauthentifizierung-und-Administratorpasswort" title="Benutzerauthentifizierung und Administratorpasswort">
 <link rel="prev" href="Grundlagen-zur-Benutzerauthentifizierung.html#Grundlagen-zur-Benutzerauthentifizierung" title="Grundlagen zur Benutzerauthentifizierung">
 </head>
 <body>
 <div class="node">
-<a name="Administratorpasswort"></a>
 <p>
-Next:&nbsp;<a rel="next" accesskey="n" href="Authentifizierungsdatenbank.html#Authentifizierungsdatenbank">Authentifizierungsdatenbank</a>,
-Previous:&nbsp;<a rel="previous" accesskey="p" href="Grundlagen-zur-Benutzerauthentifizierung.html#Grundlagen-zur-Benutzerauthentifizierung">Grundlagen zur Benutzerauthentifizierung</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="Benutzerauthentifizierung-und-Administratorpasswort.html#Benutzerauthentifizierung-und-Administratorpasswort">Benutzerauthentifizierung und Administratorpasswort</a>
+<a name="Administratorpasswort"></a>
+n&auml;chstes:&nbsp;<a rel="next" accesskey="n" href="Authentifizierungsdatenbank.html#Authentifizierungsdatenbank">Authentifizierungsdatenbank</a>,
+voriges:&nbsp;<a rel="previous" accesskey="p" href="Grundlagen-zur-Benutzerauthentifizierung.html#Grundlagen-zur-Benutzerauthentifizierung">Grundlagen zur Benutzerauthentifizierung</a>,
+aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="Benutzerauthentifizierung-und-Administratorpasswort.html#Benutzerauthentifizierung-und-Administratorpasswort">Benutzerauthentifizierung und Administratorpasswort</a>
 <hr>
 </div>
 
index 1f3ea1fadf52d85f893434b22c15b3f0eaa9f538..b73c6d3545ff37122544b24ee5edc8b2d75e49ed 100644 (file)
@@ -3,7 +3,7 @@
 <title>Aktuelle Hinweise - Lx-Office Installationsanleitung</title>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <meta name="description" content="Lx-Office Installationsanleitung">
-<meta name="generator" content="makeinfo 4.13">
+<meta name="generator" content="makeinfo 4.11">
 <link title="Top" rel="start" href="index.html#Top">
 <link rel="prev" href="index.html#Top" title="Top">
 <link rel="next" href="Ben_00c3_00b6tigte-Software-und-Pakete.html#Ben_00c3_00b6tigte-Software-und-Pakete" title="Benötigte Software und Pakete">
 </head>
 <body>
 <div class="node">
-<a name="Aktuelle-Hinweise"></a>
 <p>
-Next:&nbsp;<a rel="next" accesskey="n" href="Ben_00c3_00b6tigte-Software-und-Pakete.html#Ben_00c3_00b6tigte-Software-und-Pakete">Benötigte Software und Pakete</a>,
-Previous:&nbsp;<a rel="previous" accesskey="p" href="index.html#Top">Top</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="index.html#Top">Top</a>
+<a name="Aktuelle-Hinweise"></a>
+n&auml;chstes:&nbsp;<a rel="next" accesskey="n" href="Ben_00c3_00b6tigte-Software-und-Pakete.html#Ben_00c3_00b6tigte-Software-und-Pakete">Benötigte Software und Pakete</a>,
+voriges:&nbsp;<a rel="previous" accesskey="p" href="index.html#Top">Top</a>,
+aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="index.html#Top">Top</a>
 <hr>
 </div>
 
index d7cb5442c1e600c5361670c3d81c47a15ffcf6a6..48c08995d9f06a6b5526dba1d5c11d2e22dcc6b0 100644 (file)
@@ -3,7 +3,7 @@
 <title>Anlegen der Authentifizierungsdatenbank - Lx-Office Installationsanleitung</title>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <meta name="description" content="Lx-Office Installationsanleitung">
-<meta name="generator" content="makeinfo 4.13">
+<meta name="generator" content="makeinfo 4.11">
 <link title="Top" rel="start" href="index.html#Top">
 <link rel="up" href="Benutzerauthentifizierung-und-Administratorpasswort.html#Benutzerauthentifizierung-und-Administratorpasswort" title="Benutzerauthentifizierung und Administratorpasswort">
 <link rel="prev" href="Name-des-Session_002dCookies.html#Name-des-Session_002dCookies" title="Name des Session-Cookies">
 </head>
 <body>
 <div class="node">
-<a name="Anlegen-der-Authentifizierungsdatenbank"></a>
 <p>
-Previous:&nbsp;<a rel="previous" accesskey="p" href="Name-des-Session_002dCookies.html#Name-des-Session_002dCookies">Name des Session-Cookies</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="Benutzerauthentifizierung-und-Administratorpasswort.html#Benutzerauthentifizierung-und-Administratorpasswort">Benutzerauthentifizierung und Administratorpasswort</a>
+<a name="Anlegen-der-Authentifizierungsdatenbank"></a>
+voriges:&nbsp;<a rel="previous" accesskey="p" href="Name-des-Session_002dCookies.html#Name-des-Session_002dCookies">Name des Session-Cookies</a>,
+aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="Benutzerauthentifizierung-und-Administratorpasswort.html#Benutzerauthentifizierung-und-Administratorpasswort">Benutzerauthentifizierung und Administratorpasswort</a>
 <hr>
 </div>
 
index 1633263684561356f89f31156bb3d4854d6009f8..a3cb96d3ea7eea10969e0a5861da4a92d34ecacd 100644 (file)
@@ -3,7 +3,7 @@
 <title>Anpassung der PostgreSQL-Konfiguration - Lx-Office Installationsanleitung</title>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <meta name="description" content="Lx-Office Installationsanleitung">
-<meta name="generator" content="makeinfo 4.13">
+<meta name="generator" content="makeinfo 4.11">
 <link title="Top" rel="start" href="index.html#Top">
 <link rel="prev" href="Manuelle-Installation-des-Programmpaketes.html#Manuelle-Installation-des-Programmpaketes" title="Manuelle Installation des Programmpaketes">
 <link rel="next" href="Apache_002dKonfiguration.html#Apache_002dKonfiguration" title="Apache-Konfiguration">
 </head>
 <body>
 <div class="node">
+<p>
 <a name="Anpassung-der-PostgreSQL-Konfiguration"></a>
 <a name="Anpassung-der-PostgreSQL_002dKonfiguration"></a>
-<p>
-Next:&nbsp;<a rel="next" accesskey="n" href="Apache_002dKonfiguration.html#Apache_002dKonfiguration">Apache-Konfiguration</a>,
-Previous:&nbsp;<a rel="previous" accesskey="p" href="Manuelle-Installation-des-Programmpaketes.html#Manuelle-Installation-des-Programmpaketes">Manuelle Installation des Programmpaketes</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="index.html#Top">Top</a>
+n&auml;chstes:&nbsp;<a rel="next" accesskey="n" href="Apache_002dKonfiguration.html#Apache_002dKonfiguration">Apache-Konfiguration</a>,
+voriges:&nbsp;<a rel="previous" accesskey="p" href="Manuelle-Installation-des-Programmpaketes.html#Manuelle-Installation-des-Programmpaketes">Manuelle Installation des Programmpaketes</a>,
+aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="index.html#Top">Top</a>
 <hr>
 </div>
 
index 6af32f7223ef1d118cf957d0d501b90e830a68a3..13e084c788e0207a364748ade1b34c0b3a4490aa 100644 (file)
@@ -3,7 +3,7 @@
 <title>Apache-Konfiguration - Lx-Office Installationsanleitung</title>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <meta name="description" content="Lx-Office Installationsanleitung">
-<meta name="generator" content="makeinfo 4.13">
+<meta name="generator" content="makeinfo 4.11">
 <link title="Top" rel="start" href="index.html#Top">
 <link rel="prev" href="Anpassung-der-PostgreSQL_002dKonfiguration.html#Anpassung-der-PostgreSQL_002dKonfiguration" title="Anpassung der PostgreSQL-Konfiguration">
 <link rel="next" href="Benutzerauthentifizierung-und-Administratorpasswort.html#Benutzerauthentifizierung-und-Administratorpasswort" title="Benutzerauthentifizierung und Administratorpasswort">
 </head>
 <body>
 <div class="node">
+<p>
 <a name="Apache-Konfiguration"></a>
 <a name="Apache_002dKonfiguration"></a>
-<p>
-Next:&nbsp;<a rel="next" accesskey="n" href="Benutzerauthentifizierung-und-Administratorpasswort.html#Benutzerauthentifizierung-und-Administratorpasswort">Benutzerauthentifizierung und Administratorpasswort</a>,
-Previous:&nbsp;<a rel="previous" accesskey="p" href="Anpassung-der-PostgreSQL_002dKonfiguration.html#Anpassung-der-PostgreSQL_002dKonfiguration">Anpassung der PostgreSQL-Konfiguration</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="index.html#Top">Top</a>
+n&auml;chstes:&nbsp;<a rel="next" accesskey="n" href="Benutzerauthentifizierung-und-Administratorpasswort.html#Benutzerauthentifizierung-und-Administratorpasswort">Benutzerauthentifizierung und Administratorpasswort</a>,
+voriges:&nbsp;<a rel="previous" accesskey="p" href="Anpassung-der-PostgreSQL_002dKonfiguration.html#Anpassung-der-PostgreSQL_002dKonfiguration">Anpassung der PostgreSQL-Konfiguration</a>,
+aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="index.html#Top">Top</a>
 <hr>
 </div>
 
index 3cb05b36214eb68b49960619e565d680e6335cb8..a1c7204c89fc38349fc351dbe852fefc4a593489 100644 (file)
@@ -3,7 +3,7 @@
 <title>Authentifizierungsdatenbank - Lx-Office Installationsanleitung</title>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <meta name="description" content="Lx-Office Installationsanleitung">
-<meta name="generator" content="makeinfo 4.13">
+<meta name="generator" content="makeinfo 4.11">
 <link title="Top" rel="start" href="index.html#Top">
 <link rel="up" href="Benutzerauthentifizierung-und-Administratorpasswort.html#Benutzerauthentifizierung-und-Administratorpasswort" title="Benutzerauthentifizierung und Administratorpasswort">
 <link rel="prev" href="Administratorpasswort.html#Administratorpasswort" title="Administratorpasswort">
 </head>
 <body>
 <div class="node">
-<a name="Authentifizierungsdatenbank"></a>
 <p>
-Next:&nbsp;<a rel="next" accesskey="n" href="Passwort_00c3_00bcberpr_00c3_00bcfung.html#Passwort_00c3_00bcberpr_00c3_00bcfung">Passwortüberprüfung</a>,
-Previous:&nbsp;<a rel="previous" accesskey="p" href="Administratorpasswort.html#Administratorpasswort">Administratorpasswort</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="Benutzerauthentifizierung-und-Administratorpasswort.html#Benutzerauthentifizierung-und-Administratorpasswort">Benutzerauthentifizierung und Administratorpasswort</a>
+<a name="Authentifizierungsdatenbank"></a>
+n&auml;chstes:&nbsp;<a rel="next" accesskey="n" href="Passwort_00c3_00bcberpr_00c3_00bcfung.html#Passwort_00c3_00bcberpr_00c3_00bcfung">Passwortüberprüfung</a>,
+voriges:&nbsp;<a rel="previous" accesskey="p" href="Administratorpasswort.html#Administratorpasswort">Administratorpasswort</a>,
+aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="Benutzerauthentifizierung-und-Administratorpasswort.html#Benutzerauthentifizierung-und-Administratorpasswort">Benutzerauthentifizierung und Administratorpasswort</a>
 <hr>
 </div>
 
index 1d273739cc2628aaa74a43cb31c061e7eed3429b..79205132a292a8c9c467aa8734136e438397e808 100644 (file)
@@ -3,7 +3,7 @@
 <title>Benötigte Software und Pakete - Lx-Office Installationsanleitung</title>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <meta name="description" content="Lx-Office Installationsanleitung">
-<meta name="generator" content="makeinfo 4.13">
+<meta name="generator" content="makeinfo 4.11">
 <link title="Top" rel="start" href="index.html#Top">
 <link rel="prev" href="Aktuelle-Hinweise.html#Aktuelle-Hinweise" title="Aktuelle Hinweise">
 <link rel="next" href="Manuelle-Installation-des-Programmpaketes.html#Manuelle-Installation-des-Programmpaketes" title="Manuelle Installation des Programmpaketes">
 </head>
 <body>
 <div class="node">
+<p>
 <a name="Ben%c3%b6tigte-Software-und-Pakete"></a>
 <a name="Ben_00c3_00b6tigte-Software-und-Pakete"></a>
-<p>
-Next:&nbsp;<a rel="next" accesskey="n" href="Manuelle-Installation-des-Programmpaketes.html#Manuelle-Installation-des-Programmpaketes">Manuelle Installation des Programmpaketes</a>,
-Previous:&nbsp;<a rel="previous" accesskey="p" href="Aktuelle-Hinweise.html#Aktuelle-Hinweise">Aktuelle Hinweise</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="index.html#Top">Top</a>
+n&auml;chstes:&nbsp;<a rel="next" accesskey="n" href="Manuelle-Installation-des-Programmpaketes.html#Manuelle-Installation-des-Programmpaketes">Manuelle Installation des Programmpaketes</a>,
+voriges:&nbsp;<a rel="previous" accesskey="p" href="Aktuelle-Hinweise.html#Aktuelle-Hinweise">Aktuelle Hinweise</a>,
+aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="index.html#Top">Top</a>
 <hr>
 </div>
 
index f7bc4cc42f31a52534d037d28123fa06e21a5430..82276ad4b21585996532ff61a32275421100e5c5 100644 (file)
@@ -3,7 +3,7 @@
 <title>Benutzer anlegen - Lx-Office Installationsanleitung</title>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <meta name="description" content="Lx-Office Installationsanleitung">
-<meta name="generator" content="makeinfo 4.13">
+<meta name="generator" content="makeinfo 4.11">
 <link title="Top" rel="start" href="index.html#Top">
 <link rel="up" href="Benutzer_002d-und-Gruppenverwaltung.html#Benutzer_002d-und-Gruppenverwaltung" title="Benutzer- und Gruppenverwaltung">
 <link rel="prev" href="Gruppen-anlegen.html#Gruppen-anlegen" title="Gruppen anlegen">
 </head>
 <body>
 <div class="node">
-<a name="Benutzer-anlegen"></a>
 <p>
-Next:&nbsp;<a rel="next" accesskey="n" href="Gruppenmitgliedschaften-verwalten.html#Gruppenmitgliedschaften-verwalten">Gruppenmitgliedschaften verwalten</a>,
-Previous:&nbsp;<a rel="previous" accesskey="p" href="Gruppen-anlegen.html#Gruppen-anlegen">Gruppen anlegen</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="Benutzer_002d-und-Gruppenverwaltung.html#Benutzer_002d-und-Gruppenverwaltung">Benutzer- und Gruppenverwaltung</a>
+<a name="Benutzer-anlegen"></a>
+n&auml;chstes:&nbsp;<a rel="next" accesskey="n" href="Gruppenmitgliedschaften-verwalten.html#Gruppenmitgliedschaften-verwalten">Gruppenmitgliedschaften verwalten</a>,
+voriges:&nbsp;<a rel="previous" accesskey="p" href="Gruppen-anlegen.html#Gruppen-anlegen">Gruppen anlegen</a>,
+aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="Benutzer_002d-und-Gruppenverwaltung.html#Benutzer_002d-und-Gruppenverwaltung">Benutzer- und Gruppenverwaltung</a>
 <hr>
 </div>
 
index d971a57ccf266992de50385091a1ca001aeaf724..d1772ce0d2c3e0a7411d1e7ac34a433852a85390 100644 (file)
@@ -3,7 +3,7 @@
 <title>Benutzer- und Gruppenverwaltung - Lx-Office Installationsanleitung</title>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <meta name="description" content="Lx-Office Installationsanleitung">
-<meta name="generator" content="makeinfo 4.13">
+<meta name="generator" content="makeinfo 4.11">
 <link title="Top" rel="start" href="index.html#Top">
 <link rel="prev" href="Benutzerauthentifizierung-und-Administratorpasswort.html#Benutzerauthentifizierung-und-Administratorpasswort" title="Benutzerauthentifizierung und Administratorpasswort">
 <link rel="next" href="OpenDocument_002dVorlagen.html#OpenDocument_002dVorlagen" title="OpenDocument-Vorlagen">
 </head>
 <body>
 <div class="node">
+<p>
 <a name="Benutzer--und-Gruppenverwaltung"></a>
 <a name="Benutzer_002d-und-Gruppenverwaltung"></a>
-<p>
-Next:&nbsp;<a rel="next" accesskey="n" href="OpenDocument_002dVorlagen.html#OpenDocument_002dVorlagen">OpenDocument-Vorlagen</a>,
-Previous:&nbsp;<a rel="previous" accesskey="p" href="Benutzerauthentifizierung-und-Administratorpasswort.html#Benutzerauthentifizierung-und-Administratorpasswort">Benutzerauthentifizierung und Administratorpasswort</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="index.html#Top">Top</a>
+n&auml;chstes:&nbsp;<a rel="next" accesskey="n" href="OpenDocument_002dVorlagen.html#OpenDocument_002dVorlagen">OpenDocument-Vorlagen</a>,
+voriges:&nbsp;<a rel="previous" accesskey="p" href="Benutzerauthentifizierung-und-Administratorpasswort.html#Benutzerauthentifizierung-und-Administratorpasswort">Benutzerauthentifizierung und Administratorpasswort</a>,
+aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="index.html#Top">Top</a>
 <hr>
 </div>
 
index 9495dbce911ec7da7ac0be5fd29d15b64275b6a3..159b6441a9c60f7b959858c9ed0141d6de516648 100644 (file)
@@ -3,7 +3,7 @@
 <title>Benutzerauthentifizierung und Administratorpasswort - Lx-Office Installationsanleitung</title>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <meta name="description" content="Lx-Office Installationsanleitung">
-<meta name="generator" content="makeinfo 4.13">
+<meta name="generator" content="makeinfo 4.11">
 <link title="Top" rel="start" href="index.html#Top">
 <link rel="prev" href="Apache_002dKonfiguration.html#Apache_002dKonfiguration" title="Apache-Konfiguration">
 <link rel="next" href="Benutzer_002d-und-Gruppenverwaltung.html#Benutzer_002d-und-Gruppenverwaltung" title="Benutzer- und Gruppenverwaltung">
 </head>
 <body>
 <div class="node">
-<a name="Benutzerauthentifizierung-und-Administratorpasswort"></a>
 <p>
-Next:&nbsp;<a rel="next" accesskey="n" href="Benutzer_002d-und-Gruppenverwaltung.html#Benutzer_002d-und-Gruppenverwaltung">Benutzer- und Gruppenverwaltung</a>,
-Previous:&nbsp;<a rel="previous" accesskey="p" href="Apache_002dKonfiguration.html#Apache_002dKonfiguration">Apache-Konfiguration</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="index.html#Top">Top</a>
+<a name="Benutzerauthentifizierung-und-Administratorpasswort"></a>
+n&auml;chstes:&nbsp;<a rel="next" accesskey="n" href="Benutzer_002d-und-Gruppenverwaltung.html#Benutzer_002d-und-Gruppenverwaltung">Benutzer- und Gruppenverwaltung</a>,
+voriges:&nbsp;<a rel="previous" accesskey="p" href="Apache_002dKonfiguration.html#Apache_002dKonfiguration">Apache-Konfiguration</a>,
+aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="index.html#Top">Top</a>
 <hr>
 </div>
 
index 46175cf61453ac5c8c1041b00600dde2b4fb4b88..40515d2b0d285ddedddf8996c182372638403d22 100644 (file)
@@ -3,7 +3,7 @@
 <title>Betriebssystem - Lx-Office Installationsanleitung</title>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <meta name="description" content="Lx-Office Installationsanleitung">
-<meta name="generator" content="makeinfo 4.13">
+<meta name="generator" content="makeinfo 4.11">
 <link title="Top" rel="start" href="index.html#Top">
 <link rel="up" href="Ben_00c3_00b6tigte-Software-und-Pakete.html#Ben_00c3_00b6tigte-Software-und-Pakete" title="Benötigte Software und Pakete">
 <link rel="next" href="Pakete.html#Pakete" title="Pakete">
 </head>
 <body>
 <div class="node">
-<a name="Betriebssystem"></a>
 <p>
-Next:&nbsp;<a rel="next" accesskey="n" href="Pakete.html#Pakete">Pakete</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="Ben_00c3_00b6tigte-Software-und-Pakete.html#Ben_00c3_00b6tigte-Software-und-Pakete">Benötigte Software und Pakete</a>
+<a name="Betriebssystem"></a>
+n&auml;chstes:&nbsp;<a rel="next" accesskey="n" href="Pakete.html#Pakete">Pakete</a>,
+aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="Ben_00c3_00b6tigte-Software-und-Pakete.html#Ben_00c3_00b6tigte-Software-und-Pakete">Benötigte Software und Pakete</a>
 <hr>
 </div>
 
@@ -63,7 +63,7 @@ installieren sind. Dafür sollte es kurz nach dem Release ein eigenes .deb
 geben.
 
    <p>Alternativ dazu kann die normale Installation durchgeführt werden
-(see <a href="Manuelle-Installation-des-Programmpaketes.html#Manuelle-Installation-des-Programmpaketes">Manuelle Installation des Programmpaketes</a>), wenn vorher ein
+(siehe <a href="Manuelle-Installation-des-Programmpaketes.html#Manuelle-Installation-des-Programmpaketes">Manuelle Installation des Programmpaketes</a>), wenn vorher ein
 Kompatibilitätspaket installiert wird, das die fehlenden Pakete bereitstellt. 
 Das Paket ist auf <a href="https://sourceforge.net/projects/lx-office/files/Lx-Office%20ERP/2.6.2/">Sourceforge</a> unter dem Namen <code>lx-erp-perl-libs-compat-v2.tar.gz</code> hinterlegt.
 
@@ -75,7 +75,7 @@ Das Paket ist auf <a href="https://sourceforge.net/projects/lx-office/files/Lx-O
 
    <p><code>libbit-vector-perl libsub-exporter-perl libclone-perl libclass-factory-util-perl</code>
 
-   <p>Danach sollte der Installationscheck (see <a href="Pakete.html#Pakete">Pakete</a>) die enthaltenen Pakete erkennen.
+   <p>Danach sollte der Installationscheck (siehe <a href="Pakete.html#Pakete">Pakete</a>) die enthaltenen Pakete erkennen.
 
    </body></html>
 
index b33dba39b34cc61acf1d7e05b07393be77c46863..d25d81dca936bd9ded903b77741a5f2d14647fbc 100644 (file)
@@ -3,7 +3,7 @@
 <title>Datenbankbenutzer anlegen - Lx-Office Installationsanleitung</title>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <meta name="description" content="Lx-Office Installationsanleitung">
-<meta name="generator" content="makeinfo 4.13">
+<meta name="generator" content="makeinfo 4.11">
 <link title="Top" rel="start" href="index.html#Top">
 <link rel="up" href="Anpassung-der-PostgreSQL_002dKonfiguration.html#Anpassung-der-PostgreSQL_002dKonfiguration" title="Anpassung der PostgreSQL-Konfiguration">
 <link rel="prev" href="Erweiterung-f_00c3_00bcr-servergespeicherte-Prozeduren.html#Erweiterung-f_00c3_00bcr-servergespeicherte-Prozeduren" title="Erweiterung für servergespeicherte Prozeduren">
 </head>
 <body>
 <div class="node">
-<a name="Datenbankbenutzer-anlegen"></a>
 <p>
-Previous:&nbsp;<a rel="previous" accesskey="p" href="Erweiterung-f_00c3_00bcr-servergespeicherte-Prozeduren.html#Erweiterung-f_00c3_00bcr-servergespeicherte-Prozeduren">Erweiterung für servergespeicherte Prozeduren</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="Anpassung-der-PostgreSQL_002dKonfiguration.html#Anpassung-der-PostgreSQL_002dKonfiguration">Anpassung der PostgreSQL-Konfiguration</a>
+<a name="Datenbankbenutzer-anlegen"></a>
+voriges:&nbsp;<a rel="previous" accesskey="p" href="Erweiterung-f_00c3_00bcr-servergespeicherte-Prozeduren.html#Erweiterung-f_00c3_00bcr-servergespeicherte-Prozeduren">Erweiterung für servergespeicherte Prozeduren</a>,
+aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="Anpassung-der-PostgreSQL_002dKonfiguration.html#Anpassung-der-PostgreSQL_002dKonfiguration">Anpassung der PostgreSQL-Konfiguration</a>
 <hr>
 </div>
 
index c8eff511e4d618d75427961da52b93c24d8514e7..6b943419c2f02252c821b888eb483e1c76b48c90 100644 (file)
@@ -3,7 +3,7 @@
 <title>Datenbanken anlegen - Lx-Office Installationsanleitung</title>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <meta name="description" content="Lx-Office Installationsanleitung">
-<meta name="generator" content="makeinfo 4.13">
+<meta name="generator" content="makeinfo 4.11">
 <link title="Top" rel="start" href="index.html#Top">
 <link rel="up" href="Benutzer_002d-und-Gruppenverwaltung.html#Benutzer_002d-und-Gruppenverwaltung" title="Benutzer- und Gruppenverwaltung">
 <link rel="prev" href="Zusammenh_00c3_00a4nge.html#Zusammenh_00c3_00a4nge" title="Zusammenhänge">
 </head>
 <body>
 <div class="node">
-<a name="Datenbanken-anlegen"></a>
 <p>
-Next:&nbsp;<a rel="next" accesskey="n" href="Gruppen-anlegen.html#Gruppen-anlegen">Gruppen anlegen</a>,
-Previous:&nbsp;<a rel="previous" accesskey="p" href="Zusammenh_00c3_00a4nge.html#Zusammenh_00c3_00a4nge">Zusammenhänge</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="Benutzer_002d-und-Gruppenverwaltung.html#Benutzer_002d-und-Gruppenverwaltung">Benutzer- und Gruppenverwaltung</a>
+<a name="Datenbanken-anlegen"></a>
+n&auml;chstes:&nbsp;<a rel="next" accesskey="n" href="Gruppen-anlegen.html#Gruppen-anlegen">Gruppen anlegen</a>,
+voriges:&nbsp;<a rel="previous" accesskey="p" href="Zusammenh_00c3_00a4nge.html#Zusammenh_00c3_00a4nge">Zusammenhänge</a>,
+aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="Benutzer_002d-und-Gruppenverwaltung.html#Benutzer_002d-und-Gruppenverwaltung">Benutzer- und Gruppenverwaltung</a>
 <hr>
 </div>
 
index 6fb1b36305484add3d2f99c4f6e991f229b95b8f..ecf809e4d8afe461065033b2092c83d449db05fc 100644 (file)
@@ -3,7 +3,7 @@
 <title>Erweiterung für servergespeicherte Prozeduren - Lx-Office Installationsanleitung</title>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <meta name="description" content="Lx-Office Installationsanleitung">
-<meta name="generator" content="makeinfo 4.13">
+<meta name="generator" content="makeinfo 4.11">
 <link title="Top" rel="start" href="index.html#Top">
 <link rel="up" href="Anpassung-der-PostgreSQL_002dKonfiguration.html#Anpassung-der-PostgreSQL_002dKonfiguration" title="Anpassung der PostgreSQL-Konfiguration">
 <link rel="prev" href="_00c3_0084nderungen-an-Konfigurationsdateien.html#g_t_00c3_0084nderungen-an-Konfigurationsdateien" title="Änderungen an Konfigurationsdateien">
 </head>
 <body>
 <div class="node">
+<p>
 <a name="Erweiterung-f%c3%bcr-servergespeicherte-Prozeduren"></a>
 <a name="Erweiterung-f_00c3_00bcr-servergespeicherte-Prozeduren"></a>
-<p>
-Next:&nbsp;<a rel="next" accesskey="n" href="Datenbankbenutzer-anlegen.html#Datenbankbenutzer-anlegen">Datenbankbenutzer anlegen</a>,
-Previous:&nbsp;<a rel="previous" accesskey="p" href="_00c3_0084nderungen-an-Konfigurationsdateien.html#g_t_00c3_0084nderungen-an-Konfigurationsdateien">Änderungen an Konfigurationsdateien</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="Anpassung-der-PostgreSQL_002dKonfiguration.html#Anpassung-der-PostgreSQL_002dKonfiguration">Anpassung der PostgreSQL-Konfiguration</a>
+n&auml;chstes:&nbsp;<a rel="next" accesskey="n" href="Datenbankbenutzer-anlegen.html#Datenbankbenutzer-anlegen">Datenbankbenutzer anlegen</a>,
+voriges:&nbsp;<a rel="previous" accesskey="p" href="_00c3_0084nderungen-an-Konfigurationsdateien.html#g_t_00c3_0084nderungen-an-Konfigurationsdateien">Änderungen an Konfigurationsdateien</a>,
+aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="Anpassung-der-PostgreSQL_002dKonfiguration.html#Anpassung-der-PostgreSQL_002dKonfiguration">Anpassung der PostgreSQL-Konfiguration</a>
 <hr>
 </div>
 
index 76f4d6881bb9368415aa700df06ca33d3c1adae2..7e858975bf2df9efee119f3af3013de85db10602 100644 (file)
@@ -3,7 +3,7 @@
 <title>Grundlagen zur Benutzerauthentifizierung - Lx-Office Installationsanleitung</title>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <meta name="description" content="Lx-Office Installationsanleitung">
-<meta name="generator" content="makeinfo 4.13">
+<meta name="generator" content="makeinfo 4.11">
 <link title="Top" rel="start" href="index.html#Top">
 <link rel="up" href="Benutzerauthentifizierung-und-Administratorpasswort.html#Benutzerauthentifizierung-und-Administratorpasswort" title="Benutzerauthentifizierung und Administratorpasswort">
 <link rel="next" href="Administratorpasswort.html#Administratorpasswort" title="Administratorpasswort">
 </head>
 <body>
 <div class="node">
-<a name="Grundlagen-zur-Benutzerauthentifizierung"></a>
 <p>
-Next:&nbsp;<a rel="next" accesskey="n" href="Administratorpasswort.html#Administratorpasswort">Administratorpasswort</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="Benutzerauthentifizierung-und-Administratorpasswort.html#Benutzerauthentifizierung-und-Administratorpasswort">Benutzerauthentifizierung und Administratorpasswort</a>
+<a name="Grundlagen-zur-Benutzerauthentifizierung"></a>
+n&auml;chstes:&nbsp;<a rel="next" accesskey="n" href="Administratorpasswort.html#Administratorpasswort">Administratorpasswort</a>,
+aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="Benutzerauthentifizierung-und-Administratorpasswort.html#Benutzerauthentifizierung-und-Administratorpasswort">Benutzerauthentifizierung und Administratorpasswort</a>
 <hr>
 </div>
 
index 4d695c81e83d94ae99be4e62463fe6abdaa9a315..a8e36d1d2d4e5bc1a56f780ddc8987faffe19730 100644 (file)
@@ -3,7 +3,7 @@
 <title>Gruppen anlegen - Lx-Office Installationsanleitung</title>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <meta name="description" content="Lx-Office Installationsanleitung">
-<meta name="generator" content="makeinfo 4.13">
+<meta name="generator" content="makeinfo 4.11">
 <link title="Top" rel="start" href="index.html#Top">
 <link rel="up" href="Benutzer_002d-und-Gruppenverwaltung.html#Benutzer_002d-und-Gruppenverwaltung" title="Benutzer- und Gruppenverwaltung">
 <link rel="prev" href="Datenbanken-anlegen.html#Datenbanken-anlegen" title="Datenbanken anlegen">
 </head>
 <body>
 <div class="node">
-<a name="Gruppen-anlegen"></a>
 <p>
-Next:&nbsp;<a rel="next" accesskey="n" href="Benutzer-anlegen.html#Benutzer-anlegen">Benutzer anlegen</a>,
-Previous:&nbsp;<a rel="previous" accesskey="p" href="Datenbanken-anlegen.html#Datenbanken-anlegen">Datenbanken anlegen</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="Benutzer_002d-und-Gruppenverwaltung.html#Benutzer_002d-und-Gruppenverwaltung">Benutzer- und Gruppenverwaltung</a>
+<a name="Gruppen-anlegen"></a>
+n&auml;chstes:&nbsp;<a rel="next" accesskey="n" href="Benutzer-anlegen.html#Benutzer-anlegen">Benutzer anlegen</a>,
+voriges:&nbsp;<a rel="previous" accesskey="p" href="Datenbanken-anlegen.html#Datenbanken-anlegen">Datenbanken anlegen</a>,
+aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="Benutzer_002d-und-Gruppenverwaltung.html#Benutzer_002d-und-Gruppenverwaltung">Benutzer- und Gruppenverwaltung</a>
 <hr>
 </div>
 
index 9be7c420e5629847b99e7ff6082b2ff02610ab02..a8be5f938a49b2894f085ddd92321957cb733f81 100644 (file)
@@ -3,7 +3,7 @@
 <title>Gruppenmitgliedschaften verwalten - Lx-Office Installationsanleitung</title>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <meta name="description" content="Lx-Office Installationsanleitung">
-<meta name="generator" content="makeinfo 4.13">
+<meta name="generator" content="makeinfo 4.11">
 <link title="Top" rel="start" href="index.html#Top">
 <link rel="up" href="Benutzer_002d-und-Gruppenverwaltung.html#Benutzer_002d-und-Gruppenverwaltung" title="Benutzer- und Gruppenverwaltung">
 <link rel="prev" href="Benutzer-anlegen.html#Benutzer-anlegen" title="Benutzer anlegen">
 </head>
 <body>
 <div class="node">
-<a name="Gruppenmitgliedschaften-verwalten"></a>
 <p>
-Next:&nbsp;<a rel="next" accesskey="n" href="Migration-alter-Installationen.html#Migration-alter-Installationen">Migration alter Installationen</a>,
-Previous:&nbsp;<a rel="previous" accesskey="p" href="Benutzer-anlegen.html#Benutzer-anlegen">Benutzer anlegen</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="Benutzer_002d-und-Gruppenverwaltung.html#Benutzer_002d-und-Gruppenverwaltung">Benutzer- und Gruppenverwaltung</a>
+<a name="Gruppenmitgliedschaften-verwalten"></a>
+n&auml;chstes:&nbsp;<a rel="next" accesskey="n" href="Migration-alter-Installationen.html#Migration-alter-Installationen">Migration alter Installationen</a>,
+voriges:&nbsp;<a rel="previous" accesskey="p" href="Benutzer-anlegen.html#Benutzer-anlegen">Benutzer anlegen</a>,
+aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="Benutzer_002d-und-Gruppenverwaltung.html#Benutzer_002d-und-Gruppenverwaltung">Benutzer- und Gruppenverwaltung</a>
 <hr>
 </div>
 
index 6a754dbf3cb13b4c9e1177b5b20b8c59ee2cb9fa..d0a11d8f7cb246154a613203e2f5bb4bf40857d1 100644 (file)
@@ -3,7 +3,7 @@
 <title>Lx-Office ERP verwenden - Lx-Office Installationsanleitung</title>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <meta name="description" content="Lx-Office Installationsanleitung">
-<meta name="generator" content="makeinfo 4.13">
+<meta name="generator" content="makeinfo 4.11">
 <link title="Top" rel="start" href="index.html#Top">
 <link rel="prev" href="OpenDocument_002dVorlagen.html#OpenDocument_002dVorlagen" title="OpenDocument-Vorlagen">
 <link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
 </head>
 <body>
 <div class="node">
+<p>
 <a name="Lx-Office-ERP-verwenden"></a>
 <a name="Lx_002dOffice-ERP-verwenden"></a>
-<p>
-Previous:&nbsp;<a rel="previous" accesskey="p" href="OpenDocument_002dVorlagen.html#OpenDocument_002dVorlagen">OpenDocument-Vorlagen</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="index.html#Top">Top</a>
+voriges:&nbsp;<a rel="previous" accesskey="p" href="OpenDocument_002dVorlagen.html#OpenDocument_002dVorlagen">OpenDocument-Vorlagen</a>,
+aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="index.html#Top">Top</a>
 <hr>
 </div>
 
index b541f37d3ad5944aa70aa0daa9461185e94b6f29..e3f64d5126b70f76612dd8fdd5cbe76b2f45bcc9 100644 (file)
@@ -3,7 +3,7 @@
 <title>Manuelle Installation des Programmpaketes - Lx-Office Installationsanleitung</title>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <meta name="description" content="Lx-Office Installationsanleitung">
-<meta name="generator" content="makeinfo 4.13">
+<meta name="generator" content="makeinfo 4.11">
 <link title="Top" rel="start" href="index.html#Top">
 <link rel="prev" href="Ben_00c3_00b6tigte-Software-und-Pakete.html#Ben_00c3_00b6tigte-Software-und-Pakete" title="Benötigte Software und Pakete">
 <link rel="next" href="Anpassung-der-PostgreSQL_002dKonfiguration.html#Anpassung-der-PostgreSQL_002dKonfiguration" title="Anpassung der PostgreSQL-Konfiguration">
 </head>
 <body>
 <div class="node">
-<a name="Manuelle-Installation-des-Programmpaketes"></a>
 <p>
-Next:&nbsp;<a rel="next" accesskey="n" href="Anpassung-der-PostgreSQL_002dKonfiguration.html#Anpassung-der-PostgreSQL_002dKonfiguration">Anpassung der PostgreSQL-Konfiguration</a>,
-Previous:&nbsp;<a rel="previous" accesskey="p" href="Ben_00c3_00b6tigte-Software-und-Pakete.html#Ben_00c3_00b6tigte-Software-und-Pakete">Benötigte Software und Pakete</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="index.html#Top">Top</a>
+<a name="Manuelle-Installation-des-Programmpaketes"></a>
+n&auml;chstes:&nbsp;<a rel="next" accesskey="n" href="Anpassung-der-PostgreSQL_002dKonfiguration.html#Anpassung-der-PostgreSQL_002dKonfiguration">Anpassung der PostgreSQL-Konfiguration</a>,
+voriges:&nbsp;<a rel="previous" accesskey="p" href="Ben_00c3_00b6tigte-Software-und-Pakete.html#Ben_00c3_00b6tigte-Software-und-Pakete">Benötigte Software und Pakete</a>,
+aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="index.html#Top">Top</a>
 <hr>
 </div>
 
index 666e4f58f9f7acd066cb290456526950622b1eb7..5cd695206571fd79e193d5de1cf61f31e1634f27 100644 (file)
@@ -3,7 +3,7 @@
 <title>Migration alter Installationen - Lx-Office Installationsanleitung</title>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <meta name="description" content="Lx-Office Installationsanleitung">
-<meta name="generator" content="makeinfo 4.13">
+<meta name="generator" content="makeinfo 4.11">
 <link title="Top" rel="start" href="index.html#Top">
 <link rel="up" href="Benutzer_002d-und-Gruppenverwaltung.html#Benutzer_002d-und-Gruppenverwaltung" title="Benutzer- und Gruppenverwaltung">
 <link rel="prev" href="Gruppenmitgliedschaften-verwalten.html#Gruppenmitgliedschaften-verwalten" title="Gruppenmitgliedschaften verwalten">
 </head>
 <body>
 <div class="node">
-<a name="Migration-alter-Installationen"></a>
 <p>
-Previous:&nbsp;<a rel="previous" accesskey="p" href="Gruppenmitgliedschaften-verwalten.html#Gruppenmitgliedschaften-verwalten">Gruppenmitgliedschaften verwalten</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="Benutzer_002d-und-Gruppenverwaltung.html#Benutzer_002d-und-Gruppenverwaltung">Benutzer- und Gruppenverwaltung</a>
+<a name="Migration-alter-Installationen"></a>
+voriges:&nbsp;<a rel="previous" accesskey="p" href="Gruppenmitgliedschaften-verwalten.html#Gruppenmitgliedschaften-verwalten">Gruppenmitgliedschaften verwalten</a>,
+aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="Benutzer_002d-und-Gruppenverwaltung.html#Benutzer_002d-und-Gruppenverwaltung">Benutzer- und Gruppenverwaltung</a>
 <hr>
 </div>
 
index 61a78808b92d65ab61e765ce6dcb41a53ff93a2c..4809b753907e77b4a936b186b66ec1237a73f7bb 100644 (file)
@@ -3,7 +3,7 @@
 <title>Name des Session-Cookies - Lx-Office Installationsanleitung</title>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <meta name="description" content="Lx-Office Installationsanleitung">
-<meta name="generator" content="makeinfo 4.13">
+<meta name="generator" content="makeinfo 4.11">
 <link title="Top" rel="start" href="index.html#Top">
 <link rel="up" href="Benutzerauthentifizierung-und-Administratorpasswort.html#Benutzerauthentifizierung-und-Administratorpasswort" title="Benutzerauthentifizierung und Administratorpasswort">
 <link rel="prev" href="Passwort_00c3_00bcberpr_00c3_00bcfung.html#Passwort_00c3_00bcberpr_00c3_00bcfung" title="Passwortüberprüfung">
 </head>
 <body>
 <div class="node">
+<p>
 <a name="Name-des-Session-Cookies"></a>
 <a name="Name-des-Session_002dCookies"></a>
-<p>
-Next:&nbsp;<a rel="next" accesskey="n" href="Anlegen-der-Authentifizierungsdatenbank.html#Anlegen-der-Authentifizierungsdatenbank">Anlegen der Authentifizierungsdatenbank</a>,
-Previous:&nbsp;<a rel="previous" accesskey="p" href="Passwort_00c3_00bcberpr_00c3_00bcfung.html#Passwort_00c3_00bcberpr_00c3_00bcfung">Passwortüberprüfung</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="Benutzerauthentifizierung-und-Administratorpasswort.html#Benutzerauthentifizierung-und-Administratorpasswort">Benutzerauthentifizierung und Administratorpasswort</a>
+n&auml;chstes:&nbsp;<a rel="next" accesskey="n" href="Anlegen-der-Authentifizierungsdatenbank.html#Anlegen-der-Authentifizierungsdatenbank">Anlegen der Authentifizierungsdatenbank</a>,
+voriges:&nbsp;<a rel="previous" accesskey="p" href="Passwort_00c3_00bcberpr_00c3_00bcfung.html#Passwort_00c3_00bcberpr_00c3_00bcfung">Passwortüberprüfung</a>,
+aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="Benutzerauthentifizierung-und-Administratorpasswort.html#Benutzerauthentifizierung-und-Administratorpasswort">Benutzerauthentifizierung und Administratorpasswort</a>
 <hr>
 </div>
 
index 0c7778827977c0a09f13d884471b7a5643b5319e..654f3314f81f18a61621afa320c5c71d4f2dc295 100644 (file)
@@ -3,7 +3,7 @@
 <title>OpenDocument-Vorlagen - Lx-Office Installationsanleitung</title>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <meta name="description" content="Lx-Office Installationsanleitung">
-<meta name="generator" content="makeinfo 4.13">
+<meta name="generator" content="makeinfo 4.11">
 <link title="Top" rel="start" href="index.html#Top">
 <link rel="prev" href="Benutzer_002d-und-Gruppenverwaltung.html#Benutzer_002d-und-Gruppenverwaltung" title="Benutzer- und Gruppenverwaltung">
 <link rel="next" href="Lx_002dOffice-ERP-verwenden.html#Lx_002dOffice-ERP-verwenden" title="Lx-Office ERP verwenden">
 </head>
 <body>
 <div class="node">
+<p>
 <a name="OpenDocument-Vorlagen"></a>
 <a name="OpenDocument_002dVorlagen"></a>
-<p>
-Next:&nbsp;<a rel="next" accesskey="n" href="Lx_002dOffice-ERP-verwenden.html#Lx_002dOffice-ERP-verwenden">Lx-Office ERP verwenden</a>,
-Previous:&nbsp;<a rel="previous" accesskey="p" href="Benutzer_002d-und-Gruppenverwaltung.html#Benutzer_002d-und-Gruppenverwaltung">Benutzer- und Gruppenverwaltung</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="index.html#Top">Top</a>
+n&auml;chstes:&nbsp;<a rel="next" accesskey="n" href="Lx_002dOffice-ERP-verwenden.html#Lx_002dOffice-ERP-verwenden">Lx-Office ERP verwenden</a>,
+voriges:&nbsp;<a rel="previous" accesskey="p" href="Benutzer_002d-und-Gruppenverwaltung.html#Benutzer_002d-und-Gruppenverwaltung">Benutzer- und Gruppenverwaltung</a>,
+aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="index.html#Top">Top</a>
 <hr>
 </div>
 
@@ -91,7 +91,7 @@ folgender Befehl auszuführen:
 
    <p>Dieses Verzeichnis, wie auch das komplette <code>users</code>-Verzeichnis, muss vom
 Webserver beschreibbar sein. Dieses wurde bereits erledigt
-(see <a href="Manuelle-Installation-des-Programmpaketes.html#Manuelle-Installation-des-Programmpaketes">Manuelle Installation des Programmpaketes</a>), kann aber erneut überprüft
+(siehe <a href="Manuelle-Installation-des-Programmpaketes.html#Manuelle-Installation-des-Programmpaketes">Manuelle Installation des Programmpaketes</a>), kann aber erneut überprüft
 werden, wenn die Konvertierung nach PDF fehlschlägt.
 
 <!--  -->
index cfb5334da6f3780d1a161c4785dc892fe049b7b3..eadbefa85592566fe2f1b6dcb6392eb587a353e3 100644 (file)
@@ -3,7 +3,7 @@
 <title>Pakete - Lx-Office Installationsanleitung</title>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <meta name="description" content="Lx-Office Installationsanleitung">
-<meta name="generator" content="makeinfo 4.13">
+<meta name="generator" content="makeinfo 4.11">
 <link title="Top" rel="start" href="index.html#Top">
 <link rel="up" href="Ben_00c3_00b6tigte-Software-und-Pakete.html#Ben_00c3_00b6tigte-Software-und-Pakete" title="Benötigte Software und Pakete">
 <link rel="prev" href="Betriebssystem.html#Betriebssystem" title="Betriebssystem">
 </head>
 <body>
 <div class="node">
-<a name="Pakete"></a>
 <p>
-Previous:&nbsp;<a rel="previous" accesskey="p" href="Betriebssystem.html#Betriebssystem">Betriebssystem</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="Ben_00c3_00b6tigte-Software-und-Pakete.html#Ben_00c3_00b6tigte-Software-und-Pakete">Benötigte Software und Pakete</a>
+<a name="Pakete"></a>
+voriges:&nbsp;<a rel="previous" accesskey="p" href="Betriebssystem.html#Betriebssystem">Betriebssystem</a>,
+aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="Ben_00c3_00b6tigte-Software-und-Pakete.html#Ben_00c3_00b6tigte-Software-und-Pakete">Benötigte Software und Pakete</a>
 <hr>
 </div>
 
index b57d83365bc78b7f7de4e00049d47d2c6d770a92..858c04721c47f7ffcb5af4482b9728e8060fb08e 100644 (file)
@@ -3,7 +3,7 @@
 <title>Passwortüberprüfung - Lx-Office Installationsanleitung</title>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <meta name="description" content="Lx-Office Installationsanleitung">
-<meta name="generator" content="makeinfo 4.13">
+<meta name="generator" content="makeinfo 4.11">
 <link title="Top" rel="start" href="index.html#Top">
 <link rel="up" href="Benutzerauthentifizierung-und-Administratorpasswort.html#Benutzerauthentifizierung-und-Administratorpasswort" title="Benutzerauthentifizierung und Administratorpasswort">
 <link rel="prev" href="Authentifizierungsdatenbank.html#Authentifizierungsdatenbank" title="Authentifizierungsdatenbank">
 </head>
 <body>
 <div class="node">
+<p>
 <a name="Passwort%c3%bcberpr%c3%bcfung"></a>
 <a name="Passwort_00c3_00bcberpr_00c3_00bcfung"></a>
-<p>
-Next:&nbsp;<a rel="next" accesskey="n" href="Name-des-Session_002dCookies.html#Name-des-Session_002dCookies">Name des Session-Cookies</a>,
-Previous:&nbsp;<a rel="previous" accesskey="p" href="Authentifizierungsdatenbank.html#Authentifizierungsdatenbank">Authentifizierungsdatenbank</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="Benutzerauthentifizierung-und-Administratorpasswort.html#Benutzerauthentifizierung-und-Administratorpasswort">Benutzerauthentifizierung und Administratorpasswort</a>
+n&auml;chstes:&nbsp;<a rel="next" accesskey="n" href="Name-des-Session_002dCookies.html#Name-des-Session_002dCookies">Name des Session-Cookies</a>,
+voriges:&nbsp;<a rel="previous" accesskey="p" href="Authentifizierungsdatenbank.html#Authentifizierungsdatenbank">Authentifizierungsdatenbank</a>,
+aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="Benutzerauthentifizierung-und-Administratorpasswort.html#Benutzerauthentifizierung-und-Administratorpasswort">Benutzerauthentifizierung und Administratorpasswort</a>
 <hr>
 </div>
 
index 476a31cb68de3494294100c1bca50ac473acaf96..fc2c61a71029ebf096c15017f4fe3a13574998de 100644 (file)
@@ -3,7 +3,7 @@
 <title>Zeichensätze/die Verwendung von UTF-8 - Lx-Office Installationsanleitung</title>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <meta name="description" content="Lx-Office Installationsanleitung">
-<meta name="generator" content="makeinfo 4.13">
+<meta name="generator" content="makeinfo 4.11">
 <link title="Top" rel="start" href="index.html#Top">
 <link rel="up" href="Anpassung-der-PostgreSQL_002dKonfiguration.html#Anpassung-der-PostgreSQL_002dKonfiguration" title="Anpassung der PostgreSQL-Konfiguration">
 <link rel="next" href="_00c3_0084nderungen-an-Konfigurationsdateien.html#g_t_00c3_0084nderungen-an-Konfigurationsdateien" title="Änderungen an Konfigurationsdateien">
 </head>
 <body>
 <div class="node">
+<p>
 <a name="Zeichens%c3%a4tze%2fdie-Verwendung-von-UTF-8"></a>
 <a name="Zeichens_00c3_00a4tze_002fdie-Verwendung-von-UTF_002d8"></a>
-<p>
-Next:&nbsp;<a rel="next" accesskey="n" href="_00c3_0084nderungen-an-Konfigurationsdateien.html#g_t_00c3_0084nderungen-an-Konfigurationsdateien">Änderungen an Konfigurationsdateien</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="Anpassung-der-PostgreSQL_002dKonfiguration.html#Anpassung-der-PostgreSQL_002dKonfiguration">Anpassung der PostgreSQL-Konfiguration</a>
+n&auml;chstes:&nbsp;<a rel="next" accesskey="n" href="_00c3_0084nderungen-an-Konfigurationsdateien.html#g_t_00c3_0084nderungen-an-Konfigurationsdateien">Änderungen an Konfigurationsdateien</a>,
+aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="Anpassung-der-PostgreSQL_002dKonfiguration.html#Anpassung-der-PostgreSQL_002dKonfiguration">Anpassung der PostgreSQL-Konfiguration</a>
 <hr>
 </div>
 
index 6346b680ed0fcbd4e8050344c22fce9afc12b39a..cead2741e060eb909c73b5eae3cac2cf8a7ab018 100644 (file)
@@ -3,7 +3,7 @@
 <title>Zusammenhänge - Lx-Office Installationsanleitung</title>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <meta name="description" content="Lx-Office Installationsanleitung">
-<meta name="generator" content="makeinfo 4.13">
+<meta name="generator" content="makeinfo 4.11">
 <link title="Top" rel="start" href="index.html#Top">
 <link rel="up" href="Benutzer_002d-und-Gruppenverwaltung.html#Benutzer_002d-und-Gruppenverwaltung" title="Benutzer- und Gruppenverwaltung">
 <link rel="next" href="Datenbanken-anlegen.html#Datenbanken-anlegen" title="Datenbanken anlegen">
 </head>
 <body>
 <div class="node">
+<p>
 <a name="Zusammenh%c3%a4nge"></a>
 <a name="Zusammenh_00c3_00a4nge"></a>
-<p>
-Next:&nbsp;<a rel="next" accesskey="n" href="Datenbanken-anlegen.html#Datenbanken-anlegen">Datenbanken anlegen</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="Benutzer_002d-und-Gruppenverwaltung.html#Benutzer_002d-und-Gruppenverwaltung">Benutzer- und Gruppenverwaltung</a>
+n&auml;chstes:&nbsp;<a rel="next" accesskey="n" href="Datenbanken-anlegen.html#Datenbanken-anlegen">Datenbanken anlegen</a>,
+aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="Benutzer_002d-und-Gruppenverwaltung.html#Benutzer_002d-und-Gruppenverwaltung">Benutzer- und Gruppenverwaltung</a>
 <hr>
 </div>
 
index 9751610409e4bda0eb75f5a0cb1736982eef509d..8359b1e4550673bf627d14f19eedbe32c8e64a05 100644 (file)
@@ -3,7 +3,7 @@
 <title>Änderungen an Konfigurationsdateien - Lx-Office Installationsanleitung</title>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <meta name="description" content="Lx-Office Installationsanleitung">
-<meta name="generator" content="makeinfo 4.13">
+<meta name="generator" content="makeinfo 4.11">
 <link title="Top" rel="start" href="index.html#Top">
 <link rel="up" href="Anpassung-der-PostgreSQL_002dKonfiguration.html#Anpassung-der-PostgreSQL_002dKonfiguration" title="Anpassung der PostgreSQL-Konfiguration">
 <link rel="prev" href="Zeichens_00c3_00a4tze_002fdie-Verwendung-von-UTF_002d8.html#Zeichens_00c3_00a4tze_002fdie-Verwendung-von-UTF_002d8" title="Zeichensätze/die Verwendung von UTF-8">
 </head>
 <body>
 <div class="node">
+<p>
 <a name="%c3%84nderungen-an-Konfigurationsdateien"></a>
 <a name="g_t_00c3_0084nderungen-an-Konfigurationsdateien"></a>
-<p>
-Next:&nbsp;<a rel="next" accesskey="n" href="Erweiterung-f_00c3_00bcr-servergespeicherte-Prozeduren.html#Erweiterung-f_00c3_00bcr-servergespeicherte-Prozeduren">Erweiterung für servergespeicherte Prozeduren</a>,
-Previous:&nbsp;<a rel="previous" accesskey="p" href="Zeichens_00c3_00a4tze_002fdie-Verwendung-von-UTF_002d8.html#Zeichens_00c3_00a4tze_002fdie-Verwendung-von-UTF_002d8">Zeichensätze/die Verwendung von UTF-8</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="Anpassung-der-PostgreSQL_002dKonfiguration.html#Anpassung-der-PostgreSQL_002dKonfiguration">Anpassung der PostgreSQL-Konfiguration</a>
+n&auml;chstes:&nbsp;<a rel="next" accesskey="n" href="Erweiterung-f_00c3_00bcr-servergespeicherte-Prozeduren.html#Erweiterung-f_00c3_00bcr-servergespeicherte-Prozeduren">Erweiterung für servergespeicherte Prozeduren</a>,
+voriges:&nbsp;<a rel="previous" accesskey="p" href="Zeichens_00c3_00a4tze_002fdie-Verwendung-von-UTF_002d8.html#Zeichens_00c3_00a4tze_002fdie-Verwendung-von-UTF_002d8">Zeichensätze/die Verwendung von UTF-8</a>,
+aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="Anpassung-der-PostgreSQL_002dKonfiguration.html#Anpassung-der-PostgreSQL_002dKonfiguration">Anpassung der PostgreSQL-Konfiguration</a>
 <hr>
 </div>
 
index d7cb6d2926cf827972c65810d3cccdfc68dcc5a6..9a0b95d52dc1cc921fa698e4f8c104347c03d741 100644 (file)
@@ -3,7 +3,7 @@
 <title>Lx-Office Installationsanleitung</title>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <meta name="description" content="Lx-Office Installationsanleitung">
-<meta name="generator" content="makeinfo 4.13">
+<meta name="generator" content="makeinfo 4.11">
 <link title="Top" rel="start" href="#Top">
 <link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
 <meta http-equiv="Content-Style-Type" content="text/css">
 
 
 <div class="node">
-<a name="Top"></a>
 <p>
-Next:&nbsp;<a rel="next" accesskey="n" href="Aktuelle-Hinweise.html#Aktuelle-Hinweise">Aktuelle Hinweise</a>,
-Up:&nbsp;<a rel="up" accesskey="u" href="../index.html#dir">(dir)</a>
+<a name="Top"></a>
+n&auml;chstes:&nbsp;<a rel="next" accesskey="n" href="Aktuelle-Hinweise.html#Aktuelle-Hinweise">Aktuelle Hinweise</a>,
+aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="../index.html#dir">(dir)</a>
 <hr>
 </div>
 
diff --git a/doc/Lx-Office_Installation_DE.pdf b/doc/Lx-Office_Installation_DE.pdf
new file mode 100644 (file)
index 0000000..5064fb9
Binary files /dev/null and b/doc/Lx-Office_Installation_DE.pdf differ
index 933a9ee1bc1e734e9b02fbea5e4f29a4ce8fabce..1496c11dbd5ff5472e9839c45497b4ccefc3ccb0 100644 (file)
@@ -1,4 +1,18 @@
+# The Installation Documentation is being written in 'INSTALL.texi' using
+# the texinfo syntax. Visit http://www.gnu.org/software/texinfo/ and
+# http://cvs.savannah.gnu.org/viewvc/*checkout*/texinfo/doc/refcard/txirefcard-a4.pdf?root=texinfo
+#
+# In order to generate the files INSTALL.txt and the HTML files under
+# INSTALL/ you have to install the 'make' and 'textinfo' packages of
+# your operating system.
+# Possibly a 'Lx-Office_Installation_DE.pdf' will generated too.
+#
+# Usage:
+# cd doc/
+# make
+
 all:
        rm -f INSTALL/*.html
-       makeinfo --html      --document-language=de_DE.UTF-8                INSTALL.texi
-       makeinfo --plaintext --document-language=de_DE.UTF-8 -o INSTALL.txt INSTALL.texi
+       makeinfo --html      --document-language=de_DE.UTF-8                                  INSTALL.texi
+       makeinfo --plaintext --document-language=de_DE.UTF-8 -o INSTALL.txt                   INSTALL.texi
+       texi2pdf -p -c -q                                    -o Lx-Office_Installation_DE.pdf INSTALL.texi
index 0311afec77751abbf65493af801fad3790a0203d..d7cd59ecc6042fa7474fba05347e2dd189ed3ef7 100644 (file)
@@ -2,6 +2,22 @@
 # Veränderungen von Lx-Office ERP #
 ###################################
 
+  ab Feb 2011 Release 2.7-unstable
+
+
+
+  Kleinere neue Features und Detailverbesserungen:
+
+  - Beim Laden von Rechnungsentwürfen, das Fälligkeits- und Rechnungsdatum duch
+    das Tagesdatum ersetzen
+
+  - Bei Verkaufsgutschriften zusätzlich noch die Rechnungsnummer mitnehmen, damit der Bezug klarer ist.
+
+  Liste gefixter Bugs aus dem Bugtracker:
+
+  - Bugfix 1613: Status teilweise
+
+
 2011-02-02 - Release 2.6.2
 
   Größere neue Features:
index d456541ff8a770add2ee8635833eca6cf1da9569..24df1142d15db68dfbb2d1a8ef688c9922618db3 100644 (file)
@@ -874,6 +874,10 @@ td {
     <td><code>serialnumber</code></td>
     <td>Seriennummer</td>
    </tr>
+   <tr>
+    <td><code>tax_rate</code></td>
+    <td>Steuersatz</td>
+   </tr>
    <tr>
     <td><code>transdate_oe</code></td>
     <td>Auftragsdatum des Originalauftrags, wenn die Rechnung aus einem Sammelauftrag erstellt wurde</td>
index 71d6e4f6cc650ec88a5cc4c81390edbba3e95346..eed49d818a44a34cbfd856d6d04f58241b9ad060 100644 (file)
@@ -776,6 +776,7 @@ $self->{texts} = {
   'For AP transactions it will replace the sales taxkeys with input taxkeys with the same tax rate.' => 'Bei Kreditorenbuchungen werden die Umsatzsteuer-Steuerschlüssel durch Vorsteuer-Steuerschlüssel mit demselben Steuersatz ersetzt.',
   'For AR transactions it will replace the input taxkeys with sales taxkeys with the same tax rate.' => 'Bei Debitorenbuchungen werden die Vorsteuer-Steuerschlüssel durch Umsatzsteuer-Steuerschlüssel mit demselben Steuersatz ersetzt.',
   'For each unit there\'s either no or exactly one base unit. If you chose a base unit then you also have to chose a factor. That way the new unit will be defined as a multiple of the base unit. The base unit must be the &quot;smaller&quot; one. A factor may not be less than 1. Therefore you may define &quot;kg&quot; with the base unit &quot;g&quot; and a factor of &quot;1&quot;, but not the other way round.' => 'Einheiten haben entweder keine oder genau eine Basiseinheit, von der sie ein Vielfaches sind. Wenn Sie eine Basiseinheit ausw&auml;hlen, dann m&uuml;ssen Sie auch einen Faktor eingeben. Sie m&uuml;ssen Einheiten als ein Vielfaches einer kleineren Einheit eingeben. So ist die Definition von &quot;kg&quot; mit der Basiseinheit &quot;g&quot; und dem Faktor 1000 zul&auml;ssig, die Definition von &quot;g&quot; mit der Basiseinheit &quot;kg&quot; und dem Faktor &quot;0,001&quot; hingegen nicht.',
+  'For further information read this:' => 'Für weitere Informationen zu diesem Thema lesen Sie bitte:',
   'Foreign Exchange Gain'       => 'Wechselkurserträge',
   'Foreign Exchange Loss'       => 'Wechselkursaufwendungen',
   'Foreign Expenses'            => 'Aufwand Ausland',
@@ -861,6 +862,7 @@ $self->{texts} = {
   'Incoming Payments'           => 'Zahlungseingänge',
   'Incoming invoice number'     => 'Eingangsrechnungsnummer',
   'Incorrect Password!'         => 'Ungültiges Passwort!',
+  'Incorrect password!.'        => 'Ungültiges Passwort!.',
   'Incorrect username or password!' => 'Ungültiger Benutzername oder falsches Passwort!',
   'Increase'                    => 'Erhöhen',
   'Individual Items'            => 'Einzelteile',
@@ -1112,6 +1114,7 @@ $self->{texts} = {
   'Not done yet'                => 'Noch nicht fertig',
   'Not obsolete'                => 'Gültig',
   'Note'                        => 'Hinweis',
+  'Note: For Firefox 4 and later the menu XUL menu requires the addon <a href="#1">Remote XUL Manager</a> and the Lx-Office server to be white listed.' => 'Bitte beachten: Ab Firefox 4 benötigt das XUL Menü das Addon <a href="#1">Remote XUL Manager</a>, in dem der Lx-Office Server eingetragen sein muss.',
   'Note: Taxkeys must have a "valid from" date, and will not behave correctly without.' => 'Hinweis: Steuerschlüssel sind fehlerhaft ohne "Gültig ab" Datum',
   'Notes'                       => 'Bemerkungen',
   'Notes (will appear on hard copy)' => 'Bemerkungen',
@@ -1153,6 +1156,7 @@ $self->{texts} = {
   'Openings'                    => 'Öffnungszeiten',
   'Optional comment'            => 'Optionaler Kommentar',
   'Options'                     => 'Optionen',
+  'Or download the whole Installation Documentation as PDF (110kB) for off-line study (currently in German Language).' => 'Oder laden Sie die komplette Installationsbeschreibung als PDF (110kB) herunter.',
   'Order'                       => 'Auftrag',
   'Order Date'                  => 'Auftragsdatum',
   'Order Date missing!'         => 'Auftragsdatum fehlt!',
@@ -1550,6 +1554,7 @@ $self->{texts} = {
   'Supplies'                    => 'Lieferungen',
   'Switch Menu on / off'        => 'Men&uuml; ein- / ausklappen',
   'System'                      => 'System',
+  'System currently down for maintenance!' => 'Lx-Office ist momentan zwecks Wartungsarbeiten nicht zugänglich.',
   'TODO list'                   => 'Aufgabenliste',
   'TODO list options'           => 'Aufgabenlistenoptionen',
   'TOP100'                      => 'Top 100',
@@ -1895,6 +1900,7 @@ $self->{texts} = {
   'Warning'                     => 'Warnung',
   'Warnings during template upgrade' => 'Warnungen bei Aktualisierung der Dokumentenvorlagen',
   'WebDAV link'                 => 'WebDAV-Link',
+  'Webserver interface'         => 'Webserverschnittstelle',
   'Weight'                      => 'Gewicht',
   'Weight unit'                 => 'Gewichtseinheit',
   'What <b>term</b> you are looking for?' => 'Nach welchem <b>Begriff</b> wollen Sie suchen?',
@@ -1966,6 +1972,7 @@ $self->{texts} = {
   '[email]'                     => '[email]',
   'account_description'         => 'Beschreibung',
   'accrual'                     => 'Bilanzierung (Soll-Versteuerung)',
+  'action= not defined!'        => 'action= nicht definiert!',
   'active'                      => 'aktiv',
   'all entries'                 => 'alle Einträge',
   'ap_aging_list'               => 'liste_offene_verbindlichkeiten',
index 5cdbecb6477ea249bd9b1e74b2d34ef0cdde7533..3220d04858a4abdb51aad05c659a92b2e0ea6fc1 100644 (file)
@@ -278,7 +278,7 @@ $self->{texts} = {
   'Bin From'                    => 'von&nbsp;Lagerplatz',
   'Bin List'                    => 'Lagerliste',
   'Bin To'                      => 'nach&nbsp;Lagerplatz',
-  'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.' => 'Die Anmeldung am LDAP-Server als "#1" schlug fehl. Bitte &uuml;berpr&uuml;fen Sie die Angaben in config/authentication.pl.',
+  'Binding to the LDAP server as "#1" failed. Please check config/lx_office.conf.' => '',
   'Bins saved.'                 => 'Lagerpl&auml;tze gespeichert.',
   'Bins that have been used in the past cannot be deleted anymore. For these bins there\'s no checkbox in the &quot;Delete&quot; column.' => 'Lagerpl&auml;tze, die bereits benutzt wurden, k&ouml;nnen nicht mehr gel&ouml;scht werden. Deswegen fehlt bei ihnen die Checkbox in der Spalte &quot;L&ouml;schen&quot;.',
   'Birthday'                    => 'Geburtstag',
@@ -776,6 +776,7 @@ $self->{texts} = {
   'For AP transactions it will replace the sales taxkeys with input taxkeys with the same tax rate.' => 'Bei Kreditorenbuchungen werden die Umsatzsteuer-Steuerschlüssel durch Vorsteuer-Steuerschlüssel mit demselben Steuersatz ersetzt.',
   'For AR transactions it will replace the input taxkeys with sales taxkeys with the same tax rate.' => 'Bei Debitorenbuchungen werden die Vorsteuer-Steuerschlüssel durch Umsatzsteuer-Steuerschlüssel mit demselben Steuersatz ersetzt.',
   'For each unit there\'s either no or exactly one base unit. If you chose a base unit then you also have to chose a factor. That way the new unit will be defined as a multiple of the base unit. The base unit must be the &quot;smaller&quot; one. A factor may not be less than 1. Therefore you may define &quot;kg&quot; with the base unit &quot;g&quot; and a factor of &quot;1&quot;, but not the other way round.' => 'Einheiten haben entweder keine oder genau eine Basiseinheit, von der sie ein Vielfaches sind. Wenn Sie eine Basiseinheit ausw&auml;hlen, dann m&uuml;ssen Sie auch einen Faktor eingeben. Sie m&uuml;ssen Einheiten als ein Vielfaches einer kleineren Einheit eingeben. So ist die Definition von &quot;kg&quot; mit der Basiseinheit &quot;g&quot; und dem Faktor 1000 zul&auml;ssig, die Definition von &quot;g&quot; mit der Basiseinheit &quot;kg&quot; und dem Faktor &quot;0,001&quot; hingegen nicht.',
+  'For further information read this:' => 'Für weitere Informationen zu diesem Thema lesen Sie bitte:',
   'Foreign Exchange Gain'       => 'Wechselkurserträge',
   'Foreign Exchange Loss'       => 'Wechselkursaufwendungen',
   'Foreign Expenses'            => 'Aufwand Ausland',
@@ -839,7 +840,7 @@ $self->{texts} = {
   'If you chose to let Lx-Office do the migration then Lx-Office will also remove the old member file after creating a backup copy of it in the directory &quot;#1&quot;.' => 'Falls Sie sich entscheiden, Lx-Office die Migration durchführen zu lassen, so wird Lx-Office ein Backup der alten Dateien im Verzeichnis "#1" erstellen und die Dateien anschließend löschen.',
   'If you enter values for the part number and / or part description then only those bins containing parts whose part number or part description match your input will be shown.' => 'Wenn Sie f&uuml;r die Artikelnummer und / oder die Beschreibung etwas eingeben, so werden nur die Lagerpl&auml;tze angezeigt, in denen Waren eingelagert sind, die Ihre Suchbegriffe enthalten.',
   'If you see this message, you most likely just setup your LX-Office and haven\'t added any entry types. If this is the case, the option is accessible for administrators in the System menu.' => 'Wenn Sie diese Meldung sehen haben Sie wahrscheinlich ein frisches LX-Office Setup und noch keine Buchungsgruppen eingerichtet. Ein Administrator kann dies im Systemmen&uuml; erledigen.',
-  'If you want to change any of these parameters then press the &quot;Back&quot; button, edit the file &quot;config/authentication.pl&quot; and login into the admin module again.' => 'Wenn Sie einen der Parameter &auml;ndern wollen, so dr&uuml;cken Sie auf den &quot;Zur&uuml;ck&quot;-Button, bearbeiten Sie die Datei &quot;config/authentication.pl&quot;, und melden Sie sich erneut im Administrationsbereich an.',
+  'If you want to change any of these parameters then press the &quot;Back&quot; button, edit the file &quot;config/lx_office.conf&quot; and login into the admin module again.' => '',
   'If you want to delete such a dataset you have to edit the user(s) that are using the dataset in question and have them use another dataset.' => 'Wenn Sie eine solche Datenbank l&ouml;schen wollen, so m&uuml;ssen Sie zuerst die Benutzer bearbeiten, die die fragliche Datenbank benutzen, und sie so &auml;ndern, dass sie eine andere Datenbank benutzen.',
   'If you want to set up the authentication database yourself then log in to the administration panel. Lx-Office will then create the database and tables for you.' => 'Wenn Sie die Authentifizierungsdatenbank selber einrichten wollen, so melden Sie sich an der Administrationsoberfl&auml;che an. Lx-Office wird dann die Datenbank und die Tabellen f&uuml;r Sie anlegen.',
   'If you yourself want to upgrade the installation then please read the file &quot;doc/UPGRADE&quot; and follow the steps outlined in this file.' => 'Wenn Sie selber die Aktualisierung bzw. Einrichtung &uuml;bernehmen wollen, so lesen Sie bitte die Datei &quot;doc/UPGRADE&quot; und folgen Sie den dort beschriebenen Schritten.',
@@ -1093,7 +1094,7 @@ $self->{texts} = {
   'No group has been selected, or the group does not exist anymore.' => 'Es wurde keine Gruppe ausgew&auml;hlt, oder die Gruppe wurde in der Zwischenzeit gel&ouml;scht.',
   'No groups have been added yet.' => 'Es wurden noch keine Gruppen angelegt.',
   'No licenses were found that match the search criteria.' => 'Es wurden keine Lizenzen gefunden, auf die die Suchkriterien zutreffen.',
-  'No or an unknown authenticantion module specified in "config/authentication.pl".' => 'Es wurde kein oder ein unbekanntes Authentifizierungsmodul in "config/authentication.pl" angegeben.',
+  'No or an unknown authenticantion module specified in "config/lx_office.conf".' => '',
   'No part was found matching the search parameters.' => 'Es wurde kein Artikel gefunden, auf den die Suchparameter zutreffen.',
   'No prices will be updated because no prices have been entered.' => 'Es werden keine Preise aktualisiert, weil keine gültigen Preisänderungen eingegeben wurden.',
   'No problems were recognized.' => 'Es wurden keine Probleme gefunden.',
@@ -1153,6 +1154,7 @@ $self->{texts} = {
   'Openings'                    => 'Öffnungszeiten',
   'Optional comment'            => 'Optionaler Kommentar',
   'Options'                     => 'Optionen',
+  'Or download the whole Installation Documentation as PDF (110kB) for off-line study (currently in German Language).' => 'Oder laden Sie die komplette Installationsbeschreibung als PDF (110kB) herunter.',
   'Order'                       => 'Auftrag',
   'Order Date'                  => 'Auftragsdatum',
   'Order Date missing!'         => 'Auftragsdatum fehlt!',
@@ -1604,7 +1606,7 @@ $self->{texts} = {
   'The AP transaction #1 has been deleted.' => 'Die Kreditorenbuchung #1 wurde gelöscht.',
   'The AR transaction #1 has been deleted.' => 'Die Debitorenbuchung #1 wurde gelöscht.',
   'The GL transaction #1 has been deleted.' => 'Die Dialogbuchung #1 wurde gelöscht.',
-  'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.' => 'Der LDAP-Server "#1:#2" ist nicht erreichbar. Bitte &uuml;berpr&uuml;fen Sie die Angaben in config/authentication.pl.',
+  'The LDAP server "#1:#2" is unreachable. Please check config/lx_office.conf.' => '',
   'The SEPA export has been created.' => 'Der SEPA-Export wurde erstellt',
   'The SEPA strings have been saved.' => 'Die bei SEPA-Überweisungen verwendeten Begriffe wurden gespeichert.',
   'The access rights have been saved.' => 'Die Zugriffsrechte wurden gespeichert.',
@@ -1612,7 +1614,7 @@ $self->{texts} = {
   'The account 3804 will not be added automatically.' => 'Das Konto 3804 wird nicht automatisch hinzugefÃŒgt.',
   'The assembly has been created.' => 'Das Erzeugnis wurde hergestellt.',
   'The assistant could not find anything wrong with #1. Maybe the problem has been solved in the meantime.' => 'Der Korrekturassistent konnte kein Problem bei #1 feststellen. Eventuell wurde das Problem in der Zwischenzeit bereits behoben.',
-  'The authentication configuration file &quot;config/authentication.pl&quot; does not exist. This Lx-Office installation has probably not been updated correctly yet. Please contact your administrator.' => 'Die Konfigurationsdatei f&uuml;r die Authentifizierung &quot;config/authentication.pl&quot; wurde nicht gefunden. Diese Lx-Office-Installation wurde vermutlich noch nicht vollst&auml;ndig aktualisiert oder eingerichtet. Bitte wenden Sie sich an Ihren Administrator.',
+  'The authentication configuration file &quot;config/lx_office.conf&quot; does not exist. This Lx-Office installation has probably not been updated correctly yet. Please contact your administrator.' => '',
   'The authentication database is not reachable at the moment. Either it hasn\'t been set up yet or the database server might be down. Please contact your administrator.' => 'Die Authentifizierungsdatenbank kann momentan nicht erreicht werden. Entweder wurde sie noch nicht eingerichtet, oder der Datenbankserver antwortet nicht. Bitte wenden Sie sich an Ihren Administrator.',
   'The available options depend on the varibale type:' => 'Die verf&uuml;gbaren Optionen h&auml;ngen vom Datenfeldtypen ab:',
   'The backup you upload here has to be a file created with &quot;pg_dump -o -Ft&quot;.' => 'Die von Ihnen hochzuladende Sicherungsdatei muss mit dem Programm und den Parametern &quot;pg_dump -o -Ft&quot; erstellt worden sein.',
@@ -1621,9 +1623,7 @@ $self->{texts} = {
   'The base unit does not exist.' => 'Die Basiseinheit existiert nicht.',
   'The base unit relations must not contain loops (e.g. by saying that unit A\'s base unit is B, B\'s base unit is C and C\'s base unit is A) in row %d.' => 'Die Beziehungen der Einheiten d&uuml;rfen keine Schleifen beinhalten (z.B. wenn gesagt wird, dass Einheit As Basiseinheit B, Bs Basiseinheit C und Cs Basiseinheit A ist) in Zeile %d.',
   'The columns &quot;Dunning Duedate&quot;, &quot;Total Fees&quot; and &quot;Interest&quot; show data for the previous dunning created for this invoice.' => 'Die Spalten &quot;Zahlbar bis&quot;, &quot;Kumulierte Geb&uuml;hren&quot; und &quot;Zinsen&quot; zeigen Daten der letzten f&uuml;r diese Rechnung erzeugten Mahnung.',
-  'The config file "config/authentication.pl" contained invalid Perl code:' => 'Die Konfigurationsdatei "config/authentication.pl" enthielt ung&uuml;tigen Perl-Code:',
-  'The config file "config/authentication.pl" was not found.' => 'Die Konfigurationsdatei "config/authentication.pl" wurde nicht gefunden.',
-  'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.' => 'Die Verbindung zum LDAP-Server kann nicht verschl&uuml;sselt werden (Fehler bei SSL/TLS-Initialisierung). Bitte &uuml;berpr&uuml;fen Sie die Angaben in config/authentication.pl.',
+  'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/lx_office.conf.' => '',
   'The connection to the authentication database failed:' => 'Die Verbindung zur Authentifizierungsdatenbank schlug fehl:',
   'The connection to the database could not be established.' => 'Die Verbindung zur Datenbank konnte nicht hergestellt werden.',
   'The connection to the template database failed:' => 'Die Verbindung zur Vorlagendatenbank schlug fehl:',
@@ -1897,6 +1897,7 @@ $self->{texts} = {
   'Warning'                     => 'Warnung',
   'Warnings during template upgrade' => 'Warnungen bei Aktualisierung der Dokumentenvorlagen',
   'WebDAV link'                 => 'WebDAV-Link',
+  'Webserver interface'         => 'Webserver nutzt',
   'Weight'                      => 'Gewicht',
   'Weight unit'                 => 'Gewichtseinheit',
   'What <b>term</b> you are looking for?' => 'Nach welchem <b>Begriff</b> wollen Sie suchen?',
@@ -1992,10 +1993,10 @@ $self->{texts} = {
   'close'                       => 'schließen',
   'closed'                      => 'geschlossen',
   'companylogo_subtitle'        => 'Warenwirtschaft und Finanzbuchhaltung',
-  'config/authentication.pl: Key "DB_config" is missing.' => 'config/authentication.pl: Das Schl&uuml;sselwort "DB_config" fehlt.',
-  'config/authentication.pl: Key "LDAP_config" is missing.' => 'config/authentication.pl: Der Schl&uuml;ssel "LDAP_config" fehlt.',
-  'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".' => 'config/authentication.pl: Fehlende Parameter in "DB_config". Ben&ouml;tigte Parameter sind "host", "db" und "user".',
-  'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".' => 'config/authentication.pl: Fehlende Parameter in "LDAP_config". Ben&ouml;tigt werden "host", "attribute" und "base_dn".',
+  'config/lx_office.conf: Key "DB_config" is missing.' => '',
+  'config/lx_office.conf: Key "authentication/ldap" is missing.' => '',
+  'config/lx_office.conf: Missing parameters in "authentication/database". Required parameters are "host", "db" and "user".' => '',
+  'config/lx_office.conf: Missing parameters in "authentication/ldap". Required parameters are "host", "attribute" and "base_dn".' => '',
   'continue'                    => 'weiter',
   'correction'                  => 'Korrektur',
   'cp_greeting to cp_gender migration' => 'Datenumwandlung von Titel nach Geschlecht (cp_greeting to cp_gender)',
index cedc53810d7e1b56daaed9dd6976ccf67125a80c..0253d49a0fd9d62d2b55b862ded52b9fdda29af8 100644 (file)
@@ -38,9 +38,12 @@ $self->{texts} = {
   '4. Quarter'                  => '',
   '<b>What</b> do you want to look for?' => '',
   'A Buchungsgruppe consists of a descriptive name and the account numbers for the income and expense accounts for those four tax zones as well as the inventory account number.' => '',
+  'A digit is required.'        => '',
   'A group named &quot;Full Access&quot; has been created.' => '',
   'A group with that name does already exist.' => '',
   'A lot of the usability of Lx-Office has been enhanced with javascript. Although it is currently possible to use every aspect of Lx-Office without javascript, we strongly recommend it. In a future version this may change and javascript may be necessary to access advanced features.' => '',
+  'A lower-case character is required.' => '',
+  'A special character is required (valid characters: #1).' => '',
   'A temporary directory could not be created:' => '',
   'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.' => '',
   'A temporary file could not be created:' => '',
@@ -180,6 +183,9 @@ $self->{texts} = {
   'Amount'                      => '',
   'Amount Due'                  => '',
   'Amount has to be greater then zero! Wrong row number: ' => '',
+  'An invalid character was used (invalid characters: #1).' => '',
+  'An invalid character was used (valid characters: #1).' => '',
+  'An upper-case character is required.' => '',
   'Annotations'                 => '',
   'Another user with the login #1 does already exist.' => '',
   'Ap aging on %s'              => '',
@@ -272,7 +278,7 @@ $self->{texts} = {
   'Bin From'                    => '',
   'Bin List'                    => '',
   'Bin To'                      => '',
-  'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.' => '',
+  'Binding to the LDAP server as "#1" failed. Please check config/lx_office.conf.' => '',
   'Bins saved.'                 => '',
   'Bins that have been used in the past cannot be deleted anymore. For these bins there\'s no checkbox in the &quot;Delete&quot; column.' => '',
   'Birthday'                    => '',
@@ -383,6 +389,7 @@ $self->{texts} = {
   'Company Name'                => '',
   'Compare to'                  => '',
   'Configuration of individual TODO items' => '',
+  'Configure'                   => '',
   'Confirm'                     => '',
   'Confirm!'                    => '',
   'Confirmation'                => '',
@@ -487,7 +494,7 @@ $self->{texts} = {
   'Database Host'               => '',
   'Database User'               => '',
   'Database User missing!'      => '',
-  'Database backups and restorations are disabled in lx-erp.conf.' => '',
+  'Database backups and restorations are disabled in the configuration.' => '',
   'Database name'               => '',
   'Database template'           => '',
   'Database update error:'      => '',
@@ -676,6 +683,7 @@ $self->{texts} = {
   'Edit rights'                 => '',
   'Edit templates'              => 'Templates, edit',
   'Edit the Delivery Order'     => '',
+  'Edit the configuration for periodic invoices' => '',
   'Edit the membership of all users in all groups:' => '',
   'Edit the purchase_order'     => '',
   'Edit the request_quotation'  => '',
@@ -688,6 +696,7 @@ $self->{texts} = {
   'Element disabled'            => '',
   'Employee'                    => '',
   'Empty transaction!'          => '',
+  'End date'                    => '',
   'Enter a description for this new draft.' => '',
   'Enter longdescription'       => '',
   'Enter the requested execution date or leave empty for the quickest possible execution:' => '',
@@ -734,6 +743,7 @@ $self->{texts} = {
   'Export date'                 => '',
   'Export date from'            => '',
   'Export date to'              => '',
+  'Extend automatically by n months' => '',
   'Extended'                    => '',
   'Extension Of Time'           => '',
   'Factor'                      => '',
@@ -766,6 +776,7 @@ $self->{texts} = {
   'For AP transactions it will replace the sales taxkeys with input taxkeys with the same tax rate.' => '',
   'For AR transactions it will replace the input taxkeys with sales taxkeys with the same tax rate.' => '',
   'For each unit there\'s either no or exactly one base unit. If you chose a base unit then you also have to chose a factor. That way the new unit will be defined as a multiple of the base unit. The base unit must be the &quot;smaller&quot; one. A factor may not be less than 1. Therefore you may define &quot;kg&quot; with the base unit &quot;g&quot; and a factor of &quot;1&quot;, but not the other way round.' => '',
+  'For further information read this:' => '',
   'Foreign Exchange Gain'       => '',
   'Foreign Exchange Loss'       => '',
   'Foreign Expenses'            => '',
@@ -812,7 +823,6 @@ $self->{texts} = {
   'Help Template Variables'     => '',
   'Here\'s an example command line:' => '',
   'Hide by default'             => '',
-  'History'                     => '',
   'History Search'              => '',
   'History Search Engine'       => '',
   'Homepage'                    => '',
@@ -830,7 +840,7 @@ $self->{texts} = {
   'If you chose to let Lx-Office do the migration then Lx-Office will also remove the old member file after creating a backup copy of it in the directory &quot;#1&quot;.' => '',
   'If you enter values for the part number and / or part description then only those bins containing parts whose part number or part description match your input will be shown.' => '',
   'If you see this message, you most likely just setup your LX-Office and haven\'t added any entry types. If this is the case, the option is accessible for administrators in the System menu.' => '',
-  'If you want to change any of these parameters then press the &quot;Back&quot; button, edit the file &quot;config/authentication.pl&quot; and login into the admin module again.' => '',
+  'If you want to change any of these parameters then press the &quot;Back&quot; button, edit the file &quot;config/lx_office.conf&quot; and login into the admin module again.' => '',
   'If you want to delete such a dataset you have to edit the user(s) that are using the dataset in question and have them use another dataset.' => '',
   'If you want to set up the authentication database yourself then log in to the administration panel. Lx-Office will then create the database and tables for you.' => '',
   'If you yourself want to upgrade the installation then please read the file &quot;doc/UPGRADE&quot; and follow the steps outlined in this file.' => '',
@@ -1084,7 +1094,7 @@ $self->{texts} = {
   'No group has been selected, or the group does not exist anymore.' => '',
   'No groups have been added yet.' => '',
   'No licenses were found that match the search criteria.' => '',
-  'No or an unknown authenticantion module specified in "config/authentication.pl".' => '',
+  'No or an unknown authenticantion module specified in "config/lx_office.conf".' => '',
   'No part was found matching the search parameters.' => '',
   'No prices will be updated because no prices have been entered.' => '',
   'No problems were recognized.' => '',
@@ -1144,6 +1154,7 @@ $self->{texts} = {
   'Openings'                    => '',
   'Optional comment'            => '',
   'Options'                     => '',
+  'Or download the whole Installation Documentation as PDF (110kB) for off-line study (currently in German Language).' => '',
   'Order'                       => '',
   'Order Date'                  => '',
   'Order Date missing!'         => '',
@@ -1198,8 +1209,13 @@ $self->{texts} = {
   'Payment posted!'             => '',
   'Payment terms deleted!'      => '',
   'Payments'                    => '',
+  'Per. Inv.'                   => '',
   'Period'                      => '',
   'Period:'                     => '',
+  'Periodic Invoices'           => '',
+  'Periodic invoices active'    => '',
+  'Periodic invoices inactive'  => '',
+  'Periodicity'                 => '',
   'Personal settings'           => '',
   'Pg Database Administration'  => '',
   'Phone'                       => '',
@@ -1265,6 +1281,7 @@ $self->{texts} = {
   'Pricegroups'                 => '',
   'Print'                       => '',
   'Print and Post'              => '',
+  'Print automatically'         => '',
   'Print dunnings'              => '',
   'Print list'                  => '',
   'Print options'               => '',
@@ -1500,6 +1517,7 @@ $self->{texts} = {
   'Spoolfile'                   => '',
   'Start Dunning Process'       => '',
   'Start analysis'              => '',
+  'Start date'                  => '',
   'Start the correction assistant' => '',
   'Startdate_coa'               => '',
   'Starting Balance'            => '',
@@ -1507,6 +1525,7 @@ $self->{texts} = {
   'Statement Balance'           => '',
   'Statement sent to'           => '',
   'Statements sent to printer!' => '',
+  'Status'                      => '',
   'Step 1 of 3: Parts'          => '',
   'Step 2'                      => '',
   'Step 2 of 3: Services'       => '',
@@ -1586,7 +1605,7 @@ $self->{texts} = {
   'The AP transaction #1 has been deleted.' => '',
   'The AR transaction #1 has been deleted.' => '',
   'The GL transaction #1 has been deleted.' => '',
-  'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.' => '',
+  'The LDAP server "#1:#2" is unreachable. Please check config/lx_office.conf.' => '',
   'The SEPA export has been created.' => '',
   'The SEPA strings have been saved.' => '',
   'The access rights have been saved.' => '',
@@ -1594,7 +1613,7 @@ $self->{texts} = {
   'The account 3804 will not be added automatically.' => '',
   'The assembly has been created.' => '',
   'The assistant could not find anything wrong with #1. Maybe the problem has been solved in the meantime.' => '',
-  'The authentication configuration file &quot;config/authentication.pl&quot; does not exist. This Lx-Office installation has probably not been updated correctly yet. Please contact your administrator.' => '',
+  'The authentication configuration file &quot;config/lx_office.conf&quot; does not exist. This Lx-Office installation has probably not been updated correctly yet. Please contact your administrator.' => '',
   'The authentication database is not reachable at the moment. Either it hasn\'t been set up yet or the database server might be down. Please contact your administrator.' => '',
   'The available options depend on the varibale type:' => '',
   'The backup you upload here has to be a file created with &quot;pg_dump -o -Ft&quot;.' => '',
@@ -1603,9 +1622,7 @@ $self->{texts} = {
   'The base unit does not exist.' => '',
   'The base unit relations must not contain loops (e.g. by saying that unit A\'s base unit is B, B\'s base unit is C and C\'s base unit is A) in row %d.' => '',
   'The columns &quot;Dunning Duedate&quot;, &quot;Total Fees&quot; and &quot;Interest&quot; show data for the previous dunning created for this invoice.' => '',
-  'The config file "config/authentication.pl" contained invalid Perl code:' => '',
-  'The config file "config/authentication.pl" was not found.' => '',
-  'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.' => '',
+  'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/lx_office.conf.' => '',
   'The connection to the authentication database failed:' => '',
   'The connection to the database could not be established.' => '',
   'The connection to the template database failed:' => '',
@@ -1631,6 +1648,7 @@ $self->{texts} = {
   'The dunning process started' => '',
   'The dunnings have been printed.' => '',
   'The email address is missing.' => '',
+  'The end date is the last day for which invoices will possibly be created.' => '',
   'The factor is missing in row %d.' => '',
   'The factor is missing.'      => '',
   'The first reason is that Lx-Office contained a bug which resulted in the wrong taxkeys being recorded for transactions in which two entries are posted for the same chart with different taxkeys.' => '',
@@ -1651,7 +1669,7 @@ $self->{texts} = {
   'The group has been saved.'   => '',
   'The group memberships have been saved.' => '',
   'The group name is missing.'  => '',
-  'The licensing module has been deactivated in lx-erp.conf.' => '',
+  'The licensing module has been deactivated in the configuration.' => '',
   'The list has been printed.'  => '',
   'The login is missing.'       => '',
   'The name in row %d has already been used before.' => '',
@@ -1665,6 +1683,9 @@ $self->{texts} = {
   'The parts have been removed.' => '',
   'The parts have been stocked.' => '',
   'The parts have been transferred.' => '',
+  'The password is too long (maximum length: #1).' => '',
+  'The password is too short (minimum length: #1).' => '',
+  'The password is weak (e.g. it can be found in a dictionary).' => '',
   'The payments have been posted.' => '',
   'The pg_dump process could not be started.' => '',
   'The pg_restore process could not be started.' => '',
@@ -1683,7 +1704,9 @@ $self->{texts} = {
   'The selected warehouse does not exist.' => '',
   'The selected warehouse is empty, or no stocked items where found that match the filter settings.' => '',
   'The session is invalid or has expired.' => '',
+  'The settings were saved, but the password was not changed.' => '',
   'The source warehouse does not contain any bins.' => '',
+  'The start date is missing.'  => '',
   'The subject is missing.'     => '',
   'The tables for user management and authentication do not exist. They will be created in the next step in the following database:' => '',
   'The tabulator character'     => '',
@@ -1873,6 +1896,7 @@ $self->{texts} = {
   'Warning'                     => '',
   'Warnings during template upgrade' => '',
   'WebDAV link'                 => '',
+  'Webserver interface'         => '',
   'Weight'                      => '',
   'Weight unit'                 => '',
   'What <b>term</b> you are looking for?' => '',
@@ -1944,6 +1968,7 @@ $self->{texts} = {
   '[email]'                     => '',
   'account_description'         => '',
   'accrual'                     => '',
+  'active'                      => '',
   'all entries'                 => '',
   'ap_aging_list'               => '',
   'ar_aging_list'               => '',
@@ -1967,10 +1992,10 @@ $self->{texts} = {
   'close'                       => '',
   'closed'                      => '',
   'companylogo_subtitle'        => '',
-  'config/authentication.pl: Key "DB_config" is missing.' => '',
-  'config/authentication.pl: Key "LDAP_config" is missing.' => '',
-  'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".' => '',
-  'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".' => '',
+  'config/lx_office.conf: Key "DB_config" is missing.' => '',
+  'config/lx_office.conf: Key "authentication/ldap" is missing.' => '',
+  'config/lx_office.conf: Missing parameters in "authentication/database". Required parameters are "host", "db" and "user".' => '',
+  'config/lx_office.conf: Missing parameters in "authentication/ldap". Required parameters are "host", "attribute" and "base_dn".' => '',
   'continue'                    => '',
   'correction'                  => '',
   'cp_greeting to cp_gender migration' => '',
@@ -1998,6 +2023,7 @@ $self->{texts} = {
   'general_ledger_list'         => '',
   'history'                     => '',
   'history search engine'       => '',
+  'inactive'                    => '',
   'invoice'                     => '',
   'invoice_list'                => '',
   'lead deleted!'               => '',
@@ -2011,11 +2037,13 @@ $self->{texts} = {
   'mark as paid'                => '',
   'missing'                     => '',
   'month'                       => '',
+  'monthly'                     => '',
   'new Window'                  => '',
   'no'                          => '',
   'no bestbefore'               => '',
   'no chargenumber'             => '',
   'none (pricegroup)'           => '',
+  'not configured'              => '',
   'not executed'                => '',
   'not transferred in yet'      => '',
   'not transferred out yet'     => '',
@@ -2040,6 +2068,7 @@ $self->{texts} = {
   'purchase_order'              => '',
   'purchase_order_list'         => '',
   'quarter'                     => '',
+  'quarterly'                   => '',
   'quotation_list'              => '',
   'release_material'            => '',
   'report_generator_dispatch_to is not defined.' => '',
@@ -2069,6 +2098,7 @@ $self->{texts} = {
   'tax_taxdescription'          => '',
   'tax_taxkey'                  => '',
   'taxnumber'                   => '',
+  'terminated'                  => '',
   'to (date)'                   => '',
   'to (time)'                   => '',
   'transfer'                    => '',
@@ -2085,6 +2115,7 @@ $self->{texts} = {
   'warehouse_journal_list'      => '',
   'warehouse_report_list'       => '',
   'wrongformat'                 => '',
+  'yearly'                      => '',
   'yes'                         => '',
 };
 
index 554947d76b343f54463b10b5e4c37aa7598b84f1..84129c29f3388e172d6087c0f8176b6f52ce7cdc 100755 (executable)
@@ -188,11 +188,13 @@ This module is included in C<modules/*>. Don't worry about it.
 This module is documented in C<SL:InstallationCheck> to be necessary, or is a
 dependancy of one of these. Everything alright.
 
-= item !missing
+=item !missing
 
 These modules are neither core, nor included, nor required. This is ok for
 developer tools, but should never occur for modules the actual program uses.
 
+=back
+
 =head1 AUTHOR
 
 http://www.ledgersmb.org/ - The LedgerSMB team
index f03e5c667ad2004b7b6c684f4de2370c0b6083b2..0780a49f6ecf8514c36eed112f1a47ce687babc0 100755 (executable)
@@ -31,7 +31,7 @@ parse_args();
 my $basedir      = "../..";
 my $locales_dir  = ".";
 my $bindir       = "$basedir/bin/mozilla";
-my @progdirs     = ( "$basedir/SL/Controller", "$basedir/SL/Template/Plugin", "$basedir/SL/Auth" );
+my @progdirs     = ( "$basedir/SL" );
 my $dbupdir      = "$basedir/sql/Pg-upgrade";
 my $dbupdir2     = "$basedir/sql/Pg-upgrade2";
 my $menufile     = "menu.ini";
@@ -42,18 +42,39 @@ my ($ALL_HEADER, $MISSING_HEADER, $LOST_HEADER);
 
 init();
 
-opendir DIR, "$bindir" or die "$!";
-my @progfiles = map { [ $_, $bindir ] } grep { /\.pl$/ && !/(_custom|^\.)/ } readdir DIR;
-seekdir DIR, 0;
-my @customfiles = grep /_custom/, readdir DIR;
-closedir DIR;
+sub find_files {
+  my ($dir_name, $files) = @_;
 
-foreach my $dir (@progdirs) {
-  opendir DIR, $dir or die "$!";
-  push @progfiles, map { [ $_, $dir ] } grep { /\.pm$/ } readdir DIR;
-  closedir DIR;
+  $files ||= [];
+
+  my @dirs_to_check;
+
+  opendir my $dir, $dir_name or die "$! $dir_name";
+
+  foreach my $name (readdir $dir) {
+    next if $name eq '.' || $name eq '..';
+
+    my $full_name = "${dir_name}/${name}";
+    if (-d $full_name) {
+      push @dirs_to_check, $full_name;
+    } else {
+      push @{ $files }, $full_name;
+    }
+  }
+
+  closedir $dir;
+
+  map { find_files($_, $files) } @dirs_to_check;
+
+  return @{ $files };
 }
 
+my @bindir_files = find_files($bindir);
+my @progfiles    = map { m:^(.+)/([^/]+)$:; [ $2, $1 ]  } grep { /\.pl$/ && !/_custom/ } @bindir_files;
+my @customfiles  = grep /_custom/, @bindir_files;
+
+push @progfiles, map { m:^(.+)/([^/]+)$:; [ $2, $1 ] } grep { /\.pm$/ } map { find_files($_) } @progdirs;
+
 # put customized files into @customfiles
 my @menufiles;
 
diff --git a/sql/Pg-upgrade2/ar_add_invnumber_for_credit_note.sql b/sql/Pg-upgrade2/ar_add_invnumber_for_credit_note.sql
new file mode 100644 (file)
index 0000000..0eaeade
--- /dev/null
@@ -0,0 +1,5 @@
+-- @tag: ar_add_invnumber_for_credit_note
+-- @description: Die Rechnungsnummer wird bei Gutschriften bisher nicht uebernommen. Das aendert sich mit diesem Update. Hierfuer muss allerdings die Rechnungstabelle ar um einen entsprechenden Eintrag erweitert werden. (invnumber_for_credit_note in ar)
+-- @depends: delivery_orders
+alter table ar add column invnumber_for_credit_note text;
+
index fa205b17c68a80fc186e0dd3eddae046d17a7554..28b69a4c549e9709f17cefb38a0e4c2aef5ea11d 100644 (file)
@@ -119,7 +119,8 @@ foreach my $file (@testitems) {
         next;
     }
     while (my $file_line = <FILE>) {
-        if ($file_line =~ m/(<\/?$tags>)/) {
+        last if $file_line =~ /^__END__/;
+        if ($file_line =~ m/(<\/?$tags>)/o) {
             $found_html_count++;
             $found_html .= $1;
         }
index 8236f3713dbd159dd3a6f86133bff2a462f06a96..61cd7f3699736c870822562dd127fb5ca2909226 100644 (file)
@@ -43,6 +43,7 @@
   \rightline{\LARGE\textbf{\textit{Gutschrift}}} \vspace*{0.2cm}
   \rightline{\large\textbf{\textit{Nr. <%invnumber%>% \vspace*{0.2cm}
   }}}
+  für Rechnung: \hfill <%invnumber_for_credit_note%>
 
   Gutschriftdatum:\hfill <%invdate%>
 
index af71026e0b09220b04505aa46fdc933f75015a5c..6056107e1888821c8ca8f691642360beea62e8a4 100644 (file)
@@ -28,7 +28,7 @@
   <p>
    <select name="group_id" size="10">
     [% FOREACH row = GROUPS %]
-    <option value="[% HTML.escape(row.id) %]">[% HTML.escape(row.name) %][% IF row.description %] ([% HTML.escape(row.description) %])[% END %]</option>
+    <option value="[% HTML.escape(row.id) %]"[% ' selected' IF loop.first %]>[% HTML.escape(row.name) %][% IF row.description %] ([% HTML.escape(row.description) %])[% END %]</option>
     [% END %]
    </select>
   </p>
index 0828b00c30d8a3c52d5d3ccf1fa8c9296bb7f952..eb55dc51c30cebb41a60a50b0bf80eb980cf1012 100644 (file)
@@ -21,7 +21,7 @@
 
     [% FOREACH row = MEMBERS %]
      <tr class="listrow[% loop.count % 2 %]">
-      <td>&nbsp;<a href="admin.pl?action=edit&login=[% HTML.url(row.login) %]">[% HTML.escape(row.login) %]</a></td>
+      <td>&nbsp;<a href="admin.pl?action=edit&login=[% HTML.url(row.login_url) %]">[% HTML.escape(row.login) %]</a></td>
       <td>&nbsp;[% HTML.escape(row.name) %]</td>
       <td>&nbsp;[% HTML.escape(row.company) %]</td>
       <td>&nbsp;[% HTML.escape(row.templates) %]</td>
index 4ed5a07e8161023d45c713316ff8ef3d0fbe487e..31cd4326407eb6544d46a96860190c8a80e9fa0a 100644 (file)
@@ -1,4 +1,5 @@
 [%- USE T8 %]
+[%- USE LxERP %]
 [% USE HTML %]<body onLoad="fokus()">
 
  <p>
      </tr>
     </table>
 
+    <p>[% LxERP.t8('Note: For Firefox 4 and later the menu XUL menu requires the addon <a href="#1">Remote XUL Manager</a> and the Lx-Office server to be white listed.', 'https://addons.mozilla.org/de/firefox/addon/remote-xul-manager/') %]</p>
+
     <br style="clear: left" />
    </div>
 
index cb3f2253153c60dbfd635056d908a201dd87bf72..7778152b693a233b51157395a08e10e6e726faf6 100644 (file)
@@ -2,7 +2,7 @@
 [% USE HTML %]<body>
 
  <div class="message_error">[% IF title_error %][% title_error %][% ELSE %][% 'Error!' | $T8 %][% END %]
- <p>[% label_error %]</p>
+ <p class="message_error_label">[% label_error %]</p>
  </div>
  
  <p style="text-align: left;"><input type="button" class="submit" onclick="history.back()" value="[% 'Back' | $T8 %]"></p>
@@ -10,7 +10,7 @@
  [%- IF SHOW_BACK_BUTTON %]
  <form>
   <p>
-   <!--- show back button always hack
+   <!--- TODO: show back button always hack
          In which situation is it necessary to hide it?
    <input type="button" onclick="history.back()" value="[% 'Back' | $T8 %]">
    -->
index 9183c6bb21c72f2aa245dc2c3bf4244d96b2fe57..de1a79681eeb3fff75a25baa76bff8ea39db2577 100644 (file)
           </tr>
         [%- END %]
           <tr>
-           <th align="right" nowrap><label for="shop">[% 'Has serial number' | $T8 %]</label></th>
+           <th align="right" nowrap><label for="has_sernumber">[% 'Has serial number' | $T8 %]</label></th>
            <td><input class="checkbox" type="checkbox" name="has_sernumber" id="has_sernumber" value="1" [% IF has_sernumber %]checked[% END %]></td>
           </tr>
           <tr>
index a6c21975bbcbdd3103475bdbe3fa25f288061741..c84e5d49cc0488016139f40c925e4946130bd38c 100644 (file)
           <th align="right" nowrap>[% 'Credit Note Number' | $T8 %]</th>
           <td colspan="3"><input size='11' name="invnumber" value="[% HTML.escape(invnumber) %]"></td>
         </tr>
+        <tr>
+          <th align="right" nowrap>[% 'Invoice Number' | $T8 %]</th>
+          <td colspan="3"><input size='11' name="invnumber_for_credit_note" value="[% HTML.escape(invnumber_for_credit_note) %]"></td>
+        </tr>
         <tr>
           <th align="right">[% 'Credit Note Date' | $T8 %]</th>
           <td nowrap>
index bc3e11b44513ad4a5f0710cfdf751ee55a5c676e..cd27027319c0a19cfde59bcc08a0dfd57cdbe215 100644 (file)
@@ -6,7 +6,11 @@
  <p>[%- 'The authentication database is not reachable at the moment. Either it hasn\'t been set up yet or the database server might be down. Please contact your administrator.' | $T8 %]</p>
 
  <p>[% 'If you want to set up the authentication database yourself then log in to the administration panel. Lx-Office will then create the database and tables for you.' | $T8 %]</p>
-
+ <hr>
+ <p>[% 'For further information read this:' | $T8 %] <a href="doc/INSTALL/Benutzerauthentifizierung-und-Administratorpasswort.html" target="_blank">Lx-Office Installation</a><br>
+ [% 'Or download the whole Installation Documentation as PDF (110kB) for off-line study (currently in German Language).' | $T8 %] <a href="doc/Lx-Office_Installation_DE.pdf">Lx-Office_Installation_DE.pdf</a></p>
+ <hr>
  <p>
   <a href="login.pl" target="_top">[% 'Login' | $T8 %]</a> |
   <a href="admin.pl" target="_top">[% 'Administration' | $T8 %]</a>
index 7946c527416dff94f17e9ca1270c2f891c8d14ec..10adcc0aa16d3e6e4a11b5da03cb903b3a2ff259 100644 (file)
 
    <table border="0">
     <tr>
-     <th align="left"><a href="am.pl?action=config&level=Program--Preferences" title="[% 'Preferences' | $T8 %]">[% 'User' | $T8 %]</a></th>
+     <th align="left"><a href="am.pl?action=config" title="[% 'Preferences' | $T8 %]">[% 'User' | $T8 %]</a></th>
      <td>[% HTML.escape(myconfig_name) %]</td>
     </tr>
     <tr>
-     <th align="left"><a href="am.pl?action=config&level=Program--Preferences" title="[% 'Preferences' | $T8 %]">[% 'Language' | $T8 %]</a></th>
+     <th align="left"><a href="am.pl?action=config" title="[% 'Preferences' | $T8 %]">[% 'Language' | $T8 %]</a></th>
      <td>[% HTML.escape(myconfig_countrycode) %]</td>
     </tr>
     <tr>
      <th align="left">[% 'Database Host' | $T8 %]</th>
      <td>[% HTML.escape(myconfig_dbhost) %]</td>
     </tr>
+    <tr>
+     <th align="left">[% 'Webserver interface' | $T8 %]</th>
+     <td>[% HTML.escape(interface) %]</td>
+    </tr>
     <tr class="nomobile">
      <th align="left">[% 'Lx-Office Homepage' | $T8 %]:</th>
      <td><a href="http://lx-office.org" target="_blank" title="[% 'Lx-Office Homepage' | $T8 %]">http://lx-office.org</a></td>