kivitendo-erp.git
7 years agoActionBar: Verwendung bei »System« → »Bücherkontrolle«
Moritz Bunkus [Fri, 24 Mar 2017 13:50:46 +0000 (14:50 +0100)]
ActionBar: Verwendung bei »System« → »Bücherkontrolle«

7 years agoActionBar: Verwendung bei »System« → »Korrekturen im Hauptbuch«
Moritz Bunkus [Fri, 24 Mar 2017 13:47:45 +0000 (14:47 +0100)]
ActionBar: Verwendung bei »System« → »Korrekturen im Hauptbuch«

7 years agoActionBar: Verwendung bei »System« → »Lager«
Moritz Bunkus [Fri, 24 Mar 2017 13:43:53 +0000 (14:43 +0100)]
ActionBar: Verwendung bei »System« → »Lager«

7 years agoCsvImport Mulitplex: Template: kein loop.count ausserhalb einer Schleife
Bernd Bleßmann [Thu, 23 Mar 2017 23:47:11 +0000 (00:47 +0100)]
CsvImport Mulitplex: Template: kein loop.count ausserhalb einer Schleife

7 years agoCsvImport Aufträge: Rabatt richtig für Datenbank aufbereiten.
Bernd Bleßmann [Thu, 23 Mar 2017 22:37:59 +0000 (23:37 +0100)]
CsvImport Aufträge: Rabatt richtig für Datenbank aufbereiten.

In der DB steht der Rabatt als Hundertstel.

7 years agoCsvImport Aufträge: bei nicht eindeutigen Artikeln Fehler melden.
Bernd Bleßmann [Thu, 23 Mar 2017 22:09:08 +0000 (23:09 +0100)]
CsvImport Aufträge: bei nicht eindeutigen Artikeln Fehler melden.

7 years agoCsvImport Aufträge: Artikel auch nach EAN suchen
Bernd Bleßmann [Thu, 23 Mar 2017 15:43:03 +0000 (16:43 +0100)]
CsvImport Aufträge: Artikel auch nach EAN suchen

7 years agoCsvImport: bei nicht eindeutigen Kunden/Lieferanten Fehler melden.
Bernd Bleßmann [Tue, 21 Mar 2017 09:09:01 +0000 (10:09 +0100)]
CsvImport: bei nicht eindeutigen Kunden/Lieferanten Fehler melden.

7 years agoCsvImport: Kunden/Lieferanten auch nach GLN suchen können.
Bernd Bleßmann [Sun, 19 Mar 2017 16:46:17 +0000 (17:46 +0100)]
CsvImport: Kunden/Lieferanten auch nach GLN suchen können.

Für die Imports, die die Angabe eines Kunden oder Lieferanten brauchen und
check_vc verwenden (Aufträge, Ansprchpersonen, Lieferanschriften,
Debitorenbuchungen), kann neben Id, Nummer oder Name auch die GLN verwendet
werden.

7 years agoTypo in Übersetzung behoben.
Bernd Bleßmann [Sun, 19 Mar 2017 16:50:18 +0000 (17:50 +0100)]
Typo in Übersetzung behoben.

7 years agoCsvImport Multiplex/Aufträge: CVars bei Fehlern nicht behandeln
Bernd Bleßmann [Thu, 23 Mar 2017 21:29:05 +0000 (22:29 +0100)]
CsvImport Multiplex/Aufträge: CVars bei Fehlern nicht behandeln

7 years agoVerbuchte Zahlungen auch in neuen Fällen von Bankbewegegungen berücksichtigen
Jan Büren [Thu, 23 Mar 2017 13:54:19 +0000 (14:54 +0100)]
Verbuchte Zahlungen auch in neuen Fällen von Bankbewegegungen berücksichtigen

Ergänzend zu af131a46:
Banktransaction: Kontoauszug verbuchen: Sonderfall für "credit_notes"

7 years agobank_transactions.t richtige Anzahl von Tests
Jan Büren [Thu, 23 Mar 2017 13:51:42 +0000 (14:51 +0100)]
bank_transactions.t richtige Anzahl von Tests

7 years agoTestfall test_ap_transaction auch ausführen
Jan Büren [Thu, 23 Mar 2017 13:43:39 +0000 (14:43 +0100)]
Testfall test_ap_transaction auch ausführen

Seit Anbeginn des Testfalls vorhanden. Jetzt auch ausgeführt.

7 years agoTestfall Verbuchen Kontoauszug zu Kreditorenbeleg ergänzt
Jan Büren [Thu, 23 Mar 2017 13:41:25 +0000 (14:41 +0100)]
Testfall Verbuchen Kontoauszug zu Kreditorenbeleg ergänzt

Sehr viele Tests für ar, nur einen speziellen für ap.

7 years agoTest: Lieferantengutschrift verbuchen, auch die Gegenseite Banktransaktion prüfen
Jan Büren [Thu, 23 Mar 2017 13:37:07 +0000 (14:37 +0100)]
Test: Lieferantengutschrift verbuchen, auch die Gegenseite Banktransaktion prüfen

