Moritz Bunkus [Thu, 30 Aug 2012 07:49:16 +0000 (09:49 +0200)]
Hintergrundjob-Validierung: 'keine Spec' als '* * * * *' behandeln
Moritz Bunkus [Wed, 29 Aug 2012 16:01:27 +0000 (18:01 +0200)]
Controller für Task-Server-Steuerung
Moritz Bunkus [Wed, 29 Aug 2012 15:58:14 +0000 (17:58 +0200)]
Task-Server-Control: Auch STDERR vom ausgeführten Kommando (start/stop) auslesen
Das geht leider nicht mehr mit
my $output = `$exe 2>&1`;
weil das nach dem Forken irgendwie einen Zombie-Prozess hinterlässt
und Perl aus dem `...` nicht zurückkehrt. Also die Variante mit
Umleitung in temporäre Datei wählen.
Moritz Bunkus [Wed, 29 Aug 2012 15:56:27 +0000 (17:56 +0200)]
Task-Server und -Control-Modul auf neue Konfigurationsdateinamen angepasst
Moritz Bunkus [Wed, 29 Aug 2012 14:06:11 +0000 (16:06 +0200)]
Merge branch 'master' of vc.linet-services.de:public/lx-office-erp
Moritz Bunkus [Wed, 29 Aug 2012 14:06:06 +0000 (16:06 +0200)]
Controller zur Verwaltung von BackgroundJobHistory-Einträgen
Moritz Bunkus [Wed, 29 Aug 2012 14:05:35 +0000 (16:05 +0200)]
L.truncate: Funktion zum intelligenten Verkürzen eines Strings
Sven Schöling [Wed, 29 Aug 2012 09:38:12 +0000 (11:38 +0200)]
InstallationCheck: Module mit leerer Importliste prüfen, weil sonst diverse Module den Namespace verpesten
Thomas Heck [Tue, 28 Aug 2012 15:50:56 +0000 (17:50 +0200)]
Merge branch 'master' of vc.linet-services.de:public/lx-office-erp
Thomas Heck [Tue, 28 Aug 2012 15:48:23 +0000 (17:48 +0200)]
Datumsformate "dd-mm-yy" und "mm-dd-yy" entfernt.
fixt #1871
Moritz Bunkus [Tue, 28 Aug 2012 14:40:03 +0000 (16:40 +0200)]
Default für SMTP-Verbindungen ist "keine Verschlüsselung"
Damit wird auch nur Net::SMTP geladen, was in Core ist.
Moritz Bunkus [Tue, 28 Aug 2012 14:32:47 +0000 (16:32 +0200)]
Controller zur Verwaltung von BackgroundJobs
Moritz Bunkus [Tue, 28 Aug 2012 12:09:14 +0000 (14:09 +0200)]
BackgroundJob: next_run_at vor Speichern berechnen, falls nicht gesetzt
Moritz Bunkus [Tue, 28 Aug 2012 12:08:53 +0000 (14:08 +0200)]
Validierungsfunktion für BackgroundJobs
Moritz Bunkus [Tue, 28 Aug 2012 12:08:40 +0000 (14:08 +0200)]
BackgroundJob-Manager sortierbar machen
Moritz Bunkus [Tue, 28 Aug 2012 11:31:14 +0000 (13:31 +0200)]
Kosmetik: white space removal
Moritz Bunkus [Tue, 28 Aug 2012 11:31:00 +0000 (13:31 +0200)]
Helferfunktion L.yes_no_tag()
Implementiert die Standard-"Ja/Nein"-Selectbox via L.select_tag(...,
L.options_for_select())
Thomas Heck [Tue, 28 Aug 2012 10:38:35 +0000 (12:38 +0200)]
Merge branch 'master' of vc.linet-services.de:public/lx-office-erp
Thomas Heck [Tue, 28 Aug 2012 10:22:34 +0000 (12:22 +0200)]
SL::Form::format_amount formatiert Zahlen auch aus der Exponentialschreibweise.
+Tests für SL::Form::format_amount
fixt #1904
Moritz Bunkus [Tue, 28 Aug 2012 10:25:54 +0000 (12:25 +0200)]
Kosmetik: Einrückung verringern durch Shortcut
Moritz Bunkus [Tue, 28 Aug 2012 10:23:08 +0000 (12:23 +0200)]
Locale: Methode format_date_object zum Formatieren von DateTime-Instanzen; Doku
Unterstützt auch Ausgabe von Stunden, Minuten, Sekunden mittels eines
Parameters 'precision'.
Moritz Bunkus [Mon, 27 Aug 2012 13:01:39 +0000 (15:01 +0200)]
Merge branch 'master' of vc.linet-services.de:public/lx-office-erp
Moritz Bunkus [Mon, 27 Aug 2012 13:00:48 +0000 (15:00 +0200)]
Login-Maske: Zu Menu redirecten falls bereits eingeloggt
Wenn man bereits eingeloggt ist und irgendwo im Programm zu login.pl
redirectet wird (z.B. beim Speichern der Benutzereinstellungen), so
wurde durch die Umstellung des Loginmechanismusses neulich leider die
Loginmaske erneut angezeigt, obwohl eine anständig authentifizierte
Session vorliegt.
Thomas Heck [Mon, 27 Aug 2012 11:15:54 +0000 (13:15 +0200)]
Merge branch 'master' of vc.linet-services.de:public/lx-office-erp
Thomas Heck [Mon, 27 Aug 2012 11:13:10 +0000 (13:13 +0200)]
Das alte FavIcon durch das neue Kivitendo-Logo ersetzt.
Moritz Bunkus [Mon, 27 Aug 2012 09:35:08 +0000 (11:35 +0200)]
Merge branch 'master' of vc.linet-services.de:public/lx-office-erp
Moritz Bunkus [Mon, 27 Aug 2012 09:33:51 +0000 (11:33 +0200)]
Konfigurationsdatei: Verweise von "Lx-Office" in "kivitendo" umbenennen
Moritz Bunkus [Mon, 27 Aug 2012 09:32:23 +0000 (11:32 +0200)]
Konfigurationsdateien config/lx_office.conf{.default} in kivitendo.conf{.default} umbenennen
Moritz Bunkus [Mon, 27 Aug 2012 09:07:53 +0000 (11:07 +0200)]
Basis-Module ("Encode") normal mit "use" laden
Moritz Bunkus [Mon, 27 Aug 2012 09:05:19 +0000 (11:05 +0200)]
Alte Selennium-Tests löschen
Moritz Bunkus [Mon, 27 Aug 2012 08:57:21 +0000 (10:57 +0200)]
Dokumentation: Lx-Office in kivitendo umbenennen
Thomas Heck [Fri, 24 Aug 2012 13:50:23 +0000 (15:50 +0200)]
Merge branch 'master' of vc.linet-services.de:public/lx-office-erp
Thomas Heck [Fri, 24 Aug 2012 13:46:01 +0000 (15:46 +0200)]
CSV-Import: Auswahl der Felder für die Duplikat-Prüfung
fixt 1964
Thomas Heck [Fri, 24 Aug 2012 12:05:21 +0000 (14:05 +0200)]
CSV-Import: Fehlermeldungen anzeigen gefixt
Sven Schöling [Fri, 24 Aug 2012 10:52:30 +0000 (12:52 +0200)]
Installation aus git und einer Vorversion ins releasemanagement übernommen
Sven Schöling [Fri, 24 Aug 2012 10:45:30 +0000 (12:45 +0200)]
Net::SMTP::SSL und Net::SMTP::TLS als optionale Module gekennzeichnet.
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.
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.
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.
Moritz Bunkus [Fri, 24 Aug 2012 07:54:59 +0000 (09:54 +0200)]
Fehlende Übersetzungen ergänzt
Thomas Heck [Thu, 23 Aug 2012 07:05:05 +0000 (09:05 +0200)]
Controller/CsvImport: file und worker verfügbar machen
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
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.
Moritz Bunkus [Wed, 22 Aug 2012 16:21:28 +0000 (18:21 +0200)]
Bei nicht zu quotenden Shell-Argumenten Exception werfen
Moritz Bunkus [Wed, 22 Aug 2012 15:50:50 +0000 (17:50 +0200)]
Vor Exception-Ausgabe sicherstellen, dass das aktuelle Verzeichnis OK ist
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...).
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.
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
Thomas Heck [Mon, 20 Aug 2012 09:13:07 +0000 (11:13 +0200)]
Waren-CSV-Import: Einlesen des Einkaufspreises ins makemodel
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
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
Thomas Heck [Tue, 21 Aug 2012 08:15:38 +0000 (10:15 +0200)]
CSV-Import: Projekte
implementiert #1907
Niclas Zimmermann [Tue, 21 Aug 2012 14:30:33 +0000 (16:30 +0200)]
Changelog-Eintrag zu Gewicht 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.
Niclas Zimmermann [Tue, 21 Aug 2012 11:15:15 +0000 (13:15 +0200)]
Merge branch 'GewichtinVerkaufsbericht'
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.
Moritz Bunkus [Mon, 20 Aug 2012 08:39:26 +0000 (10:39 +0200)]
Controller-Code nach internem Umschreiben des Requests von 'login.pl' laden
Moritz Bunkus [Fri, 17 Aug 2012 12:23:52 +0000 (14:23 +0200)]
User-Login auf Controller umgestellt
Moritz Bunkus [Fri, 17 Aug 2012 12:23:09 +0000 (14:23 +0200)]
User- und Adminlogin jederzeit via Formularfelder ermöglichen
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".
Moritz Bunkus [Fri, 17 Aug 2012 10:25:14 +0000 (12:25 +0200)]
Kosmetik: Doku-Formatierung
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;
Moritz Bunkus [Fri, 17 Aug 2012 09:57:08 +0000 (11:57 +0200)]
SQL-Upgrade: '@encoding' als Alias für '@charset' erkennen
Bernd Blessmann [Fri, 17 Aug 2012 08:30:22 +0000 (10:30 +0200)]
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
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.
Thomas Heck [Wed, 15 Aug 2012 08:25:58 +0000 (10:25 +0200)]
Date-Input-Felder durch 'L.date_tag's ersetzt
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)
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.
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
Moritz Bunkus [Thu, 16 Aug 2012 08:50:40 +0000 (10:50 +0200)]
POD-Dokumentation zu SL::DBUpgrade2
Moritz Bunkus [Thu, 16 Aug 2012 08:50:29 +0000 (10:50 +0200)]
Schreibfehler in Parametername
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).
Thomas Heck [Tue, 14 Aug 2012 10:52:12 +0000 (12:52 +0200)]
ap::form_footer auf template umgestellt.
Sven Schöling [Tue, 14 Aug 2012 10:50:41 +0000 (12:50 +0200)]
Unnötiges CVar->get_configs entfernt.
Sven Schöling [Tue, 14 Aug 2012 10:50:02 +0000 (12:50 +0200)]
employees direkt in der Datenbank sortieren.
Thomas Heck [Mon, 6 Aug 2012 11:09:23 +0000 (13:09 +0200)]
Spaltenueberschriften Export auf Import abgleichen
implementiert #1851
Sven Schöling [Fri, 10 Aug 2012 09:22:22 +0000 (11:22 +0200)]
Rose Upgrade für custom_variables
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.
Thomas Heck [Mon, 6 Aug 2012 14:51:28 +0000 (16:51 +0200)]
CSV-Import für benutzerdefinierte Variablen gefixt
behebt #1924
Sven Schöling [Thu, 9 Aug 2012 13:27:26 +0000 (15:27 +0200)]
Unbenutztes vorkommen von write_trigger in do.pl entfernt.
Sven Schöling [Thu, 9 Aug 2012 10:58:28 +0000 (12:58 +0200)]
no tabs!
Thomas Heck [Tue, 7 Aug 2012 11:41:27 +0000 (13:41 +0200)]
Administrationsoberflaeche: aktive User anzeigen
implementiert #1853
Thomas Heck [Fri, 3 Aug 2012 14:33:34 +0000 (16:33 +0200)]
Autom. Update des Faelligkeitsdatums bei Kreditorenbuchungen
behebt #1936
Thomas Heck [Fri, 3 Aug 2012 14:51:51 +0000 (16:51 +0200)]
Sprung von Wiedervorlage zu Kreditorenbuchung in Kreditorenbuchung gefixt(Ticket #1940)
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)
Thomas Heck [Thu, 2 Aug 2012 14:16:34 +0000 (16:16 +0200)]
Gelöschte Aufträge nicht mehr im Lieferschein verlinken(Ticket #1692)
Thomas Heck [Thu, 2 Aug 2012 12:47:03 +0000 (14:47 +0200)]
Meldung beim Speichern einer Wiedervorlage anzeigen(Ticket #1697)
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
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
Moritz Bunkus [Wed, 8 Aug 2012 15:15:29 +0000 (17:15 +0200)]
POD-Doku aktualisieren
Fixt #1967.
Moritz Bunkus [Wed, 8 Aug 2012 14:54:35 +0000 (16:54 +0200)]
Implementation eines programmatischen Interfaces zum Task-Server
Moritz Bunkus [Wed, 8 Aug 2012 14:52:42 +0000 (16:52 +0200)]
Umbenennung "lx-office-task-server" in "kivitendo-task-server"
Moritz Bunkus [Wed, 8 Aug 2012 14:30:56 +0000 (16:30 +0200)]
Task-Server mit SIGALRM sofort aufwecken können
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.
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
Sven Schöling [Wed, 8 Aug 2012 14:46:28 +0000 (16:46 +0200)]
InstanceConfig auch im task_server laden
Ansonsten gehen CreatePeriodicInvoices nicht
Sven Schöling [Wed, 8 Aug 2012 14:44:59 +0000 (16:44 +0200)]
Warnung von Config::Std zur Compilezeit unterdrücken.
Moritz Bunkus [Wed, 8 Aug 2012 12:12:58 +0000 (14:12 +0200)]
Boot-Scripte von "Lx-Office" auf "Kivitendo" umbenannt
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.