Bernd Bleßmann [Wed, 11 Jun 2014 11:18:59 +0000 (13:18 +0200)]
Kunden-/Lieferantenbericht: auch im Nicht-Union-Fall nach Typ sortieren können.
Bernd Bleßmann [Wed, 11 Jun 2014 11:11:21 +0000 (13:11 +0200)]
Kunden-/Lieferantenbericht: Zahlungsbegingungen anzeigen können.
Moritz Bunkus [Wed, 11 Jun 2014 07:51:44 +0000 (09:51 +0200)]
CustomerVendor-Picker: keine ungültigen, wenn $::form->{obsolete} nicht gesetzt ist
Bernd Bleßmann [Tue, 10 Jun 2014 10:30:32 +0000 (12:30 +0200)]
Template-Pfad vor regex quoten.
zu commit
6348bffb3ca90327f8dd042bfd0a89802b269b79
(Template-Pfad aus Pfad-Namen anderer Tex-Dateien richtig entfernen.)
Sven Schöling [Tue, 10 Jun 2014 09:55:02 +0000 (11:55 +0200)]
CustomVariable: typo - from_kivi -> from_kivitendo
Moritz Bunkus [Thu, 5 Jun 2014 14:17:56 +0000 (16:17 +0200)]
Rose-Model-Generator: Foreign-Key-Namens-Mapping auf Datenbank beziehen
Moritz Bunkus [Thu, 5 Jun 2014 14:06:02 +0000 (16:06 +0200)]
Rose-Model-Generator: --db für nur eine Datenbank bei --all
Siehe auch Commit »Rose-Model-Generator: prinzipielle Unterstützung
verschiedener Datenbanken«.
Moritz Bunkus [Thu, 5 Jun 2014 13:36:31 +0000 (15:36 +0200)]
Rose-Model-Generator: auf Duplikate in Blacklist/Paketnamenshash prüfen
Moritz Bunkus [Thu, 5 Jun 2014 08:07:07 +0000 (10:07 +0200)]
RDBO Invoice->new_from: Fälligkeitsdatum und Zahlungsbedingungen gefixt
1. Konvertierung von Order-Objekten: Hier wurde das Fälligkeitsdatum
zwar richtig übernommen, nicht aber die Zahlungsbedingungen.
2. Konvertierung von DeliveryOrder-Objekten: Lieferscheine haben gar
keinen Fremdschlüssel auf die Zahlungsbedingungen. Daher wurden hier
weder das Fälligkeitsdatum noch die Zahlungsbedingungen übernommen.
Was jetzt gemacht wird, ist die Zahlungsbedingungen vom Quellobjekt zu
nehmen, wenn dort welche existieren, und ansonsten vom dazugehörigen
Kunden. Wurden Zahlungsbedingungen gefunden, so wird das
Fälligkeitsdatum daraus berechnet und ansonsten auf »Rechnungsdatum + 1
Tag« gesetzt.
Moritz Bunkus [Thu, 5 Jun 2014 08:04:41 +0000 (10:04 +0200)]
RDBO Customer, Vendor: Alias payment_terms auf payment
…für API-Analogie mit Order, DeliveryOrder, Invoice.
Moritz Bunkus [Thu, 5 Jun 2014 06:33:53 +0000 (08:33 +0200)]
RDBO {Invoice,DeliveryOrder}->new_from Attribute nachträglich zuweisen
Macht man die Vermischung ->new(%args, %attributes), so ist die
Reihenfolge, wann welche aus %args und welche aus %attributes genommen
werden, aufgrund von Perls beliebiger Hash-Reihenfolge nicht
garantiert. Also zuerst nur die berechneten aus %args zuweisen und
danach die vom Caller bereitgestellten in %attributes.
Bernd Bleßmann [Wed, 4 Jun 2014 14:55:27 +0000 (16:55 +0200)]
Template-Pfad aus Pfad-Namen anderer Tex-Dateien richtig entfernen.
Behebt #2483.
Sven Schöling [Wed, 4 Jun 2014 14:28:20 +0000 (16:28 +0200)]
RecordLinks: Anzeige etwas verbessert
Moritz Bunkus [Tue, 3 Jun 2014 15:12:18 +0000 (17:12 +0200)]
Task server: Fehlgeschlagene Jobs optional per E-Mail melden
Moritz Bunkus [Tue, 3 Jun 2014 15:10:44 +0000 (17:10 +0200)]
RDBO BackgroundJob(History): Refactoring von Status-Strings
Moritz Bunkus [Tue, 3 Jun 2014 15:10:25 +0000 (17:10 +0200)]
Test-BackgroundJob: Möglichkeiten, das Ergebnis zu steuern
Moritz Bunkus [Tue, 3 Jun 2014 13:00:54 +0000 (15:00 +0200)]
Rose-Attr-Helfer: _as_timestamp
…mit verschiedenen Präzisionsstufen und Tests!
Moritz Bunkus [Tue, 3 Jun 2014 12:31:04 +0000 (14:31 +0200)]
Locale::parse_date_to_object: Unterstützung für volle Timestamps & explizite Formate
…und dafür Tests.
Moritz Bunkus [Tue, 3 Jun 2014 11:53:22 +0000 (13:53 +0200)]
Locale::format_date_object: explizites Setzen der Formate; Millisekunden als neues Format
…und dazu Tests.
Sven Schöling [Mon, 2 Jun 2014 12:59:38 +0000 (14:59 +0200)]
Verknüpfte Belege: Standardmässig rekursive Belege finden
Sven Schöling [Mon, 2 Jun 2014 12:10:32 +0000 (14:10 +0200)]
SL::DB::Helper::LinkedRecords: rekursive Suche in linked_records
Sven Schöling [Mon, 2 Jun 2014 12:10:21 +0000 (14:10 +0200)]
Merge branch 'master' of github.com:kivitendo/kivitendo-erp
Moritz Bunkus [Mon, 2 Jun 2014 08:02:06 +0000 (10:02 +0200)]
Rose-Model-Generator: prinzipielle Unterstützung verschiedener Datenbanken
Um Models für andere Datenbanken zu erstellen, müssen dann noch SL::DB,
SL::DB::Helper::Mappings und SL::DB::Object entsprechend angepasst
werden, damit die Verbindung richtig aufgebaut werden.
Sven Schöling [Wed, 28 May 2014 10:39:14 +0000 (12:39 +0200)]
LinkedRecords: bidi Verhalten den docs angepasst und direction Parameter optional gemacht
Sven Schöling [Tue, 27 May 2014 15:43:33 +0000 (17:43 +0200)]
warnings: uninitialized in eq
Sven Schöling [Tue, 27 May 2014 15:42:24 +0000 (17:42 +0200)]
Mal wieder ein paar lexicals in post if.
Sven Schöling [Tue, 27 May 2014 15:22:10 +0000 (17:22 +0200)]
t/structure/globals: Lexikalische Variablen sind schwer exportierbar.
Sven Schöling [Tue, 27 May 2014 15:21:21 +0000 (17:21 +0200)]
t/test.pl: Neuere Tests kommen sich bei multicore in die Quere. Vorerst ausschalten
Sven Schöling [Tue, 27 May 2014 14:20:49 +0000 (16:20 +0200)]
t/test.pl: File::Find macht nur dann lstat wenn follow oder follow_fast als option gesetzt ist
Sven Schöling [Tue, 27 May 2014 14:04:52 +0000 (16:04 +0200)]
LinkedRecords: Test und Doku Update
Bernd Bleßmann [Sat, 24 May 2014 23:19:49 +0000 (01:19 +0200)]
CsvImport: Feldlängen aus den Metadaten auslesen, nicht fest codieren.
Moritz Bunkus [Fri, 23 May 2014 13:53:46 +0000 (15:53 +0200)]
Dispatcher: Pro-Request-Initialisierung in eigene Sub verschoben
Weiterhin optionale Initialisierung von Client und User in besagter Sub.
Erleichert die Verwendung die Initialisierung vom Dispatcher in eigenen
Scripten (z.B. der console oder rose_auto_generate_models.pl, auch wenn
die noch nicht umgestellt sind), weil dann nicht in jedem Script der
Initialiserungspfad nachgebaut werden muss.
Beispiel ($client_id_or_name und $login können z.B. vorher aus einer
Konfigurationsdatei gelesen werden):
use SL::Dispatcher;
use SL::DB::Customer;
our $dispatcher = SL::Dispatcher->new('CGI');
$dispatcher->pre_startup;
$dispatcher->pre_request_initialization(
client => $client_id_or_name,
login => $login,
);
print join("\n", map { $_->id . ":" . $_->name } @{ SL::DB::Manager::Customer->get_all(limit => 5) }), "\n";
Moritz Bunkus [Fri, 23 May 2014 12:56:09 +0000 (14:56 +0200)]
Unbekannte config values beim Speichern d. Benutzereinstellungen nicht löschen
Sven Schöling [Thu, 22 May 2014 13:04:12 +0000 (15:04 +0200)]
scripts/dbupgrade2_tool.pl: bei --create --type pl auch package stub anlegen
Moritz Bunkus [Wed, 21 May 2014 12:00:44 +0000 (14:00 +0200)]
Modul List::UtilsBy in Abhängigkeiten und als Fallback aufgenommen
Sven Schöling [Wed, 21 May 2014 08:33:31 +0000 (10:33 +0200)]
$::request auch in dbupgrade2_tool initialisieren
G. Richardson [Tue, 20 May 2014 08:54:12 +0000 (10:54 +0200)]
Lange Datenbankfelder bei bestimmten Lieferantenfeldern
Analog zu Commit
72ad92fd die Feldlänge bei bestimmten Datenbankfelder
erhöht (vorher varchar, jetzt text)
account_number bank_code ustid name contact
Moritz Bunkus [Wed, 14 May 2014 14:43:54 +0000 (16:43 +0200)]
Pflichtenhefte: Speichern der Grundeinstellungen via Kontextmenü gefixt
Moritz Bunkus [Wed, 14 May 2014 14:29:05 +0000 (16:29 +0200)]
ClientJS: Controller-Instanz zum Rendern auch bei ->new setzen können
Moritz Bunkus [Wed, 14 May 2014 13:53:12 +0000 (15:53 +0200)]
CustomVariables: Verwendung mit RDBO als Writer implementiert
Moritz Bunkus [Wed, 14 May 2014 11:33:04 +0000 (13:33 +0200)]
CVars: RDBO-basiertes Render-Template nach webpages/common verschoben
Bernd Bleßmann [Wed, 14 May 2014 14:13:40 +0000 (16:13 +0200)]
CsvImport Waren: Preisupdate auch bei Erzeugnissen u. Dienstleistungen ermöglichen.
Zusätzlich beim Preisupdate prüfen, ob vorhandene Artikel von einem anderen Typ
als angegeben sind, falls in der CSV-Datei angegeben.
Problem war, dass Artikelnummern jetzt über Waren, Dienstleistungen und
Erzeugnisse eindeutig sind. Um aber schon vorhandene Artikel zu finden,
wurde nur nach dem angegenbenen oder eingestellten Typ gesucht. Der
voreingestellte Typ ist Waren, dabei werden Dienstleistungen und Erzeugnisse
nicht gefunden und es wurde versucht, den entspr. Eintrag neu als Ware
anzulegen, allerdings ist die Artikelnummer ja schon vergeben und es kam zu
einem DB-Fehler.
Bernd Bleßmann [Wed, 14 May 2014 10:52:50 +0000 (12:52 +0200)]
CsvImport Waren: Code-Vereinfachung
Bernd Bleßmann [Wed, 14 May 2014 10:44:20 +0000 (12:44 +0200)]
CsvImport Waren: test_run/import in check_existing nicht unterschiedlich behandeln.
Das funktionierte im Standard wg. der falschen Benennung ('test' vs. 'test_run')
ohnehin nicht und bei richtiger Benennung gab es auch noch Probleme.
Bernd Bleßmann [Wed, 14 May 2014 07:40:55 +0000 (09:40 +0200)]
CsvImport Waren: Konsistenz: Fußnote statt 'siehe unten' in der Hilfe.
Bernd Bleßmann [Wed, 14 May 2014 07:27:00 +0000 (09:27 +0200)]
CsvImport: Der Parameter für den Testlauf heißt 'test', nicht 'test_run'.
Moritz Bunkus [Wed, 14 May 2014 07:12:09 +0000 (09:12 +0200)]
CustomVariable-RDBO-Helfer: Dokumentation aktualisiert
Moritz Bunkus [Wed, 14 May 2014 07:10:40 +0000 (09:10 +0200)]
CustomVariable-RDBO-Helfer: Konfigurationen sortiert auslesen
Bisher war es Zufall, dass die Konfigurationen in der richtigen
Reihenfolge von der Datenbank zurück kamen. Dadurch, wie das Umsortieren
implementiert ist, werden die Einträge in der richtigen Reihenfolge in
der Datenbank aktualisiert, und daher kommen sie meist auch in der
gleichen Reihenfolge später wieder heraus – aber das ist keine
Garantie.
Moritz Bunkus [Mon, 12 May 2014 07:17:31 +0000 (09:17 +0200)]
RDBO: Manager-Klasse für Vendor
Thomas Heck [Mon, 12 May 2014 11:41:32 +0000 (13:41 +0200)]
Focusposition nach Erneuern wählbar gemacht
Sven Schöling [Fri, 9 May 2014 14:28:11 +0000 (16:28 +0200)]
POD Syntaxfehler
Moritz Bunkus [Fri, 9 May 2014 14:23:05 +0000 (16:23 +0200)]
L: Parameterextraktion dreier Funktionen gefixt
Template übergibt Hash-Parameter als Hash-Ref, nicht direkt als Hash.
Moritz Bunkus [Fri, 9 May 2014 14:15:32 +0000 (16:15 +0200)]
Pflichtenheft-HTML-DB-Upgrade: keine falsche Op beim String-Sortieren
Moritz Bunkus [Fri, 9 May 2014 10:08:47 +0000 (12:08 +0200)]
SL::Auth: Überflüssige Zeichen entfernt
G. Richardson [Thu, 8 May 2014 14:58:12 +0000 (16:58 +0200)]
Bankkonten einen Namen geben
Damit kann man seinen Bankkonten einfache Namen geben, wie z.B.
"Tagegeld", damit man bei der Auswahl nicht immer genau auf die
Kontonummer achten muß.
Bei der Bankkontenauswahl in Dropdowns ist die Beschriftung jetzt im
Format:
Name - Kontonummer, BLZ, Bank
Der nächste Schritt wäre wahrscheinlich IBAN statt Kontonummer und BLZ
zu benutzen.
Moritz Bunkus [Thu, 8 May 2014 14:50:38 +0000 (16:50 +0200)]
Locales neu gebaut
Moritz Bunkus [Thu, 8 May 2014 13:56:40 +0000 (15:56 +0200)]
SL::DBUpgrade2: versehentlich eingesetzten Value entfernt
Siehe
8f7283f501b3ddc2809d073b5d0399d20ed5af06.
Moritz Bunkus [Thu, 8 May 2014 13:55:07 +0000 (15:55 +0200)]
UPGRADE und changelog: Updates für Pflichtenhefte
Moritz Bunkus [Thu, 8 May 2014 11:08:28 +0000 (13:08 +0200)]
Merge branch 'pflichtenhefte'
Conflicts:
js/locale/de.js
Moritz Bunkus [Thu, 17 Apr 2014 13:02:56 +0000 (15:02 +0200)]
LaTeX-Escaping von HTML: Newlines am Ende entfernen
Moritz Bunkus [Thu, 10 Apr 2014 10:47:22 +0000 (12:47 +0200)]
Pflichtenheft -> Angebot/Auftrag: Positionen in richtiger Reihenfolge anlegen
…und zwar in der Reihenfolge, in der die Abschnitte im Pflichtenheft
angeordnet sind.
Moritz Bunkus [Thu, 10 Apr 2014 10:12:34 +0000 (12:12 +0200)]
Finanzcontrollingbericht: Link zu Kunden auf neuen Controller gefixt
Sven Schöling [Thu, 27 Mar 2014 16:10:37 +0000 (17:10 +0100)]
ParseFilter: splitting von :multi über Text::ParseWords
Sven Schöling [Wed, 9 Apr 2014 14:44:48 +0000 (16:44 +0200)]
P.part_picker reicht jetzt das flag fat_set_item durch und schluckt nicht mehr class
Sven Schöling [Thu, 3 Apr 2014 12:43:40 +0000 (14:43 +0200)]
Part api Funktion um eine Ware als json abzufragen
Sven Schöling [Wed, 26 Mar 2014 16:02:45 +0000 (17:02 +0100)]
:multi filter für ParseFilter
Sven Schöling [Wed, 26 Mar 2014 15:51:18 +0000 (16:51 +0100)]
PartPicker: Diverse Verbesserungen
- Dialog vergrössert
- Unterstützung für Listenansicht
- Bild hoch Bild runter im paginaten gemappt
- Focus nach Klickauswahl wieder auf das ursprüngliche Feld gesetzt
- Unterscheidung zwischen minimaler Rückmeldung (nur id und name) und fettem
json Objekt verbessert. Im letzten Fall wird immer garantiert das komplette
Objekt ausgeliefert.
Sven Schöling [Tue, 25 Mar 2014 12:47:42 +0000 (13:47 +0100)]
cvar_as_hashref mixin, um cvars gut zu serialisieren
Bernd Bleßmann [Fri, 4 Apr 2014 09:35:46 +0000 (11:35 +0200)]
Kein Runden des Rabatts vor der Berechnung im Angebot/Auftrag.
Das Vorgehen etwas an da von SL/IS.pm post_invoice() angeglichen.
Problem war, dass in Angebot/Auftrag bei Vergabe eines Rabatts das
Frontend richtig grechnet hat, aber das Backend nicht (durch Runden
des Rabatts). Dadurch unterschieden sich die Summen in der Belegmaske
von den Summe im Bericht.
Moritz Bunkus [Thu, 3 Apr 2014 14:53:23 +0000 (16:53 +0200)]
KiviLatex-Template-Plugin: leere Listen entfernen
Das sind Einträge, die im HTML so aussehen: <ul> </ul> LaTeX schmeißt
beim Äquivalent (\begin{itemize} \end{itemize}) Fehler. Kann z.B. via
Copy & Paste aus LibreOffice passieren.
Moritz Bunkus [Thu, 3 Apr 2014 14:27:21 +0000 (16:27 +0200)]
LaTeX: einige Unicodesymbole für Pfeile nach links/rechts in special_chars ergänzt
Moritz Bunkus [Thu, 3 Apr 2014 12:26:47 +0000 (14:26 +0200)]
Merge branch 'erweiterung-wiederkehrender-rechnungen'
Moritz Bunkus [Thu, 3 Apr 2014 09:09:04 +0000 (11:09 +0200)]
Finanzübersicht: Zugriff auf 'data' gefixt (braucht Initializer)
Moritz Bunkus [Thu, 3 Apr 2014 09:08:21 +0000 (11:08 +0200)]
Finanzcontrollingbericht: Abfrage gefixt (fehlende with_objects)
Sven Schöling [Mon, 16 Dec 2013 16:45:52 +0000 (17:45 +0100)]
debug statement entfernt
Sven Schöling [Mon, 16 Dec 2013 16:25:49 +0000 (17:25 +0100)]
Mahnungen: Beim Drucken Datums- und Zahlenformate von anderen Sprachen beachten
Moritz Bunkus [Wed, 16 Oct 2013 14:05:29 +0000 (16:05 +0200)]
Finanzübersicht: VerkäuferIn bei Jahreswechsel beibehalten
Moritz Bunkus [Wed, 16 Oct 2013 13:42:26 +0000 (15:42 +0200)]
Wiederkehrende Rechnungen: erstes abzurechnendes Periodendatum richtig berechnen
Moritz Bunkus [Wed, 16 Oct 2013 12:37:51 +0000 (14:37 +0200)]
Finanzübersicht: wied. Rechnungen im aktuellen Jahr auch bereits erzeugte mit einbeziehen
Moritz Bunkus [Wed, 16 Oct 2013 12:02:09 +0000 (14:02 +0200)]
Kosmetik: alignment
Moritz Bunkus [Wed, 16 Oct 2013 12:01:46 +0000 (14:01 +0200)]
Wiederkehrende Rechnungen: Erste Startperiode nicht vergessen
Moritz Bunkus [Wed, 16 Oct 2013 10:43:10 +0000 (12:43 +0200)]
Wiederkehrende Rechnung: Auftragsdatum wieder richtig in Startdatum kopieren
Moritz Bunkus [Wed, 16 Oct 2013 10:32:33 +0000 (12:32 +0200)]
Finanzcontrollingbericht: wiederkehrende Rechnungen berücksichtigen
Moritz Bunkus [Tue, 15 Oct 2013 15:56:58 +0000 (17:56 +0200)]
Finanzübersichtsbericht: wiederkehrende Rechnungen berücksichtigen
Die im ausgewählten Jahr zu erzeugenden Rechnungen werden in Summe der
Kategorie »Aufträge« für das erste zu erzeugende Rechnungsdatum
zugeschlagen.
Moritz Bunkus [Tue, 15 Oct 2013 15:49:55 +0000 (17:49 +0200)]
SL::DB::PeriodicInvoicesConfig: Datumsberechnung aus Backgroundjob verschoben
Moritz Bunkus [Tue, 15 Oct 2013 13:51:39 +0000 (15:51 +0200)]
Finanzübersicht: Filtermöglichkeit nach VerkäuferIn
Moritz Bunkus [Tue, 15 Oct 2013 13:30:00 +0000 (15:30 +0200)]
Warnung bei Auftragspeichern mit aktiver wiederk. Rechnung, wenn schon eine Rechnung erzeugt wurde
Moritz Bunkus [Mon, 14 Oct 2013 14:56:03 +0000 (16:56 +0200)]
Link zur Doku für Variablen in wiederkehrenden Rechnungen in Auftragsformular anzeigen
Moritz Bunkus [Mon, 14 Oct 2013 14:53:35 +0000 (16:53 +0200)]
Dokumentation für individuelle Variablenformatierung bei wiederkehrenden Rechnungen
Moritz Bunkus [Mon, 14 Oct 2013 14:18:48 +0000 (16:18 +0200)]
Wiederkehrende Rechnungen: Formatierung von Datumsdruckvariablen über freie Formatstrings
Moritz Bunkus [Mon, 14 Oct 2013 13:37:00 +0000 (15:37 +0200)]
Wiederkehrende Rechnung: "erste Rechnung erzeugen am" als Startdatum nutzen
Moritz Bunkus [Mon, 14 Oct 2013 13:09:56 +0000 (15:09 +0200)]
Wiederkehrende Rechnung: Option "erste Rechnung erzeugen am"
Bisher nur die Masken; noch nicht im Backgroundjob implementiert
Moritz Bunkus [Mon, 14 Oct 2013 12:46:09 +0000 (14:46 +0200)]
Wiederkehrende Rechnung: Option für halbjährliche Fakturierung
Moritz Bunkus [Wed, 2 Apr 2014 12:12:10 +0000 (14:12 +0200)]
SL::HTML::Util::strip: bei unbekannten Entitäten die Entität 1:1 behalten
Moritz Bunkus [Wed, 2 Apr 2014 12:11:29 +0000 (14:11 +0200)]
Pflichtenheftvorlagen kopieren: Kopie soll auch wieder eine Vorlage sein
Moritz Bunkus [Wed, 2 Apr 2014 12:08:57 +0000 (14:08 +0200)]
Pflichtenheftsuche: bei Vorlagen nicht nach Status filtern
Moritz Bunkus [Wed, 2 Apr 2014 11:50:13 +0000 (13:50 +0200)]
Pflichtenhefte: type_id darf nicht NULL sein
Moritz Bunkus [Wed, 2 Apr 2014 11:48:22 +0000 (13:48 +0200)]
Pflichtenhefte: beim Vorlageneinfügen Typen der Vorlage anzeigen
Moritz Bunkus [Wed, 2 Apr 2014 11:44:44 +0000 (13:44 +0200)]
Pflichtenheftvorlagen: Typ muss ebenfalls bearbeitbar sein
…weil die Formate für Abschnitts- und Textblocknummern an den Typen
hängen.
Moritz Bunkus [Mon, 19 Aug 2013 13:09:01 +0000 (15:09 +0200)]
Pflichtenhefte: per Default die abgeschlossenen nicht anzeigen