Die Zahlung wurde korrekt gebucht, allerdings erwartet kivitendo jetzt auch
Änderungen in der bank_transactions invoice_amount, in anderen Testfällen
(test1) wird diese auch überprüft.

7 years agoüberflüssiges SQL-Upgrade-Script »parts_add_chart_foreign_keys.sql« entfernt
Moritz Bunkus [Thu, 23 Mar 2017 12:39:54 +0000 (13:39 +0100)]
überflüssiges SQL-Upgrade-Script »parts_add_chart_foreign_keys.sql« entfernt

Im dem Script werden drei Fremdschlüssel für Spalten angelegt, die im
nachfolgenden Script »parts_remove_unneeded_fields.sql« gleich gedroppt
werden. Damit ist das Script überflüssig und sogar schädlich, falls
jemand noch Datenbankinhalt hat, bei dem die Spalten IDs enthalten, zu
denen es in den Zieltabellen keine Zeilen mehr gibt.

7 years agoSL::X::DBError Serialisierung sollte auch die msg ausgeben
Sven Schöling [Thu, 23 Mar 2017 11:59:41 +0000 (12:59 +0100)]
SL::X::DBError Serialisierung sollte auch die msg ausgeben

7 years agoVer-/Einkauf/Finanzbuchhaltung: automatisches Update nach Kunden-/Lieferantenwechsel
Moritz Bunkus [Thu, 23 Mar 2017 10:16:49 +0000 (11:16 +0100)]
Ver-/Einkauf/Finanzbuchhaltung: automatisches Update nach Kunden-/Lieferantenwechsel

7 years agoCsvImport Multiplex/Aufträge: Auch nicht angegebene CVars im Objekt speichern.
Bernd Bleßmann [Wed, 22 Mar 2017 17:04:05 +0000 (18:04 +0100)]
CsvImport Multiplex/Aufträge: Auch nicht angegebene CVars im Objekt speichern.

7 years agoActionBar: Verwendung bei »System« → »Benutzerdefinierte Variablen«
Moritz Bunkus [Tue, 21 Mar 2017 14:47:38 +0000 (15:47 +0100)]
ActionBar: Verwendung bei »System« → »Benutzerdefinierte Variablen«

7 years agoActionBar: Verwendung bei »System« → »Lieferbedingungen«
Moritz Bunkus [Tue, 21 Mar 2017 14:37:01 +0000 (15:37 +0100)]
ActionBar: Verwendung bei »System« → »Lieferbedingungen«

7 years agoActionBar: Verwendung bei »System« → »Zahlungsbedingungen«
Moritz Bunkus [Tue, 21 Mar 2017 14:32:21 +0000 (15:32 +0100)]
ActionBar: Verwendung bei »System« → »Zahlungsbedingungen«

7 years agoActionBar: Verwendung bei »System« → »Sprachen und Übersetzungen« → »SEPA-Überweisungen«
Moritz Bunkus [Tue, 21 Mar 2017 14:20:11 +0000 (15:20 +0100)]
ActionBar: Verwendung bei »System« → »Sprachen und Übersetzungen« → »SEPA-Überweisungen«

7 years agoActionBar: Verwendung bei »System« → »Sprachen und Übersetzungen« → »Anreden«
Moritz Bunkus [Tue, 21 Mar 2017 14:18:46 +0000 (15:18 +0100)]
ActionBar: Verwendung bei »System« → »Sprachen und Übersetzungen« → »Anreden«

7 years agoActionBar: Verwendung bei »System« → »Einheiten bearbeiten«
Moritz Bunkus [Tue, 21 Mar 2017 13:57:36 +0000 (14:57 +0100)]
ActionBar: Verwendung bei »System« → »Einheiten bearbeiten«

7 years agoRechnungssuchen Einkauf/Verkauf: Seitentitel an Menütitel anpassen
Moritz Bunkus [Tue, 21 Mar 2017 12:29:16 +0000 (13:29 +0100)]
Rechnungssuchen Einkauf/Verkauf: Seitentitel an Menütitel anpassen

Damit wird klarer, dass nicht nur nach Debitorenbuchungen gesucht
wird, sondern auch Verkaufsrechnungen und Gutschriften.

7 years agoActionBar: Verwendung bei »Einkauf« → »Berichte« → »Einkaufsrechnungen…«
Moritz Bunkus [Tue, 21 Mar 2017 12:21:48 +0000 (13:21 +0100)]
ActionBar: Verwendung bei »Einkauf« → »Berichte« → »Einkaufsrechnungen…«

7 years agoActionBar: Unterstützung für »only_if«/»not_if« bei Links
Moritz Bunkus [Fri, 17 Mar 2017 14:45:19 +0000 (15:45 +0100)]
ActionBar: Unterstützung für »only_if«/»not_if« bei Links

