kivitendo-erp.git
11 years agoKonfigurationsdatei: Verweise von "Lx-Office" in "kivitendo" umbenennen
Moritz Bunkus [Mon, 27 Aug 2012 09:33:51 +0000 (11:33 +0200)]
Konfigurationsdatei: Verweise von "Lx-Office" in "kivitendo" umbenennen

11 years agoKonfigurationsdateien config/lx_office.conf{.default} in kivitendo.conf{.default...
Moritz Bunkus [Mon, 27 Aug 2012 09:32:23 +0000 (11:32 +0200)]
Konfigurationsdateien config/lx_office.conf{.default} in kivitendo.conf{.default} umbenennen

11 years agoBasis-Module ("Encode") normal mit "use" laden
Moritz Bunkus [Mon, 27 Aug 2012 09:07:53 +0000 (11:07 +0200)]
Basis-Module ("Encode") normal mit "use" laden

11 years agoAlte Selennium-Tests löschen
Moritz Bunkus [Mon, 27 Aug 2012 09:05:19 +0000 (11:05 +0200)]
Alte Selennium-Tests löschen

11 years agoDokumentation: Lx-Office in kivitendo umbenennen
Moritz Bunkus [Mon, 27 Aug 2012 08:57:21 +0000 (10:57 +0200)]
Dokumentation: Lx-Office in kivitendo umbenennen

11 years agoVia SMTP Zeilen normalisiert verschicken
Moritz Bunkus [Fri, 24 Aug 2012 10:03:48 +0000 (12:03 +0200)]
Via SMTP Zeilen normalisiert verschicken

Der SMTP-Standard (RFC 821) verlangt, dass Zeilen nicht länger als
1000 Zeichen sind und mit <CRLF> abgeschlossen werden.

Anhänge kommen in der "sub print" aber als ein großer Blob an, der
zwar schon nach Zeilen aufgespalten ist, aber trotzdem zu groß ist,
sodass der annehmende Server teilweise komische Dinge mit der Eingabe
tut.

Also wirklich nur Zeile für Zeile schicken sowie dafür sorgen, dass
alle Zeilen auch wirklich mit <CRLF> aka \r\n abgeschlossen werden.

11 years agoBeim Anlegen der Auth-DB/-Tabellen Admin-Passwort mitschleifen
Moritz Bunkus [Fri, 24 Aug 2012 09:15:30 +0000 (11:15 +0200)]
Beim Anlegen der Auth-DB/-Tabellen Admin-Passwort mitschleifen

Solange die Auth-Strukturen nicht existieren, muss das Admin-Passwort
als Zeichen des gültigen Logins als Hiddens mitgeschliffen werden. Das
war auch vorher schon so, nur steht das vom Benutzer eingegebene
Passwort seit 670f76a für die Controller nicht mehr als Formvariable
zur Verfügung.

Behebt #1987.

11 years agoErmöglichen, dass Templates in SL/Dispatcher.pm übersetzt werden
Moritz Bunkus [Fri, 24 Aug 2012 08:05:21 +0000 (10:05 +0200)]
Ermöglichen, dass Templates in SL/Dispatcher.pm übersetzt werden

In Dispatcher.pm erledigt die Sub "show_error" das Rendern. Ihr wird
der Name des Templates übergeben. Das erkennt aber
"scripts/locales.pl" nicht als Render-Anweisung und übersetzt die
Templates deshalb nicht automatisch. Also muss Dispatcher.pm etwas
nachhelfen und explizit erwähnen, dass diese Templates übersetzt
werden sollen.

11 years agoFehlende Übersetzungen ergänzt
Moritz Bunkus [Fri, 24 Aug 2012 07:54:59 +0000 (09:54 +0200)]
Fehlende Übersetzungen ergänzt

11 years agoMerge branch 'master' of vc.linet-services.de:public/lx-office-erp
Moritz Bunkus [Wed, 22 Aug 2012 16:24:17 +0000 (18:24 +0200)]
Merge branch 'master' of vc.linet-services.de:public/lx-office-erp

11 years agoE-Mails auch per SMTP verschicken können
Moritz Bunkus [Wed, 22 Aug 2012 16:24:12 +0000 (18:24 +0200)]
E-Mails auch per SMTP verschicken können

Default ist nun, via SMTP über localhost zu verschicken. Mögliche
Optionen sind: TLS oder SSL-Verschlüsselung, Authentifizierung,
Verwendung von Sendmail anstelle von SMTP (wie bisher).

Dokumentation folgt morgen.

11 years agoBei nicht zu quotenden Shell-Argumenten Exception werfen
Moritz Bunkus [Wed, 22 Aug 2012 16:21:28 +0000 (18:21 +0200)]
Bei nicht zu quotenden Shell-Argumenten Exception werfen

11 years agoVor Exception-Ausgabe sicherstellen, dass das aktuelle Verzeichnis OK ist
Moritz Bunkus [Wed, 22 Aug 2012 15:50:50 +0000 (17:50 +0200)]
Vor Exception-Ausgabe sicherstellen, dass das aktuelle Verzeichnis OK ist

11 years agoAuch das Installationsbasisverzeichnis in @INC aufnehmen
Moritz Bunkus [Wed, 22 Aug 2012 15:50:37 +0000 (17:50 +0200)]
Auch das Installationsbasisverzeichnis in @INC aufnehmen

Hintergrund ist konditionales Requiren von SL-Modulen, wenn vorher ein
chdir gemacht wurde (blöder alter Code, der chdirt...).

11 years agoCSV-Import für benutzerdefinierte Variablen gefixt
Thomas Heck [Tue, 21 Aug 2012 07:55:49 +0000 (09:55 +0200)]
CSV-Import für benutzerdefinierte Variablen gefixt

Sollte nun mit allen CSV-Imports funktionieren. Der alte Fix
hat nur mit Customer/Vendor funktioniert.

11 years agoPart-CSV-Import: Bei Update model_X und lastcost_X bei make_X berücksichtigen
Thomas Heck [Mon, 20 Aug 2012 12:54:01 +0000 (14:54 +0200)]
Part-CSV-Import: Bei Update model_X und lastcost_X bei make_X berücksichtigen

implementiert #1901

11 years agoWaren-CSV-Import: Einlesen des Einkaufspreises ins makemodel
Thomas Heck [Mon, 20 Aug 2012 09:13:07 +0000 (11:13 +0200)]
Waren-CSV-Import: Einlesen des Einkaufspreises ins makemodel

11 years agoCSV-Kunden-/Lieferantenimport: Verwendung von TransNumber zur Erzeugung von Nummern
Thomas Heck [Fri, 17 Aug 2012 11:59:45 +0000 (13:59 +0200)]
CSV-Kunden-/Lieferantenimport: Verwendung von TransNumber zur Erzeugung von Nummern

implementiert #1972

11 years agoMerge branch 'master' of vc.linet-services.de:public/lx-office-erp
Sven Schöling [Wed, 22 Aug 2012 11:33:14 +0000 (13:33 +0200)]
Merge branch 'master' of vc.linet-services.de:public/lx-office-erp

11 years agoCSV-Import: Projekte
Thomas Heck [Tue, 21 Aug 2012 08:15:38 +0000 (10:15 +0200)]
CSV-Import: Projekte

implementiert #1907

11 years agoChangelog-Eintrag zu Gewicht in Verkaufsbericht
Niclas Zimmermann [Tue, 21 Aug 2012 14:30:33 +0000 (16:30 +0200)]
Changelog-Eintrag zu Gewicht in Verkaufsbericht

11 years agoRundungsfehler in Verkaufsbericht
Niclas Zimmermann [Tue, 21 Aug 2012 13:54:36 +0000 (15:54 +0200)]
Rundungsfehler in Verkaufsbericht

In der Verkaufsbericht gab es je nach Anzeigeoptionen noch
Rundungsfehler.
qty wird nun auf 2 Stellen gerundet und weight auf 3 Stellen.

11 years agoMerge branch 'GewichtinVerkaufsbericht'
Niclas Zimmermann [Tue, 21 Aug 2012 11:15:15 +0000 (13:15 +0200)]
Merge branch 'GewichtinVerkaufsbericht'

11 years agoGewicht im Verkaufsbericht
Niclas Zimmermann [Tue, 21 Aug 2012 11:08:03 +0000 (13:08 +0200)]
Gewicht im Verkaufsbericht

Im Verkaufsbericht kann man sich jetzt auch das Gewicht von
verkauften Teilen anzeigen lassen.

11 years agoController-Code nach internem Umschreiben des Requests von 'login.pl' laden
Moritz Bunkus [Mon, 20 Aug 2012 08:39:26 +0000 (10:39 +0200)]
Controller-Code nach internem Umschreiben des Requests von 'login.pl' laden

11 years agoUser-Login auf Controller umgestellt
Moritz Bunkus [Fri, 17 Aug 2012 12:23:52 +0000 (14:23 +0200)]
User-Login auf Controller umgestellt

11 years agoUser- und Adminlogin jederzeit via Formularfelder ermöglichen
Moritz Bunkus [Fri, 17 Aug 2012 12:23:09 +0000 (14:23 +0200)]
User- und Adminlogin jederzeit via Formularfelder ermöglichen

11 years agoFormularfelder und Session-Keys für Logins umbenannt
Moritz Bunkus [Fri, 17 Aug 2012 11:16:45 +0000 (13:16 +0200)]
Formularfelder und Session-Keys für Logins umbenannt

Ziel: Ermöglichen, dass Login & Passwort auch wieder per
Formularfelder mit jedem Request übertragen werden, aber nicht mehr so
offensichtlich im "Formularfeldernamensraum" rumgeistern -- sondern
leicht aussortierbar sind. Die Formularfelder, die mit "{AUTH}"
starten, werden vom Dispatcher nach erfolgter Loginüberprüfung
automatisch entfernt, bevor die Kontrolle an die Controller/Actions
übergeben wird (unabhängig vom Routingtyp).

Vorher waren Formularfelder sowie die Session-Keys für User-Logins
"login" und "password", für Admin-Login "rpw".

Jetzt:
- Formularfelder: für User-Logins "{AUTH}login" und "{AUTH}password",
  für Admin-Login "{AUTH}admin_password".
- Session-Keys: jeweils ohne "{AUTH}", sprich für User-Logins
  weiterhin "login" und "password", für Admin-Login neu
  "admin_password".

11 years agoKosmetik: Doku-Formatierung
Moritz Bunkus [Fri, 17 Aug 2012 10:25:14 +0000 (12:25 +0200)]
Kosmetik: Doku-Formatierung

11 years agoDispatcher: Auch Controller ermöglichen, die Admin-Login benötigen
Moritz Bunkus [Fri, 17 Aug 2012 10:24:58 +0000 (12:24 +0200)]
Dispatcher: Auch Controller ermöglichen, die Admin-Login benötigen

Default ist für Controller, dass all ihre Funktionen User-Logins
benötigen. Kann ein Controller ändern, indem er die Sub
"get_auth_level" überschreibt (siehe Doku in
SL::Contrller::Base). Dies schafft die Basis dafür, auch Admin-Dinge
in der neuen Controller-Architektur zu implementieren.

Für die Zukunft kann man leicht ein weiteres Level neben 'user' und
'admin' einbauen, z.B. 'none' für Actions, die definitiv kein Login
benötigen.

Funktionierendes Beispiel für einen solchen Controller (Aufruf dann
über URL ".../controller.pl?action=AdminTest/proof_of_concept"):

package SL::Controller::AdminTest;

use strict;

use parent qw(SL::Controller::Base);

use Rose::Object::MakeMethods::Generic
(
 scalar => [ qw(business) ],
);

#
# actions
#

sub action_proof_of_concept {
  my ($self) = @_;

  $::form->header;
  print $self->render(<<EOHTML, { inline => 1 });
 <body>
  <p>I've been called with an ADMIN login only!</p>
 </body>
</html>
EOHTML
}

#
# overrides
#

sub get_auth_level {
  return 'admin';
}

1;

11 years agoSQL-Upgrade: '@encoding' als Alias für '@charset' erkennen
Moritz Bunkus [Fri, 17 Aug 2012 09:57:08 +0000 (11:57 +0200)]
SQL-Upgrade: '@encoding' als Alias für '@charset' erkennen

11 years agoTippfehler aus commit 46bc75c8079099de22ccbc6281b04f42ade67f1a korrigiert.
Bernd Blessmann [Fri, 17 Aug 2012 08:30:22 +0000 (10:30 +0200)]
Tippfehler aus commit 46bc75c8079099de22ccbc6281b04f42ade67f1a korrigiert.

11 years agoCsvImport::Parts: Option zum Überspringen von Artikeln mit existierenden Nummern
Thomas Heck [Thu, 16 Aug 2012 13:32:26 +0000 (15:32 +0200)]
CsvImport::Parts: Option zum Überspringen von Artikeln mit existierenden Nummern

implementiert #1965

11 years agoHistoriensuchmaschine von date Magic befreit
Sven Schöling [Thu, 16 Aug 2012 16:55:09 +0000 (18:55 +0200)]
Historiensuchmaschine von date Magic befreit

War ursprünglich Teil von 46bc75c8079099de22ccbc6281b04f42ade67f1a.
Das Javascript hatte noch ein paar Bugs, die sollten damit behoben sein.

11 years agoDate-Input-Felder durch 'L.date_tag's ersetzt
Thomas Heck [Wed, 15 Aug 2012 08:25:58 +0000 (10:25 +0200)]
Date-Input-Felder durch 'L.date_tag's ersetzt

11 years agoBorder-Fehler für JS-Menü unterscheidet nicht Links- vs Mittel-Klick (Ticket #1921)
Thomas Heck [Mon, 13 Aug 2012 14:50:46 +0000 (16:50 +0200)]
Border-Fehler für JS-Menü unterscheidet nicht Links- vs Mittel-Klick (Ticket #1921)

11 years agoSonderzeichen in Einzelansicht Erzeugnis
Niclas Zimmermann [Thu, 16 Aug 2012 10:05:03 +0000 (12:05 +0200)]
Sonderzeichen in Einzelansicht Erzeugnis

Wenn in der Artikelbeschreibung oder Warengruppe von Bestandteilen
des Erzeugnis Sonderzeichen verwendet werden, kam es bisher zu
Problemen, vor allem wenn man den Button "Aktualisieren" benutzt.
Dieser Fehler ist nun behoben, sowohl für die Artikelbeschreibung,
als auch für die Warengruppe, auch wenn Sonderzeichen in der
Warengruppe bisher kaum funktionieren.

11 years agoMerge branch 'master' of vc.linet-services.de:public/lx-office-erp
Moritz Bunkus [Thu, 16 Aug 2012 08:54:23 +0000 (10:54 +0200)]
Merge branch 'master' of vc.linet-services.de:public/lx-office-erp

11 years agoPOD-Dokumentation zu SL::DBUpgrade2
Moritz Bunkus [Thu, 16 Aug 2012 08:50:40 +0000 (10:50 +0200)]
POD-Dokumentation zu SL::DBUpgrade2

11 years agoSchreibfehler in Parametername
Moritz Bunkus [Thu, 16 Aug 2012 08:50:29 +0000 (10:50 +0200)]
Schreibfehler in Parametername

11 years agoVerkaufsbericht Einheiten und Preisfaktoren berücksichtigen
Niclas Zimmermann [Tue, 14 Aug 2012 14:53:20 +0000 (16:53 +0200)]
Verkaufsbericht Einheiten und Preisfaktoren berücksichtigen

Im Verkaufsbericht werden jetzt auch Einheiten und Preisfaktoren
berücksichtigt. Vorher kam es zu Fehlern, wenn man Rechnungen
mit von den Basisangaben abweichenden Einheiten oder Preisfaktoren
erstellt hat. Weiterhin werden in dem Bericht nur noch absolute Mengen
in Verbindung mit der Basiseinheit angezeigt (nicht mehr die Einheit
aus dem Beleg; zur Berechnung von Durchschnitten).

11 years agoap::form_footer auf template umgestellt.
Thomas Heck [Tue, 14 Aug 2012 10:52:12 +0000 (12:52 +0200)]
ap::form_footer auf template umgestellt.

11 years agoUnnötiges CVar->get_configs entfernt.
Sven Schöling [Tue, 14 Aug 2012 10:50:41 +0000 (12:50 +0200)]
Unnötiges CVar->get_configs entfernt.

11 years agoemployees direkt in der Datenbank sortieren.
Sven Schöling [Tue, 14 Aug 2012 10:50:02 +0000 (12:50 +0200)]
employees direkt in der Datenbank sortieren.

11 years agoSpaltenueberschriften Export auf Import abgleichen
Thomas Heck [Mon, 6 Aug 2012 11:09:23 +0000 (13:09 +0200)]
Spaltenueberschriften Export auf Import abgleichen

implementiert #1851

11 years agoRose Upgrade für custom_variables
Sven Schöling [Fri, 10 Aug 2012 09:22:22 +0000 (11:22 +0200)]
Rose Upgrade für custom_variables

11 years agoNatürlich nur die sub_modules auf '' setzen, die auch NULL sind.
Sven Schöling [Fri, 10 Aug 2012 08:05:04 +0000 (10:05 +0200)]
Natürlich nur die sub_modules auf '' setzen, die auch NULL sind.

11 years agoCSV-Import für benutzerdefinierte Variablen gefixt
Thomas Heck [Mon, 6 Aug 2012 14:51:28 +0000 (16:51 +0200)]
CSV-Import für benutzerdefinierte Variablen gefixt

behebt #1924

11 years agoUnbenutztes vorkommen von write_trigger in do.pl entfernt.
Sven Schöling [Thu, 9 Aug 2012 13:27:26 +0000 (15:27 +0200)]
Unbenutztes vorkommen von write_trigger in do.pl entfernt.

11 years agono tabs!
Sven Schöling [Thu, 9 Aug 2012 10:58:28 +0000 (12:58 +0200)]
no tabs!

11 years agoAdministrationsoberflaeche: aktive User anzeigen
Thomas Heck [Tue, 7 Aug 2012 11:41:27 +0000 (13:41 +0200)]
Administrationsoberflaeche: aktive User anzeigen

implementiert #1853

11 years agoAutom. Update des Faelligkeitsdatums bei Kreditorenbuchungen
Thomas Heck [Fri, 3 Aug 2012 14:33:34 +0000 (16:33 +0200)]
Autom. Update des Faelligkeitsdatums bei Kreditorenbuchungen

behebt #1936

11 years agoSprung von Wiedervorlage zu Kreditorenbuchung in Kreditorenbuchung gefixt(Ticket...
Thomas Heck [Fri, 3 Aug 2012 14:51:51 +0000 (16:51 +0200)]
Sprung von Wiedervorlage zu Kreditorenbuchung in Kreditorenbuchung gefixt(Ticket #1940)

11 years agoJS-Menu: Bei Mittel-Klick Link im neuen Fenster öffnen(Ticket #1921)
Thomas Heck [Fri, 3 Aug 2012 08:34:14 +0000 (10:34 +0200)]
JS-Menu: Bei Mittel-Klick Link im neuen Fenster öffnen(Ticket #1921)

11 years agoGelöschte Aufträge nicht mehr im Lieferschein verlinken(Ticket #1692)
Thomas Heck [Thu, 2 Aug 2012 14:16:34 +0000 (16:16 +0200)]
Gelöschte Aufträge nicht mehr im Lieferschein verlinken(Ticket #1692)

11 years agoMeldung beim Speichern einer Wiedervorlage anzeigen(Ticket #1697)
Thomas Heck [Thu, 2 Aug 2012 12:47:03 +0000 (14:47 +0200)]
Meldung beim Speichern einer Wiedervorlage anzeigen(Ticket #1697)

11 years agoSL::SessionFile::Random - damit man sich nicht selber einen Namen ausdenken muss
Sven Schöling [Wed, 8 Aug 2012 15:58:45 +0000 (17:58 +0200)]
SL::SessionFile::Random - damit man sich nicht selber einen Namen ausdenken muss

11 years agoMerge branch 'master' of vc.linet-services.de:public/lx-office-erp
Sven Schöling [Wed, 8 Aug 2012 15:48:29 +0000 (17:48 +0200)]
Merge branch 'master' of vc.linet-services.de:public/lx-office-erp

11 years agoPOD-Doku aktualisieren
Moritz Bunkus [Wed, 8 Aug 2012 15:15:29 +0000 (17:15 +0200)]
POD-Doku aktualisieren

Fixt #1967.

11 years agoImplementation eines programmatischen Interfaces zum Task-Server
Moritz Bunkus [Wed, 8 Aug 2012 14:54:35 +0000 (16:54 +0200)]
Implementation eines programmatischen Interfaces zum Task-Server

11 years agoUmbenennung "lx-office-task-server" in "kivitendo-task-server"
Moritz Bunkus [Wed, 8 Aug 2012 14:52:42 +0000 (16:52 +0200)]
Umbenennung "lx-office-task-server" in "kivitendo-task-server"

11 years agoTask-Server mit SIGALRM sofort aufwecken können
Moritz Bunkus [Wed, 8 Aug 2012 14:30:56 +0000 (16:30 +0200)]
Task-Server mit SIGALRM sofort aufwecken können

11 years agoModul "SL::System::Process" für system-relevante Befehle
Moritz Bunkus [Wed, 8 Aug 2012 14:04:53 +0000 (16:04 +0200)]
Modul "SL::System::Process" für system-relevante Befehle

Wie z.B. einer Funktion, die den absoluten Pfad zu den
Kivitendo-Programmdateien zurückliefert.

11 years agoParsing von multipart/formdata beschleuningt.
Sven Schöling [Wed, 8 Aug 2012 14:48:47 +0000 (16:48 +0200)]
Parsing von multipart/formdata beschleuningt.

Die entsprechende Routine hatte einen bösen Fall von Shlemiel the Painter's
algorithm [1]. Dadurch wurden Fileuploads mit mehr als 20k Zeilen extrem
langsam. Binärdaten wie pdfs oder Bilder hat das nicht gestört, aber bei CSV
Imports hat eine 80k Zeilen Datei dann auch mal 2-5min gebraucht, nur um den
Request zu parsen.

Jetzt werden nur die Indizes geparst und hinterher direkt aus dem Request der
substr gezogen. Ausserdem endlich einen Testfall dafür eingebaut.

[1] http://en.wikipedia.org/wiki/Schlemiel_the_Painter%27s_algorithm

11 years agoInstanceConfig auch im task_server laden
Sven Schöling [Wed, 8 Aug 2012 14:46:28 +0000 (16:46 +0200)]
InstanceConfig auch im task_server laden

Ansonsten gehen CreatePeriodicInvoices nicht

11 years agoWarnung von Config::Std zur Compilezeit unterdrücken.
Sven Schöling [Wed, 8 Aug 2012 14:44:59 +0000 (16:44 +0200)]
Warnung von Config::Std zur Compilezeit unterdrücken.

11 years agoBoot-Scripte von "Lx-Office" auf "Kivitendo" umbenannt
Moritz Bunkus [Wed, 8 Aug 2012 12:12:58 +0000 (14:12 +0200)]
Boot-Scripte von "Lx-Office" auf "Kivitendo" umbenannt

11 years agoBug 1961
Niclas Zimmermann [Thu, 2 Aug 2012 14:30:53 +0000 (16:30 +0200)]
Bug 1961

Nach dem erstellen einer Einkaufsrechnung wird der Einkaufspreis aktualisiert. Dabei entstand bisher ein Fehler, wenn man andere Einheiten als die Standardeinheit der Waren/Dienstleistungen benutzt. Das ist nun behoben.

11 years agoVorschaumodus: Lokalisierung leicht geändert.
Sven Schöling [Thu, 2 Aug 2012 14:36:29 +0000 (16:36 +0200)]
Vorschaumodus: Lokalisierung leicht geändert.

11 years agoPreview Mode bei Imports
Sven Schöling [Thu, 2 Aug 2012 14:34:42 +0000 (16:34 +0200)]
Preview Mode bei Imports

Bei großen Imports interessieren einen meist nur die Fehler, oder die ersten
paar zeilen um zu sehen ob der Import so gut aussieht. Diese Modi sind jetzt
verfügbar.

11 years agoMerge branch 'master' of vc.linet-services.de:public/lx-office-erp
G. Richardson [Wed, 1 Aug 2012 10:03:07 +0000 (12:03 +0200)]
Merge branch 'master' of vc.linet-services.de:public/lx-office-erp

11 years agoBug 1960 - Datenverlust beim CSV-Warenimport bei Preisen
G. Richardson [Wed, 1 Aug 2012 09:59:28 +0000 (11:59 +0200)]
Bug 1960 - Datenverlust beim CSV-Warenimport bei Preisen

wenn sellprice, listprice oder lastcost in der Importdatei nicht
explizit mit eigener Spalte gesetzt wurden, wurden die ursprünglichen
Preise beim Preisupdate mit 0 überschrieben.

Fix von Sven.

11 years agoBei Importdaten das UTF8 BOM ignorieren.
Sven Schöling [Tue, 31 Jul 2012 12:57:49 +0000 (14:57 +0200)]
Bei Importdaten das UTF8 BOM ignorieren.

behebt Bug 1872

11 years agoWarenimport bei grossen Datenbanken.
Sven Schöling [Tue, 31 Jul 2012 12:43:30 +0000 (14:43 +0200)]
Warenimport bei grossen Datenbanken.

Der Warenimport hat bisher alle Waren ausgelesen und dann im Hash umsortiert.
Bei einer Datenbank mit 84k Waren hat das 22s gedauert, und 700MB
Arbeitsspeicher gefressen, das ist nicht zumutbar. Nun wird jeder Wert einzeln
aus der Datenbank gesucht.

11 years agoMerge branch 'master' of vc.linet-services.de:public/lx-office-erp
Sven Schöling [Fri, 27 Jul 2012 13:16:07 +0000 (15:16 +0200)]
Merge branch 'master' of vc.linet-services.de:public/lx-office-erp

11 years agostrict für selftest base
Sven Schöling [Fri, 27 Jul 2012 13:14:30 +0000 (15:14 +0200)]
strict für selftest base

11 years agoKeine Längenbeschränkung für Spalte phone in den Tabellen customer und vendor.
Bernd Blessmann [Fri, 27 Jul 2012 08:52:35 +0000 (10:52 +0200)]
Keine Längenbeschränkung für Spalte phone in den Tabellen customer und vendor.

11 years agoErzeugnis: lastcost-Konflikt für makemodel und Komponenten
G. Richardson [Thu, 26 Jul 2012 18:27:18 +0000 (20:27 +0200)]
Erzeugnis: lastcost-Konflikt für makemodel und Komponenten

Sowohl die EK-Preise der Erzeugnis-Komponenten als auch die EK-Preise
der makemodel-Versionen werden in $form->{lastcost_$i} gespeichert und
überlagern sich damit.

Und da diese auch noch im Hintergrund unterschiedlich
formatiert/geparsed werden kam es bei den Erzeugnis-EK-Preisen nach dem
Erneuern zu Formatierungsfehlern.

Da Erzeugnisse aber produziert und nicht eingekauft werden ist hier auch
kein makemodel nötig, so daß es für Erzeugnisse entfernt wurde.

11 years agoMerge branch 'master' of vc.linet-services.de:public/lx-office-erp
Sven Schöling [Thu, 26 Jul 2012 12:30:46 +0000 (14:30 +0200)]
Merge branch 'master' of vc.linet-services.de:public/lx-office-erp

11 years agoPreisgruppen in all_parts Lieferanten
G. Richardson [Thu, 26 Jul 2012 12:29:48 +0000 (14:29 +0200)]
Preisgruppen in all_parts Lieferanten

(Implementierung grösstenteils von Geoffrey, leicht modifiziert von mir)

11 years agoSteuer bei Debitorenbuchung gefixed
G. Richardson [Fri, 20 Jul 2012 14:06:41 +0000 (16:06 +0200)]
Steuer bei Debitorenbuchung gefixed

Steuerbetrag ist wieder Text statt Inputfeld

Fehler kam durch Commit cf5fe23a0f13baaa7637ac66898945d3e9da42f4
"ar form_header nach template ausgelagert"

Wahrscheinlich Fehler durch Automatisierung

11 years agoDatev Export - bei include in html vollen Dateinamen benutzen
G. Richardson [Wed, 18 Jul 2012 13:26:58 +0000 (15:26 +0200)]
Datev Export - bei include in html vollen Dateinamen benutzen

11 years agoSelfTests
Sven Schöling [Tue, 10 Jul 2012 11:22:57 +0000 (13:22 +0200)]
SelfTests

Es gibt jetzt ein Grundgerüst um Selbsttests durchzuführen, und bei Problemen
einen Administrator per Mail zu benachrichtigen. Die Selbsttests werden Über
das SelfTest Modul für den Taskserver verwaltet, und in config/lx_office.conf
im Block [self_test] konfiguriert. Die Tests werden in TAP ausgeliefert und
können bei Bedarf weiter maschinell ausgewertet werden.

Weitere Tests können von SL::BackgroundJob::SelfTest::Base abgeleitet werden.

Zur Demonstration gibt es einen Selbsttest Transactions, der die Datenbank
auf Fehlbuchungen untersucht.

11 years agoMehr spellchecks
Sven Schöling [Tue, 10 Jul 2012 11:21:02 +0000 (13:21 +0200)]
Mehr spellchecks

11 years agoInitparameter für SL/Mailer
Sven Schöling [Tue, 10 Jul 2012 11:20:22 +0000 (13:20 +0200)]
Initparameter für SL/Mailer

Damit man das charset mitgeben kann.

11 years agoFehler in der Behandlung von Preisgruppen der wahrscheinlich die verschwindenden...
Sven Schöling [Tue, 3 Jul 2012 17:12:53 +0000 (19:12 +0200)]
Fehler in der Behandlung von Preisgruppen der wahrscheinlich die verschwindenden Preise ausgelöst hat.

11 years agoKeine Passwörter mehr in Sessions speichern.
Sven Schöling [Mon, 2 Jul 2012 13:58:12 +0000 (15:58 +0200)]
Keine Passwörter mehr in Sessions speichern.

Der vorherige Mechanismus hat Passwörter in der Session hinterlegt, um bei
jedem Request überprüfen zu können, ob die Zugriffsrechte immernoch bestehen.
Gedacht war das vor allem für LDAP Authetifizierung, wo der Admin den Zugang
eines Benutzers speichern konnte und das System das sonst nicht mitbekommt.

Ein großes Problem was daraus entsteht ist, dass das Passwort auch akzeptiert
wird, wenn die gehashte Version übergeben wird, weil zur Überprüfungszeit nicht
mehr festgestellt werden kann, ob das gehashte Passwort aus der Session kommt
oder vom User.

Diese Änderung sorgt dafür, dass Passwörter weder im Klartext, noch crypted in
der Session gespeichert werden, sondern der Authetifizierungsstatus.

Eine Session bleibt jetzt eutentifiziert, auch wenn zwischendurch das Passwort
geändert wird. Lokal wird das später abgefangen werden, dass Sessions
invalidiert werden, wenn der Admin das Passwort ändert, im LDAP ist es garnicht
mehr der Fall. Auf der positiven Seite reduziert das den load auf dem LDAP
Server, weil nicht mehr für jeden Request ein Bind passieren muss.

Da die Passwörter nicht mehr verglichen werden müssen, werden gehashte
Passwörter jetzt nicht mehr akzeptiert. Jedes Passwort wird vor dem Vergleichen
unkonditional gehasht.

Die Backend Routinen erkennen jetzt wenn garkein Passwort übergeben wurde, und
triggern dafür den 5s Penalty nicht. Das macht das Aufrufen der Administration
das erste Mal wie erwartet schneller.

11 years agoMerge branch 'master' of vc.linet-services.de:public/lx-office-erp
Sven Schöling [Fri, 29 Jun 2012 10:36:32 +0000 (12:36 +0200)]
Merge branch 'master' of vc.linet-services.de:public/lx-office-erp

11 years agoWorkaround zu einem Firefox 13 bug der verhindert dass Zahlungsbedindungen das Liefer...
Sven Schöling [Fri, 29 Jun 2012 10:35:44 +0000 (12:35 +0200)]
Workaround zu einem Firefox 13 bug der verhindert dass Zahlungsbedindungen das Lieferdatum aktualisieren.

11 years agoMerge branch 'master' of git@vc.linet-services.de:public/lx-office-erp
Holger Lindemann [Mon, 25 Jun 2012 16:42:07 +0000 (18:42 +0200)]
Merge branch 'master' of git@vc.linet-services.de:public/lx-office-erp

11 years agoKleinigkeiten
Holger Lindemann [Mon, 25 Jun 2012 16:41:30 +0000 (18:41 +0200)]
Kleinigkeiten

11 years agoMerge branch 'master' of vc.linet-services.de:public/lx-office-erp
Moritz Bunkus [Fri, 22 Jun 2012 12:04:39 +0000 (14:04 +0200)]
Merge branch 'master' of vc.linet-services.de:public/lx-office-erp

11 years agoAnsprechpersonensuche um PLZ, Ort ergänzt
Moritz Bunkus [Fri, 22 Jun 2012 12:02:26 +0000 (14:02 +0200)]
Ansprechpersonensuche um PLZ, Ort ergänzt

Und nach Straße, PLZ, Ort sortierbar gemacht

11 years agoStraße, PLZ, Ort bei Ansprechpersonen bearbeiten
Moritz Bunkus [Fri, 22 Jun 2012 11:57:08 +0000 (13:57 +0200)]
Straße, PLZ, Ort bei Ansprechpersonen bearbeiten

Behebt #1931.

11 years agoKosmetik: Einrückung fixen
Moritz Bunkus [Fri, 22 Jun 2012 09:52:52 +0000 (11:52 +0200)]
Kosmetik: Einrückung fixen

11 years agoÜberflüssiges <tr>-Tag entfernen
Moritz Bunkus [Fri, 22 Jun 2012 09:52:12 +0000 (11:52 +0200)]
Überflüssiges <tr>-Tag entfernen

11 years agoBenutzerdefinierte Variablen bei Ansprechpartnern über CSV importierbar machen.
Bernd Blessmann [Fri, 22 Jun 2012 10:34:16 +0000 (12:34 +0200)]
Benutzerdefinierte Variablen bei Ansprechpartnern über CSV importierbar machen.

11 years agoAnsprechpartner: Feld 'E-Mail' direkt hinter Namen positionieren
Moritz Bunkus [Fri, 22 Jun 2012 09:33:17 +0000 (11:33 +0200)]
Ansprechpartner: Feld 'E-Mail' direkt hinter Namen positionieren

11 years agoMerge branch 'master' of vc.linet-services.de:public/lx-office-erp
Moritz Bunkus [Fri, 22 Jun 2012 08:30:07 +0000 (10:30 +0200)]
Merge branch 'master' of vc.linet-services.de:public/lx-office-erp

11 years agoPrimärschlüsselspaltennamen aus Meta-Informationen holen
Moritz Bunkus [Fri, 22 Jun 2012 08:30:00 +0000 (10:30 +0200)]
Primärschlüsselspaltennamen aus Meta-Informationen holen

Benutzerdefinierte Variablen verweisen auf die Primärschlüsselspalte
ihrer Bezugstabelle. Dieser Spaltenname kann beim Helper mit der
Option 'id' überschrieben werden. Allerdings defaultete er vorher auf
'id', was für viele Tabellen stimmte, nicht aber z.B. für 'contacts',
wo es die Spalte 'cp_cv_id' ist.

Für 'contacts' passierte dann Folgendes, wenn man
'$contact->custom_variables' aufrief:

Die Funktion 'custom_variables' ist eine one-to-many-Relation, sie
erfordert also einen DB-Zugriff. Dafür wird die Spaltenbeziehung
'cvar.trans_id == contacts.primary_key_column_name' herangezogen. Der
'primary_key_column_name' ist nicht angegeben, Defaultwert ist
'id'. RDBO versucht also, die Spalte 'id' aus dem Objekt '$contact'
auszulesen, mappt dafür den Spaltennamen auf den Methodennamen dafür.

Dieses Mapping liefert den leeren String. Das überprüft RDBO in dem
Moment aber nicht, sondern ruft "$object->$method()" auf. Das wirft
eine Exception, RDBO fängt diese ab, überprüft dann, ob '$AUTOLOAD'
einen Paketnamen enthält. Und dann kommt diese wenig erhellende
Fehlermeldung heraus:

Can't locate object method "Contact::" via package "SL::DB" at /usr/share/perl5/Rose/DB/Object.pm line 1646