7 years agoReportGenerator: Action-Bar-Actions über Hook-Funktion ausgeben lassen können
Moritz Bunkus [Fri, 17 Mar 2017 10:53:45 +0000 (11:53 +0100)]
ReportGenerator: Action-Bar-Actions über Hook-Funktion ausgeben lassen können

Damit ist es möglich, dass die Actions vom Report-Generator zwischen
den Actions der Hauptmaske eingefügt werden.

7 years agoKontoauszug verbuchen: Zeilen ohne Vorschläge trotzdem anzeigen
Moritz Bunkus [Tue, 21 Mar 2017 10:25:45 +0000 (11:25 +0100)]
Kontoauszug verbuchen: Zeilen ohne Vorschläge trotzdem anzeigen

7 years agoLXDebug: clone_for_dump als eigenständige Funktion zur Wiederverwendung
Moritz Bunkus [Tue, 21 Mar 2017 10:21:34 +0000 (11:21 +0100)]
LXDebug: clone_for_dump als eigenständige Funktion zur Wiederverwendung

7 years agoActionBar: Und nochmal Korrektur zu html Menü scrolling
Sven Schöling [Mon, 20 Mar 2017 16:46:35 +0000 (17:46 +0100)]
ActionBar: Und nochmal Korrektur zu html Menü scrolling

7 years agoPriceSource: editable Dokumentation
Sven Schöling [Mon, 20 Mar 2017 14:43:35 +0000 (15:43 +0100)]
PriceSource: editable Dokumentation

7 years agoPreisquellen: Support für editierbare Preisquellen
Sven Schöling [Thu, 2 Mar 2017 14:22:33 +0000 (15:22 +0100)]
Preisquellen: Support für editierbare Preisquellen

7 years agoActionBar: top-padding in html menü + actionbar
Sven Schöling [Mon, 20 Mar 2017 13:16:46 +0000 (14:16 +0100)]
ActionBar: top-padding in html menü + actionbar

7 years agoActionBar: Scrolling von ausgeklapptem HTML Menü gefixt
Sven Schöling [Mon, 20 Mar 2017 12:44:31 +0000 (13:44 +0100)]
ActionBar: Scrolling von ausgeklapptem HTML Menü gefixt

7 years agoDO::get_shipped_qty - typo
Sven Schöling [Mon, 20 Mar 2017 12:21:03 +0000 (13:21 +0100)]
DO::get_shipped_qty - typo

7 years agoActionBar: Standardaktion im Artikelstammdatencontroller auf »Speichern«
Moritz Bunkus [Fri, 17 Mar 2017 09:24:02 +0000 (10:24 +0100)]
ActionBar: Standardaktion im Artikelstammdatencontroller auf »Speichern«

7 years agoActionBar: Standardaktion im Kundenstammdatencontroller auf »Speichern«
Moritz Bunkus [Fri, 17 Mar 2017 08:49:21 +0000 (09:49 +0100)]
ActionBar: Standardaktion im Kundenstammdatencontroller auf »Speichern«

7 years agoActionBar: nicht »continue«, sondern »next« für Short-Circuit einer Schleife
Moritz Bunkus [Fri, 17 Mar 2017 10:41:49 +0000 (11:41 +0100)]
ActionBar: nicht »continue«, sondern »next« für Short-Circuit einer Schleife

7 years agoKreditorenbuchungen: Storno von bezahlten Rechnungen verhindern
Moritz Bunkus [Fri, 17 Mar 2017 10:09:32 +0000 (11:09 +0100)]
Kreditorenbuchungen: Storno von bezahlten Rechnungen verhindern

Das Action-Bar-Setup nutzt den Wert $::form->{totalpaid} als Indikator
dafür, ob bereits Zahlungen verbucht wurden. Ist das der Fall, so darf
die Rechnung nicht storniert werden können.

Daher muss dieser Wert berechnet werden, bevor das Action-Bar-Setup
durchgeführt wird.

7 years agoActionBar: Standard-Aktions-Button optisch hervorheben
Moritz Bunkus [Fri, 17 Mar 2017 08:46:47 +0000 (09:46 +0100)]
ActionBar: Standard-Aktions-Button optisch hervorheben

Der Standardbutton ist derjenige, der bei Druck auf Return/Enter
ausgelöst wird.

Aktuell ist die Hervorhebung über fette Schrift geregelt. Eine andere
Möglichkeit wäre, die Border von 1px auf 2px zu erhöhen, was das
Aussehen analoger zu klassischen GUIs machen würde.

7 years agoSL::X: und ohne typo
Sven Schöling [Thu, 16 Mar 2017 11:53:40 +0000 (12:53 +0100)]
SL::X: und ohne typo

7 years agoDatenbankexceptions: SL::X::DBError korrekt ausgeben
Sven Schöling [Thu, 16 Mar 2017 10:52:49 +0000 (11:52 +0100)]
Datenbankexceptions: SL::X::DBError korrekt ausgeben

7 years agoActionBar: ReportGenerator: get('actionbar') liefert Array von Bars
Moritz Bunkus [Thu, 16 Mar 2017 09:55:28 +0000 (10:55 +0100)]
ActionBar: ReportGenerator: get('actionbar') liefert Array von Bars

7 years agoActionBar: Hintergrundjob-Verwaltung: Action heißt destroy, nicht delete.
Bernd Bleßmann [Tue, 14 Mar 2017 21:08:25 +0000 (22:08 +0100)]
ActionBar: Hintergrundjob-Verwaltung: Action heißt destroy, nicht delete.

7 years agochangelog - Features aus Unstable aktualisiert
G. Richardson [Sat, 11 Mar 2017 07:10:45 +0000 (08:10 +0100)]
changelog - Features aus Unstable aktualisiert

7 years agoTypos in changelog
G. Richardson [Sat, 11 Mar 2017 07:08:00 +0000 (08:08 +0100)]
Typos in changelog

7 years agoustva-report.html geierlein-js kosmetik
Jan Büren [Sat, 4 Mar 2017 09:58:46 +0000 (10:58 +0100)]
ustva-report.html geierlein-js kosmetik

Zwei Leerzeichen-Einrückung ist scheinbar das gängigste
für JavaScript Funktionen im kivitendo-Projekt.

7 years agoustva html Template: geierlein-pfad Variable korrigiert
Jan Büren [Sat, 4 Mar 2017 09:47:18 +0000 (10:47 +0100)]
ustva html Template: geierlein-pfad Variable korrigiert

Die Prüfung weiter oben ist korrekt, der eigentliche Variablenname
aber dann für das Programm falsch. Scheinbar war dieser bei OD
hartkodiert und das Feature wurde nicht vor dem Commit im Standard
geprüft.

7 years agotrigram Indizes mit may_fail versehen und UPGRADE entsprechend angepasst
Jan Büren [Sat, 4 Mar 2017 08:31:51 +0000 (09:31 +0100)]
trigram Indizes mit may_fail versehen und UPGRADE entsprechend angepasst

7 years agoCsvImportReport: Manager-Methode destroy löscht nicht aus aktiver Sitzung
Bernd Bleßmann [Tue, 21 Feb 2017 10:53:37 +0000 (11:53 +0100)]
CsvImportReport: Manager-Methode destroy löscht nicht aus aktiver Sitzung

Vorher wurden alle Reports bis auf den letzten aus der aktiven Sitzung gelöscht.
Da aber mit den Reports auch das Profile gelöscht wird und im Profil der
zufällige Dateiname der temporären Csv-Datei enthalten ist und dieser nach einem
Test-Import für weitere Test-Importe oder den eigentlichen Import benötigt wird,
darf dieser Report nicht gelöscht werden.

7 years agoBankImport: Csv-Datei mit zufälligem Dateinamen speichern und im Profil übergeben
Bernd Bleßmann [Mon, 20 Feb 2017 20:09:03 +0000 (21:09 +0100)]
BankImport: Csv-Datei mit zufälligem Dateinamen speichern und im Profil übergeben

siehe auch commit "CsvImport: zufälligen Dateinamen für jeden Import. Ablegen in
temporärem Profil"

7 years agoCsvImport: zufälligen Dateinamen für jeden Import. Ablegen in temporärem Profil
Bernd Bleßmann [Mon, 20 Feb 2017 14:57:40 +0000 (15:57 +0100)]
CsvImport: zufälligen Dateinamen für jeden Import. Ablegen in temporärem Profil

Damit können auch mehrere gleiche Imports von einer Session aus gleichzeitig
aufgerufen werden.

7 years agoCsvImport: Controller erzeugt temporäres Profil, nicht der Hintergrund-Job.
Bernd Bleßmann [Mon, 20 Feb 2017 11:19:05 +0000 (12:19 +0100)]
CsvImport: Controller erzeugt temporäres Profil, nicht der Hintergrund-Job.

7 years agoCsvImport: temporäres Profil nicht beim Report speichern, …
Bernd Bleßmann [Mon, 20 Feb 2017 11:16:43 +0000 (12:16 +0100)]
CsvImport: temporäres Profil nicht beim Report speichern, …

… denn das passiert schon beim Anlegen des Hintergrund-Jobs.

7 years agoBankImport: Refactoring: Profil über init-Methode laden.
Bernd Bleßmann [Mon, 20 Feb 2017 20:08:14 +0000 (21:08 +0100)]
BankImport: Refactoring: Profil über init-Methode laden.

7 years agoBackgroundJob::CsvImport: unbenutztes Modul SessionFile::Random nicht laden
Bernd Bleßmann [Fri, 3 Mar 2017 20:42:29 +0000 (21:42 +0100)]
BackgroundJob::CsvImport: unbenutztes Modul SessionFile::Random nicht laden

7 years agoCsvImport: doppeltes delete-Statement entfernt
Bernd Bleßmann [Fri, 17 Feb 2017 16:01:21 +0000 (17:01 +0100)]
CsvImport: doppeltes delete-Statement entfernt

7 years agoCsvImport: doppelt angegebene Methode "file" entfernt
Bernd Bleßmann [Fri, 17 Feb 2017 14:27:56 +0000 (15:27 +0100)]
CsvImport: doppelt angegebene Methode "file" entfernt

7 years agoPOD: Typo in Autor-Abschnitt verbessert.
Bernd Bleßmann [Fri, 3 Mar 2017 20:51:46 +0000 (21:51 +0100)]
POD: Typo in Autor-Abschnitt verbessert.

7 years agoActionBar/Dateimanagement: Verschicken von Dateien via E-Mail wieder implementiert
Moritz Bunkus [Thu, 2 Mar 2017 12:50:06 +0000 (13:50 +0100)]
ActionBar/Dateimanagement: Verschicken von Dateien via E-Mail wieder implementiert

7 years agoKreditorenbuchungen: Zahlungen buchen gefixt
Moritz Bunkus [Thu, 2 Mar 2017 15:16:39 +0000 (16:16 +0100)]
Kreditorenbuchungen: Zahlungen buchen gefixt

Seit Umstellung auf die Verwendung des Chart-Pickers heißt die
Form-Variable für das Verbindlichkeitskonto »AP_chart_id«, und nicht
mehr »APselected«. Außerdem enthält sie die Datenbank-ID des Kontos,
und nicht die Kontonummer.

7 years agoWebDAV: Überflüssigen Aufruf webdav_path im Frontend entfernt
Jan Büren [Thu, 2 Mar 2017 15:09:38 +0000 (16:09 +0100)]
WebDAV: Überflüssigen Aufruf webdav_path im Frontend entfernt

WebDAV::get_all_objects ruft in der Methode seit Anbeginn des Moduls
schon ein webdav_path auf, von daher schreddern bevor noch  mehr
copy & waste im Programm passiert

7 years agoSL::Template::*: Form::template direkt nutzen, nicht mehr Form::init_template
Moritz Bunkus [Thu, 2 Mar 2017 15:02:44 +0000 (16:02 +0100)]
SL::Template::*: Form::template direkt nutzen, nicht mehr Form::init_template

Form::init_template wurde bei der Umstellung entfernt, bei der nur
noch die eine Template-Instanz im SL::Presenter genutzt wird, und Form
keine eigene mehr beinhaltet.

7 years agoMailer: Zeichensatzattribut bei Anhängen nur bei Text-Anhängen setzen
Moritz Bunkus [Thu, 2 Mar 2017 14:13:47 +0000 (15:13 +0100)]
Mailer: Zeichensatzattribut bei Anhängen nur bei Text-Anhängen setzen

Ein als Binärdaten zu behandelnder Anhang darf nicht natürlich nicht
umcodiert werden. Normalerweise ignorieren E-Mail-Programme bei
Nicht-Text-Anhängen den Zeichensatz, wenn er gesetzt ist, aber wir
sollten diesbezüglich auch einfach saubere E-Mails senden.

7 years agoMailer: Attribut »path« bei »Content-Type« nicht setzen
Moritz Bunkus [Thu, 2 Mar 2017 14:11:27 +0000 (15:11 +0100)]
Mailer: Attribut »path« bei »Content-Type« nicht setzen

Darin steht der Pfad auf dem lokalen System und ist damit ein
information leak, z.B. /var/www/kundenname/kivitendo/files/…

7 years agoLXDebug::dump: Objekte aus Namensraum SL::* ohne »as_debug_info« wie Hash behandeln
Moritz Bunkus [Thu, 2 Mar 2017 13:57:47 +0000 (14:57 +0100)]
LXDebug::dump: Objekte aus Namensraum SL::* ohne »as_debug_info« wie Hash behandeln

7 years agoLXDebug::dump: nur Form-Instanzen als Hash behandeln, nicht alle Hash-basierten Objekte
Moritz Bunkus [Wed, 1 Mar 2017 16:21:40 +0000 (17:21 +0100)]
LXDebug::dump: nur Form-Instanzen als Hash behandeln, nicht alle Hash-basierten Objekte

7 years agoLXDebug::dump: Unterstützung für zirkuläre Strukturen
Moritz Bunkus [Wed, 1 Mar 2017 15:54:59 +0000 (16:54 +0100)]
LXDebug::dump: Unterstützung für zirkuläre Strukturen

Durch die Umstellung auf vorheriges Reduzieren auf essenzielle
Informationen muss dump() sicherstellen, dass es bei zirkulären
Strukturen nicht in eine Endlosschleife gerät.

Weiterhin müssen alle Rückwärtsreferenzen aufgeweicht
werden (Scalar::Util::weaken), damit sie von der garbage collection
normal aufgeräumt werden.

7 years agokivi.File.js: Debugcode wieder entfernt
Moritz Bunkus [Wed, 1 Mar 2017 14:43:48 +0000 (15:43 +0100)]
kivi.File.js: Debugcode wieder entfernt

7 years agoLXDebug::dump: Interna von Rose-DB- und DateTime-Objekten nicht mehr ausgeben
Moritz Bunkus [Wed, 1 Mar 2017 14:12:02 +0000 (15:12 +0100)]
LXDebug::dump: Interna von Rose-DB- und DateTime-Objekten nicht mehr ausgeben

dump arbeitet nun nicht mehr direkt auf dem zu dumpenden Objekt,
sondern auf Kopien, die je nach Typ auf ihre essenziellen
Informationen zusammengeschrumpft werden. Dafür kann ein Objekt eine
Methode »as_debug_info« bereitstellen, die eine solche Essenz
zurückgibt.

Für SL::DB::Object ist eine Implementation beigelegt, die nur die
Spalten mit ihren stringifizierten Werten zurückgibt, nicht aber mehr
die ganzen Interna wie z.B. Meta-Informationen enthält.

Arrays und Hashes (und Objekte, die auf diesen simplen Typen basieren
und keine eigene »as_debug_info« zurückgeben) werden rekursiv geklont.

Alles andere definierte wird stringifiziert.

Dafür wurde die Funktion LXDebug::dump_object entfernt, die etwas
Ähnliches gemacht hat, aber nur für eine einzelne Rose-DB-Instanz.

7 years agoDateimanagement: Fehler beim Umbenennen richtig zurückgeben
Moritz Bunkus [Wed, 1 Mar 2017 13:16:31 +0000 (14:16 +0100)]
Dateimanagement: Fehler beim Umbenennen richtig zurückgeben

Ist man z.B. bei den Artikelstammdaten und versucht, eine Datei
umzubenennen, und ändert den Namen nicht, so sollte eine Fehlermeldung
angezeigt werden. Wurde sie aber nicht, weil Folgendes passierte:

• Im ClientJS-Flash wird Fehlermeldung erzeugt und das ClientJS sofort
  gerendert, anschließend mit »return« der innerste Block verlassen
• Der innerste Block ist aber ein »eval { … }«, und nicht die Funktion
  selber. Daher geht der Kontrollfluss nach dem »eval« weiter. Dabei
  werden mehr Sachen auf das ClientJS raufgepusht und aschließend
  erneut gerendert.

Dieses zweite Rendern schreibt dann erneut HTTP-Response-Zeilen sowie
ein vollständiges Array von ClientJS-Aktionen.

Der JavaScript-Code auf der Browser-Seite bekommen somit:

• HTTP-Response-Zeilen #1
• ClientJS-Array #1
• HTTP-Response-Zeilen #2
• ClientJS-Array #2

Damit kann er natürlich nicht umgehen, ignoriert die komplette
Antwort, und die Fehlermeldung wird somit nicht angezeigt.

Der Fix ist, nur das Umbenennen innerhalb des »eval« zu machen, und
den Rückgabewert außerhalb des »eval« zu prüfen. Bei einem anderen
Wert als SL::File::RENAME_OK wird das ClientJS dann nur einmal
gerendert und anschließend die Funktion verlassen.

7 years agoDateimanagement: Stammdaten: DOM-Elemente bei multiples Tab-Aufrufen nicht duplizieren
Moritz Bunkus [Wed, 1 Mar 2017 12:46:34 +0000 (13:46 +0100)]
Dateimanagement: Stammdaten: DOM-Elemente bei multiples Tab-Aufrufen nicht duplizieren

Der Aufruf des Tabs »Dateianhänge« in den Artikelstammdaten liefert
einen Tab aus, in dem der HTML-Code für den Umbenennen-Dialog
vorhanden ist (initial versteckt). Ruft man den Dialog dann auf, so
verschieb jQuery den in dem Moment im DOM an eine ganz andere
Stelle (an den Ende vom <body>), sodass der Dialog-Code nun nicht mehr
innerhalb des <div> liegt, das für den Tab geladen wurde.

Wechselt man nur zu einem anderen Tab und ruft den Tab »Dateianhänge«
erneut auf, so wird die bisherige <div> für den Tab entfernt und neu
geladen. Beim Neuladen wird natürlich auch wieder eine Kopie des
HTML-Codes für den Dialog mitgeschickt.

Die erste Kopie befindet sich zu dem Zeitpunkt aber weiterhin im DOM,
weil sie ja kein Kind des ursprünglichen Tab-<div>s mehr ist. Somit
haben wir nun zwei Kopien des HTML-Codes im DOM.

Das führt dazu, dass auch die Inputs doppelt vorhanden sind. Es wird
dann die falsche Input (nicht die, die der Benutzer*in angezeigt wird)
an den Server geschickt.

Der Fix sorgt dafür, dass der Dialog beim Schließen wieder an seine
ursprüngliche Stelle im DOM verschoben wird. Dadurch wird der beim
Neuladen des Tabs zusammen mit dem alten Tab-<div> sauber entfernt.

7 years agokivi.popup_dialog: Dialog vor »custom close function« schließen
Moritz Bunkus [Wed, 1 Mar 2017 12:45:05 +0000 (13:45 +0100)]
kivi.popup_dialog: Dialog vor »custom close function« schließen

Wenn die »custom close function« den Dialog im DOM verschieben möchte,
so macht sie das mit $dlg.remove().appendTo('#new_parent_id'). Dabei
geht aber die Dialog-Initialisierung flöten.

Wird also erst anschließend $dlg.dialog('close') ausgeführt, so hagelt
das eine Fehlermeldung.

7 years agogeneric/exception.html wiederhergestellt
Moritz Bunkus [Wed, 1 Mar 2017 11:52:16 +0000 (12:52 +0100)]
generic/exception.html wiederhergestellt

Die Vorlage wurde im Commit 9d8f72a0f92d01e1e25b14788b193cd662cad0d3
entfernt, weil fälschlicherweise gedacht wurde, dass sie nicht mehr
benutzt wird, da locales.pl eine Warnung diesbezüglich ausgab.

Tatsächlich wird sie aber noch benutzt, und zwar als generische
Fehler-Seite für das Template-Modul. Dieser Fall wurde von locales.pl
mangels Markup aber nicht erkannt.

7 years agolocales: Update nach Umstellung der Hintergrundjobverwaltung auf ActionBar
Moritz Bunkus [Wed, 1 Mar 2017 11:49:31 +0000 (12:49 +0100)]
locales: Update nach Umstellung der Hintergrundjobverwaltung auf ActionBar

7 years agoE-Mail-Dialog: Cc, Bcc standardmäßig verstecken; Dateianhang nach unten
Moritz Bunkus [Tue, 28 Feb 2017 16:48:25 +0000 (17:48 +0100)]
E-Mail-Dialog: Cc, Bcc standardmäßig verstecken; Dateianhang nach unten

Wichtige Felder sollen damit näher zusammenrücken, und unwichtige
Felder normalerweise gar nicht erst angezeigt werden.

7 years agoEinheiten bearbeiten: SL::DB::Language nutzen
Moritz Bunkus [Tue, 28 Feb 2017 16:28:45 +0000 (17:28 +0100)]
Einheiten bearbeiten: SL::DB::Language nutzen

Alter Code zum Auslesen der Sprachliste, AM::language, wurde im Zuge
der ActionBar-Umstellung entfernt.

Ups :)

7 years agoDateimanagement: Anhänge nicht als Referenz an SL::Mailer übergeben
Moritz Bunkus [Tue, 28 Feb 2017 16:00:23 +0000 (17:00 +0100)]
Dateimanagement: Anhänge nicht als Referenz an SL::Mailer übergeben

SL::Mailer erwartet, dass der Inhalt der Anhänge, die in
$mailer->{attachments} übergeben werden, direkt im Attribut »content«
gespeichert ist.

Das Interface von SL::File hingegen gibt nur eine Skalarreferenz auf
den Dateiinhalt zurück. Daher kann diese nicht 1:1 an den SL::Mailer
übergeben werden, da es ansonsten zu Fehlermeldungen von Rose beim
Speichern im E-Mail-Journal kommt (»cannot bind reference«).

7 years agoActionBar: Verwendung bei »Verlauf der Hintergrund-Jobs«
Moritz Bunkus [Tue, 28 Feb 2017 14:39:23 +0000 (15:39 +0100)]
ActionBar: Verwendung bei »Verlauf der Hintergrund-Jobs«

7 years agoActionBar: Verwendung bei »Aktuelle Hintergrund-Jobs anzeigen«
Moritz Bunkus [Tue, 28 Feb 2017 14:34:13 +0000 (15:34 +0100)]
ActionBar: Verwendung bei »Aktuelle Hintergrund-Jobs anzeigen«

7 years agoActionBar: kivitendo.css: bei Hover auf Deaktivierte die Border nicht umfärben
Moritz Bunkus [Tue, 28 Feb 2017 13:26:23 +0000 (14:26 +0100)]
ActionBar: kivitendo.css: bei Hover auf Deaktivierte die Border nicht umfärben

7 years agoActionBar: Border von ActionBar buttons nicht in common.css clobbern
Sven Schöling [Tue, 28 Feb 2017 13:20:59 +0000 (14:20 +0100)]
ActionBar: Border von ActionBar buttons nicht in common.css clobbern

7 years agoRevert "ActionBar: Combobox-Drop-Down auch mit schwarzem Rand rendern"
Sven Schöling [Tue, 28 Feb 2017 13:17:17 +0000 (14:17 +0100)]
Revert "ActionBar: Combobox-Drop-Down auch mit schwarzem Rand rendern"

This reverts commit e51d60046fda454e4a1c5c6a6b287622d8fb9cc8.

7 years agoActionBar: Combobox-Drop-Down auch mit schwarzem Rand rendern
Moritz Bunkus [Tue, 28 Feb 2017 13:15:20 +0000 (14:15 +0100)]
ActionBar: Combobox-Drop-Down auch mit schwarzem Rand rendern

7 years agoMetaSetup-Update für DB-Upgrade »filemanagement_feature«
Moritz Bunkus [Tue, 28 Feb 2017 12:05:57 +0000 (13:05 +0100)]
MetaSetup-Update für DB-Upgrade »filemanagement_feature«

7 years agoVersehentlich entfernte Fremdschlüssel auf sepa_export_items wieder hinzugefügt
Moritz Bunkus [Tue, 28 Feb 2017 12:00:23 +0000 (13:00 +0100)]
Versehentlich entfernte Fremdschlüssel auf sepa_export_items wieder hinzugefügt

Das DB-Upgrade-Script
»auto_delete_sepa_export_items_on_ap_ar_deletion.pl« hat via
»SL::DBUpgrade2::Base::drop_constraints« alle Constraints auf
»sepa_export_items« entfernt, dann aber nur zwei davon (mit anderen
Bedingungen) neu angelegt — nicht aber die für die Spalten »chart_id«
und »sepa_export_id«.

Resultat ist, dass die Relationships aus den MetaSetups rausfliegen,
wenn man die von einer sauberen DB erzeugen lässt (z.B. mit
Scriptoption »--test-client«).

7 years agoMetaSetup-Update zu DB-Upgrade »part_classifications.sql«
Moritz Bunkus [Tue, 28 Feb 2017 11:43:24 +0000 (12:43 +0100)]
MetaSetup-Update zu DB-Upgrade »part_classifications.sql«

7 years agoMetaSetup-Update zum DB-Upgrade »defaults_bcc_to_login.sql«
Moritz Bunkus [Tue, 28 Feb 2017 11:42:46 +0000 (12:42 +0100)]
MetaSetup-Update zum DB-Upgrade »defaults_bcc_to_login.sql«

7 years agoActionBar: SL::Layout::get: bei nicht existierendem Sub-Layout leere Liste zurückgeben
Moritz Bunkus [Tue, 28 Feb 2017 11:40:14 +0000 (12:40 +0100)]
ActionBar: SL::Layout::get: bei nicht existierendem Sub-Layout leere Liste zurückgeben

7 years agoActionBar: Verwendung bei »Task-Server-Steuerung«
Moritz Bunkus [Tue, 28 Feb 2017 10:57:01 +0000 (11:57 +0100)]
ActionBar: Verwendung bei »Task-Server-Steuerung«

7 years agoActionBar: Verwendung beim Massendruck von Lieferscheinen
Moritz Bunkus [Tue, 28 Feb 2017 10:33:11 +0000 (11:33 +0100)]
ActionBar: Verwendung beim Massendruck von Lieferscheinen

7 years agoPrintOptions: Checkbox »Beidseitig« optional anzeigen
Moritz Bunkus [Tue, 28 Feb 2017 10:32:40 +0000 (11:32 +0100)]
PrintOptions: Checkbox »Beidseitig« optional anzeigen

7 years agoPrintOptions: keine Warnungen wegen einmaliger Verwendung bekannter Variablen
Moritz Bunkus [Tue, 28 Feb 2017 10:31:54 +0000 (11:31 +0100)]
PrintOptions: keine Warnungen wegen einmaliger Verwendung bekannter Variablen

7 years agokivi.run: leeres Array (keine Argumente) nutzen, wenn args nicht übergeben wird
Moritz Bunkus [Tue, 28 Feb 2017 10:17:41 +0000 (11:17 +0100)]
kivi.run: leeres Array (keine Argumente) nutzen, wenn args nicht übergeben wird

7 years agoActionBar: »Anhänge aller Artikel herunterladen« bei Angeboten/Aufträgen wieder imple...
Moritz Bunkus [Tue, 28 Feb 2017 08:38:11 +0000 (09:38 +0100)]
ActionBar: »Anhänge aller Artikel herunterladen« bei Angeboten/Aufträgen wieder implementiert

7 years agoActionBar: Verwendung im »SimpleSystemSetting«-Controller
Moritz Bunkus [Mon, 27 Feb 2017 16:03:46 +0000 (17:03 +0100)]
ActionBar: Verwendung im »SimpleSystemSetting«-Controller

7 years agoActionBar: Verwendung undefinierter Werte in Tests vermeiden
Moritz Bunkus [Mon, 27 Feb 2017 15:49:07 +0000 (16:49 +0100)]
ActionBar: Verwendung undefinierter Werte in Tests vermeiden