kivitendo-erp.git
6 years agoWiederkehrende Rechnungen: Template: eindeutige DOM-Ids
Bernd Bleßmann [Mon, 29 Jan 2018 15:17:49 +0000 (16:17 +0100)]
Wiederkehrende Rechnungen: Template: eindeutige DOM-Ids

printer_id / copies werden so auch in den print_options benannt. Wenn dieses
Template als Vorlage für ein Popup-Dialog verwendet wird, kann es sonst zu
gleichen DOM-Ids kommen.

6 years agoWiederkehrende Rechnungen: Templatevariablen in Hash oder Objekt übergeben
Bernd Bleßmann [Mon, 29 Jan 2018 15:11:15 +0000 (16:11 +0100)]
Wiederkehrende Rechnungen: Templatevariablen in Hash oder Objekt übergeben

Damit lässt sich das Template auch mit einem PeriodicInvoiceConfig-Objekt
aufrufen und kann so von anderen Controllern verwendet werden.

6 years agoAuftrags-Controller: E-Mail-Dialog aus common verwenden.
Bernd Bleßmann [Wed, 24 Jan 2018 10:59:38 +0000 (11:59 +0100)]
Auftrags-Controller: E-Mail-Dialog aus common verwenden.

6 years agoE-Mail-Dialog: Template: js-Funktion zum Verschicken der Mail mitgeben können
Bernd Bleßmann [Mon, 22 Jan 2018 15:22:19 +0000 (16:22 +0100)]
E-Mail-Dialog: Template: js-Funktion zum Verschicken der Mail mitgeben können

6 years agoAuftrags-Controller: Beim Drucken Sprache richtig berücksichtigen.
Bernd Bleßmann [Wed, 24 Jan 2018 10:58:43 +0000 (11:58 +0100)]
Auftrags-Controller: Beim Drucken Sprache richtig berücksichtigen.

6 years agoAuftrags-Controller: Workflow Lieferschein: gelieferte Positionen filtern
Bernd Bleßmann [Fri, 12 Jan 2018 16:16:47 +0000 (17:16 +0100)]
Auftrags-Controller: Workflow Lieferschein: gelieferte Positionen filtern

Dieser commit enthält einen  Hack, der nochmal diskutiert und geändert werden
sollte.

6 years agoAuftrags-Controller: Fehler bei Anzeige von EK und Marge in 2. Zeile behoben
Bernd Bleßmann [Mon, 11 Dec 2017 15:05:11 +0000 (16:05 +0100)]
Auftrags-Controller: Fehler bei Anzeige von EK und Marge in 2. Zeile behoben

Wenn das Order-Objekt noch nicht gespeichert ist, kann darauf nicht über
$item->order zugegriffen werden. Darum muss an die 2. Zeile eine weitere
Variable durchgereicht werden, um zu bestimmen, ob wir im Verkauf sind und
EK und Margen angezeigt werden sollen.

6 years agoAuftrags-Controller: Workflow -> Rechnung (Speichern und Rechnung erfassen)
Bernd Bleßmann [Fri, 8 Dec 2017 15:04:07 +0000 (16:04 +0100)]
Auftrags-Controller: Workflow -> Rechnung (Speichern und Rechnung erfassen)

6 years agoAuftrags-Controller: Verkäufer bei Kundenwechsel ändern
Bernd Bleßmann [Fri, 8 Dec 2017 14:41:24 +0000 (15:41 +0100)]
Auftrags-Controller: Verkäufer bei Kundenwechsel ändern

6 years agoAuftrags-Controller: Sortimente mit Mehrfachauswahl hinzufügen können.
Bernd Bleßmann [Fri, 8 Dec 2017 13:50:34 +0000 (14:50 +0100)]
Auftrags-Controller: Sortimente mit Mehrfachauswahl hinzufügen können.

Behebt #220 (redmine).

6 years agoPresenter::Tag::link - umbenannt in link_tag
Sven Schöling [Thu, 25 Jan 2018 10:56:56 +0000 (11:56 +0100)]
Presenter::Tag::link - umbenannt in link_tag

um Namenskonflikte mit dem link builtin zu vermeiden

6 years agoController::LoginScreen: AuthHandler::handle ohne Argumente aufrufen
Sven Schöling [Wed, 24 Jan 2018 15:16:31 +0000 (16:16 +0100)]
Controller::LoginScreen: AuthHandler::handle ohne Argumente aufrufen

Abgesehen davon, dass die Parameter nicht mehr benutzt werden, behebt
das einen ganz ekeligen Bug: "panic: attempt to copy freed scalar"

Das Problem ist, dass der AuthHandler selber das Einloggen übernimmt und
dafür %::myconfig neu beschreibt. Wenn währenddessen aber ein Alias von
einem %::myconfig Value auf dem Stack liegt, wird der sofort freigegeben
weil der Stack nicht refcounted ist.

Normalerweise fällt das nicht weiter auf, und die Daten werden im
final pass aufgeräumt. Aber mit backtrace_on_error wird bei einem Fehler
sofort ein Carp::confess aufgerufen, und das nimmt für den Stacktrace
den Stack auseinander und stolpert dabei über den bereits freigegeben Wert.

6 years agoPriceSource: Objekte cachen.
Sven Schöling [Thu, 18 Jan 2018 14:03:37 +0000 (15:03 +0100)]
PriceSource: Objekte cachen.

Im Moment werden die einzelnen Worker im normalen Workflow mehrfach
angelegt, einmal für die verfügbaren, und dann noch einmal für den
besten und zum wiederherstellen der existierenden.

Für größere Belege wird das merklich, und bei komplexen
Implementationen, die auf die Datenbank zugreifen müssen, sogar mehrere
Sekunden.

Diese Patch ist der erste in einer Reihe, die es erlauben optional
Preisquellen

1. nicht unnötig zu erstellen
2. in sich cachen zu lassen
3. vorberechnen zu lassen und damit horizontal zu cachen
3. die Berechnungen in einen Ajax Call zu verzögern

6 years agoPresenter: Kosmetik: Anordnung
Moritz Bunkus [Wed, 24 Jan 2018 12:40:23 +0000 (13:40 +0100)]
Presenter: Kosmetik: Anordnung

6 years agoPresenter: Klasse für SL::DB::PurchaseInvoice ist SL::Presenter::Invoice
Moritz Bunkus [Wed, 24 Jan 2018 12:39:23 +0000 (13:39 +0100)]
Presenter: Klasse für SL::DB::PurchaseInvoice ist SL::Presenter::Invoice

Sichtbarer Effekt: in der Liste der verknüpften Belege wurde die
Rechnungsnummer und damit der Link zur Einkaufsrechnung nicht
angezeigt.

6 years agoLaTeX-Druck: Newlines nicht entfernen
Moritz Bunkus [Tue, 23 Jan 2018 14:55:06 +0000 (15:55 +0100)]
LaTeX-Druck: Newlines nicht entfernen

6 years agoLaTeX-Druck: Unicode-Control-Zeichen und nicht druckbare Zeichen entfernen
Moritz Bunkus [Fri, 19 Jan 2018 10:21:44 +0000 (11:21 +0100)]
LaTeX-Druck: Unicode-Control-Zeichen und nicht druckbare Zeichen entfernen

Filtert z.B. das »bidirectional left-to-right«-Kontroll-Zeichen raus,
an dem sich LaTeX verschluckt.

6 years agoDATEV/CSV: Buchungstext exportieren
Sven Schöling [Thu, 18 Jan 2018 13:01:26 +0000 (14:01 +0100)]
DATEV/CSV: Buchungstext exportieren

Durch einen Typo wurde da statt dem Slot "buchungstext" der Slot
"buhcungsbes" exportiert, der natürlich leer war.

6 years agoPriceSource: Doku Update
Sven Schöling [Mon, 15 Jan 2018 16:51:01 +0000 (17:51 +0100)]
PriceSource: Doku Update

6 years agoPreisquelle Stammdaten: lastcost hat jetzt niedrige Priorität
Sven Schöling [Thu, 9 Jun 2016 11:38:29 +0000 (13:38 +0200)]
Preisquelle Stammdaten: lastcost hat jetzt niedrige Priorität

Damit überstimmt der nicht mehr listprice sofern der vorhanden ist

6 years agoDATEV: Festschreibung vergessener Commit zu 2ac999504a
Jan Büren [Tue, 16 Jan 2018 08:23:54 +0000 (09:23 +0100)]
DATEV: Festschreibung vergessener Commit zu 2ac999504a

6 years agofixt #337
Jan Büren [Mon, 15 Jan 2018 10:23:17 +0000 (11:23 +0100)]
fixt #337

Vergessene Presenter-Umstellung für Controller/Part.pm

6 years agoType in Übersetzung
Bernd Bleßmann [Fri, 12 Jan 2018 13:32:33 +0000 (14:32 +0100)]
Type in Übersetzung

6 years agoSEPA-Sammelanweisung (is_batch_transaction): BUGFIX Loop richtig beenden
Martin Helmling martin.helmling@octosoft.eu [Wed, 10 Jan 2018 15:55:14 +0000 (16:55 +0100)]
SEPA-Sammelanweisung (is_batch_transaction): BUGFIX Loop richtig beenden

Wurde eine Sammelanweisung gefunden, ist die Suche für die betroffenen Banktransaktion beendet.
Fälschlicherweise wurde nur die innere Schleife beendet, es muss aber die äußere Schleife beendet werden.

6 years agotests: update zu "PartPicker kann auch nach EAN suchen"
Sven Schöling [Tue, 9 Jan 2018 10:50:28 +0000 (11:50 +0100)]
tests: update zu "PartPicker kann auch nach EAN suchen"

6 years agoDATEV: Buchungen festschreiben als Benutzer-Option
Jan Büren [Tue, 9 Jan 2018 08:44:06 +0000 (09:44 +0100)]
DATEV: Buchungen festschreiben als Benutzer-Option

Hintergrund: Aktuell setzt kivitendo keinen Wert, was bei der
DATEV zu einer Warnung und anschließender Festschreibung im Stapel führt.
Die Option ist jetzt an der Oberfläche konfigurierbar und erhält gültige Werte

6 years agoDATEV: Export-Periode Dezember ist häufig im Vorjahreszeitraum
Jan Büren [Tue, 9 Jan 2018 08:31:06 +0000 (09:31 +0100)]
DATEV: Export-Periode Dezember ist häufig im Vorjahreszeitraum

6 years agoPresenter/RequirementSpec: typo
Sven Schöling [Mon, 8 Jan 2018 17:23:51 +0000 (18:23 +0100)]
Presenter/RequirementSpec: typo

6 years agoPart: Javascripte nicht ins HTML schreiben sondern nach reinit_widgets
Sven Schöling [Mon, 8 Jan 2018 15:26:15 +0000 (16:26 +0100)]
Part: Javascripte nicht ins HTML schreiben sondern nach reinit_widgets

6 years agoPart: makemodels und customerprices automatisch stripen
Sven Schöling [Mon, 8 Jan 2018 15:25:32 +0000 (16:25 +0100)]
Part: makemodels und customerprices automatisch stripen

6 years agoPart: partpicker enterverhalten direkt im picker setzen
Sven Schöling [Mon, 8 Jan 2018 15:24:18 +0000 (16:24 +0100)]
Part: partpicker enterverhalten direkt im picker setzen

Nachträglich drandongeln gibt Probleme

6 years agoPart: Speichern nicht accesskey enter
Sven Schöling [Mon, 8 Jan 2018 15:22:13 +0000 (16:22 +0100)]
Part: Speichern nicht accesskey enter

6 years agois_wrong_ptype gibt es hier nicht
Sven Schöling [Fri, 5 Jan 2018 14:10:30 +0000 (15:10 +0100)]
is_wrong_ptype gibt es hier nicht

6 years agoPartCustomerPrices: Preisbehandlung nicht hart kodieren
Sven Schöling [Fri, 5 Jan 2018 14:09:55 +0000 (15:09 +0100)]
PartCustomerPrices: Preisbehandlung nicht hart kodieren

6 years agoKunden-Spezifische Artikeleigenschaften
Martin Helmling martin.helmling@octosoft.eu [Mon, 9 Jan 2017 10:55:21 +0000 (11:55 +0100)]
Kunden-Spezifische Artikeleigenschaften

neue Tabelle "PartCustomerPrices" mit SL/DB Dateien
in Artikelstammdaten eingebaut,

in Preisquellen analog zu den Lieferantenpreisen nun Kundenpreise eingebaut
(Unklar ist was bei Kundenpreisen der beste Preis ist !)

Analog zu Lieferanten "make" und "model" aus kundenspezifischen Daten
"customer" und "custnumber" zum Drucken pro Artikel anbieten

6 years agoInventur: Upgrade-Skript: Abhängigkeit von Release
Bernd Bleßmann [Mon, 8 Jan 2018 16:02:01 +0000 (17:02 +0100)]
Inventur: Upgrade-Skript: Abhängigkeit von Release

6 years agoInventur: changelog
Bernd Bleßmann [Fri, 5 Jan 2018 13:23:04 +0000 (14:23 +0100)]
Inventur: changelog

6 years agoInventur: Übersetzungen
Bernd Bleßmann [Wed, 20 Dec 2017 13:25:18 +0000 (14:25 +0100)]
Inventur: Übersetzungen

6 years agoInventur: Eingabemaske und Journal im Inventory-Controller
Bernd Bleßmann [Mon, 27 Nov 2017 17:13:47 +0000 (18:13 +0100)]
Inventur: Eingabemaske und Journal im Inventory-Controller

6 years agoInventur: Inventurzählungen mit Lagerbewegungen im Backend SL::WH speichern können
Bernd Bleßmann [Wed, 20 Dec 2017 14:16:24 +0000 (15:16 +0100)]
Inventur: Inventurzählungen mit Lagerbewegungen im Backend SL::WH speichern können

6 years agoInventur: Mandantenkonfig: Voreinstellungen für Lager, Lagerplatz und Stichtag
Bernd Bleßmann [Wed, 29 Nov 2017 12:16:56 +0000 (13:16 +0100)]
Inventur: Mandantenkonfig: Voreinstellungen für Lager, Lagerplatz und Stichtag

6 years agoInventur: Voreinstellungen für Lager, Lagerplatz und Stichtag (DB und Rose)
Bernd Bleßmann [Wed, 29 Nov 2017 12:15:50 +0000 (13:15 +0100)]
Inventur: Voreinstellungen für Lager, Lagerplatz und Stichtag (DB und Rose)

6 years agoInventur: neue Tabelle für gezählte Artikel. DB-Upgrade und Rose
Bernd Bleßmann [Mon, 4 Dec 2017 09:42:37 +0000 (10:42 +0100)]
Inventur: neue Tabelle für gezählte Artikel. DB-Upgrade und Rose

6 years agoInventur: Manager-Klasse für Inventory (f. sorting/paginating)
Bernd Bleßmann [Mon, 27 Nov 2017 17:08:52 +0000 (18:08 +0100)]
Inventur: Manager-Klasse für Inventory (f. sorting/paginating)

6 years agoInventur: neuer Transfer-Typ für Inventur ('stocktaking') (DB-Upgrade)
Bernd Bleßmann [Mon, 27 Nov 2017 12:14:43 +0000 (13:14 +0100)]
Inventur: neuer Transfer-Typ für Inventur ('stocktaking') (DB-Upgrade)

6 years agoLager: Mini-Stock: Einheiten und EAN (wenn vorhanden) mit ausgeben
Bernd Bleßmann [Wed, 20 Dec 2017 14:11:53 +0000 (15:11 +0100)]
Lager: Mini-Stock: Einheiten und EAN (wenn vorhanden) mit ausgeben

6 years agoPartPicker kann auch nach EAN suchen
Bernd Bleßmann [Wed, 8 Nov 2017 15:00:40 +0000 (16:00 +0100)]
PartPicker kann auch nach EAN suchen

6 years agoFormatierung und unnötiges Arrayelement entfernt
Werner Hahn [Wed, 3 Jan 2018 16:19:09 +0000 (17:19 +0100)]
Formatierung und unnötiges Arrayelement entfernt

6 years agoArtikelliste bei Schnellsuche, wenn mehrere Treffer vorgeschlagen sind
Werner Hahn [Wed, 3 Jan 2018 11:56:32 +0000 (12:56 +0100)]
Artikelliste bei Schnellsuche, wenn mehrere Treffer vorgeschlagen sind
und keiner ausgewählt ist
fix #282

6 years agoPresenter::CustomerVendor: interface normalisiert
Sven Schöling [Tue, 2 Jan 2018 12:22:03 +0000 (13:22 +0100)]
Presenter::CustomerVendor: interface normalisiert

es gibt jetzt zusätzlich:
- customer_picker
- vendor_picker

die auf den jeweiligen typ gecrurried sind

6 years agoPresenter::Tag: date_tag aus Plugin/L verschoben
Sven Schöling [Wed, 27 Dec 2017 11:08:54 +0000 (12:08 +0100)]
Presenter::Tag: date_tag aus Plugin/L verschoben

6 years agoPresenter::Tag: textarea_tag aus Plugin/L verschoben
Sven Schöling [Wed, 27 Dec 2017 11:07:41 +0000 (12:07 +0100)]
Presenter::Tag: textarea_tag aus Plugin/L verschoben

6 years agoPresenter::Tag: Optionale Precision für input_number_tag
Sven Schöling [Wed, 27 Dec 2017 10:16:24 +0000 (11:16 +0100)]
Presenter::Tag: Optionale Precision für input_number_tag

6 years agoPresenter::Tag: singleton tags
Sven Schöling [Wed, 27 Dec 2017 10:10:41 +0000 (11:10 +0100)]
Presenter::Tag: singleton tags

Vorher wurden alle tags als singleton (also ohne schließenden Tag)
gerendert, wenn sie keinen content hatten. Das geht aber kaputt bei
textarea, weil ein einfaches <textarea> den kompletten folgenden HTML
Code als Content interpretiert.

Ab jetzt werden nur die Tags ohne Content als singleton gerendert, bei
denen das im Standard erlaubt ist.

6 years agoPresenter::EscapedText: quote_html nicht über $::locale laufen lassen
Sven Schöling [Wed, 27 Dec 2017 10:08:52 +0000 (11:08 +0100)]
Presenter::EscapedText: quote_html nicht über $::locale laufen lassen

Die quote_html Liste in speacial_chars ist extrem langsam. Für HTML
Generierung lieber diese optimierte nehmen.

6 years agoSL::DB<->Presenter: Argumente aus Templates korrekt splicen
Sven Schöling [Wed, 27 Dec 2017 10:47:01 +0000 (11:47 +0100)]
SL::DB<->Presenter: Argumente aus Templates korrekt splicen

6 years agoObjektmethode date für GLTransaction
Jan Büren [Tue, 2 Jan 2018 11:01:53 +0000 (12:01 +0100)]
Objektmethode date für GLTransaction

In gl gibt es nur gldate. Entsprechend wie bei invnumber
die auf reference in gl verweist date auf gldate gesetzt.
Verbessert das Verhalten wenn es bei Details auflisten in Projekten
verknüpfte Dialogbuchungen gibt.

6 years agoSelfTests: check_paid_ap ID in E-Mail-Bericht übergeben -> einfachere Analyse
Jan Büren [Mon, 1 Jan 2018 10:01:34 +0000 (11:01 +0100)]
SelfTests: check_paid_ap ID in E-Mail-Bericht übergeben -> einfachere Analyse

6 years agoPresenter: can-Aufruf an geproxytes Objekt durchreichen & geproxyte Klasse laden
Moritz Bunkus [Wed, 20 Dec 2017 14:29:27 +0000 (15:29 +0100)]
Presenter: can-Aufruf an geproxytes Objekt durchreichen & geproxyte Klasse laden

6 years agoPresenter: richtige Presenter-Klasse bei DB-Klassen Customer/Vendor laden
Moritz Bunkus [Wed, 20 Dec 2017 14:29:09 +0000 (15:29 +0100)]
Presenter: richtige Presenter-Klasse bei DB-Klassen Customer/Vendor laden

6 years agoPresenter: Neue Struktur in RecordLinks
Sven Schöling [Wed, 20 Dec 2017 13:15:42 +0000 (14:15 +0100)]
Presenter: Neue Struktur in RecordLinks

6 years agoPresenter: Doku
Sven Schöling [Wed, 20 Dec 2017 13:15:35 +0000 (14:15 +0100)]
Presenter: Doku

6 years agoPresenter: Neue Struktur im DBUpgrade
Sven Schöling [Wed, 20 Dec 2017 13:15:20 +0000 (14:15 +0100)]
Presenter: Neue Struktur im DBUpgrade

6 years agoPresenter: Neue Struktur in weiteren Belegen
Sven Schöling [Wed, 20 Dec 2017 13:14:45 +0000 (14:14 +0100)]
Presenter: Neue Struktur in weiteren Belegen

6 years agoBenutzerdefinierte Datenexporte: Standardwerte für Parameter angeben können
Moritz Bunkus [Fri, 10 Nov 2017 12:59:39 +0000 (13:59 +0100)]
Benutzerdefinierte Datenexporte: Standardwerte für Parameter angeben können

6 years agoBenutzerdefinierte Datenexporte zu CSV anlegen und ausführen können
Moritz Bunkus [Thu, 9 Nov 2017 13:59:07 +0000 (14:59 +0100)]
Benutzerdefinierte Datenexporte zu CSV anlegen und ausführen können

6 years agoPrintOptions: brauchen storno flag aus $::form für Rechnungen
Sven Schöling [Thu, 21 Sep 2017 15:34:40 +0000 (17:34 +0200)]
PrintOptions: brauchen storno flag aus $::form für Rechnungen

6 years agoVersionsnummer nach Login wieder anzeigen
Moritz Bunkus [Wed, 20 Dec 2017 10:13:20 +0000 (11:13 +0100)]
Versionsnummer nach Login wieder anzeigen

Templates, die von alten Controllern über
`$::form->parse_html_template` ausgegeben haben, verfügen nicht über
ein `FORM`-Objekt (siehe `Form::prepare_html_template`). Also die
Version außerhalb des Templates via `$::form->read_version` auslesen
und ans Template übergeben.

6 years agoPresenter: Neue Struktur in den restlichen Bereichen umgesetzt
Sven Schöling [Tue, 19 Dec 2017 14:33:15 +0000 (15:33 +0100)]
Presenter: Neue Struktur in den restlichen Bereichen umgesetzt

6 years agoPresenter: Neue Struktur im Warenstamm umgesetzt
Sven Schöling [Tue, 19 Dec 2017 14:31:51 +0000 (15:31 +0100)]
Presenter: Neue Struktur im Warenstamm umgesetzt

6 years agoPresenter: Neue Struktur in Belegen umgesetzt
Sven Schöling [Tue, 19 Dec 2017 14:30:27 +0000 (15:30 +0100)]
Presenter: Neue Struktur in Belegen umgesetzt

6 years agoPresenter: Neue Struktur in RequirementSpecs umgesetzt
Sven Schöling [Tue, 19 Dec 2017 14:28:07 +0000 (15:28 +0100)]
Presenter: Neue Struktur in RequirementSpecs umgesetzt

6 years agoPresenter: Neue Struktur im Layout umgesetzt
Sven Schöling [Tue, 19 Dec 2017 14:27:35 +0000 (15:27 +0100)]
Presenter: Neue Struktur im Layout umgesetzt

6 years agoPresenter: Sub-Presenter auf Funktional geändert
Sven Schöling [Tue, 19 Dec 2017 14:23:35 +0000 (15:23 +0100)]
Presenter: Sub-Presenter auf Funktional geändert

1. alle Sub-Presenter aus dem SL::Presenter Namespace geschmissen

2. Keine ungefragten @EXPORTs mehr, nur noch @EXPORT_OK

3. Alle Methoden sind auf Funktionen umgeschrieben (kein $self mehr)

4. Die benötigten Methoden von Sub-Presentern müssen jetzt direkt importiert
   werden (betrifft vor allem SL::Presenter::EscapedText und SL::Presenter::Tag)

5. Da die Funktionen in Tag/Text/EscapedText recht häufig gebraucht werden,
   exportieren die ihre Funktionen stattdessen nach SL::Presenter::Simple, und
   die Proxies in SL::Template::Plugin::L und SL::Template::Plugin::P
   dispatchen auf diesen Namespace statt auf SL::Presenter.

6. Die Sub-Namespaces sind in SL::Presenter::ALL registriert, und dort liegt
   auch der Proxymechanismus um vom Objekt aus zu der Funktion zu dispatchen.
   Das ist nur in SL::Template::Plugin::P registriert, nicht mehr in L.

7. Für Funktionen deren exportierter name mit Namespace präfixt war, gibt es
   einen Alias angelegt der nicht exportiert wird.

6 years agoRelease-Management Empfehlung für Versionierung
Jan Büren [Tue, 19 Dec 2017 12:10:43 +0000 (13:10 +0100)]
Release-Management Empfehlung für Versionierung

6 years agoVersion 3.5.2
Jan Büren [Tue, 19 Dec 2017 11:57:25 +0000 (12:57 +0100)]
Version 3.5.2

6 years agoDATEV-CSV: Einträge ohne Umsatz nicht versuchen zu exportieren
Moritz Bunkus [Mon, 18 Dec 2017 12:44:44 +0000 (13:44 +0100)]
DATEV-CSV: Einträge ohne Umsatz nicht versuchen zu exportieren

6 years agoRevert "DATEV: Umsatz von 0 zulassen"
Moritz Bunkus [Mon, 18 Dec 2017 12:41:12 +0000 (13:41 +0100)]
Revert "DATEV: Umsatz von 0 zulassen"

This reverts commit f7a1243e53114c1917ea0836a5839ed0918553b4.

6 years agoCSV-Import: Fehlermeldung, falls Task-Server für aktuellen Mandanten deaktiviert
Moritz Bunkus [Mon, 18 Dec 2017 12:35:36 +0000 (13:35 +0100)]
CSV-Import: Fehlermeldung, falls Task-Server für aktuellen Mandanten deaktiviert

6 years agoTask-Server: nach Task-Ausführung Status & Jobname als Debuginfo ausgeben
Moritz Bunkus [Mon, 18 Dec 2017 12:16:37 +0000 (13:16 +0100)]
Task-Server: nach Task-Ausführung Status & Jobname als Debuginfo ausgeben

6 years agoCSV-Import: Fix für reflexive Spaltennamen im Mapping
Moritz Bunkus [Mon, 18 Dec 2017 12:07:28 +0000 (13:07 +0100)]
CSV-Import: Fix für reflexive Spaltennamen im Mapping

Wenn eine CSV-Datei für den Bank-Import z.B. die Spalten `currency`,
`amount`, `local_bank_number` enthalten, so schlug der Import aus
gleich zwei Gründen fehl, wenn in der CSV-Spaten-Zuordnung die Namen
alle auf sich selber abgebildet wurden, also `current` → `currency`,
`amount` → `amount` und `local_bank_number` → `local_bank_number`.

Untersuchung ergab die folgenden zwei Probleme:

1. Fehlermeldung `cannot bind reference`
2. Fehlermeldung `can't locate object method "local_bank_number" via
   package "SL::DB::BankTransaction"`

Es stellte sich heraus, dass beim Speichern der CSV-Spalten in der
Datenbank hier kivitendo gedacht hat, dass diese drei genannten
Spalten auch als Methoden auf den DB-Objekt aufrufbar wären.

Sind sie aber nicht.

Schuld war der Mechanismus, der anhand der vorhandenen
Spaltennamen-Zuordnungen (`$mapping`) und dem vorhandenen
Spaltenprofil (`$profile`) entschieden hat, welche Namen als Methoden
anzuerkennen.

Im konkreten Fall ist es so, dass es sowohl ein solches Mapping als
auch ein solches Profil gibt. In dem Fall darf aber ein Name, der zwar
als Mapping existiert, dessen gemappter Name aber im Profil nicht
existiert, auch nicht als Methodenname aufgefasst und in die `$specs`
aufgenommen werden. Statt dessen muss er als »unbekannte Spalte«
behandelt werden.

6 years agoDokumentation von beta nach 3.5.1 geändert
G. Richardson [Mon, 18 Dec 2017 10:00:48 +0000 (11:00 +0100)]
Dokumentation von beta nach 3.5.1 geändert

6 years agoRevert "DATEV: auch Punkte in UStID-Nummern automatisch entfernen"
Moritz Bunkus [Fri, 15 Dec 2017 12:44:17 +0000 (13:44 +0100)]
Revert "DATEV: auch Punkte in UStID-Nummern automatisch entfernen"

This reverts commit 93f06915a1f2444585aeb8ed32f849d08da7b07a.

6 years agoKunden-/Lieferanten: Löschen von Ansprechpersonen, Lieferadressen gefixt
Moritz Bunkus [Fri, 15 Dec 2017 11:55:09 +0000 (12:55 +0100)]
Kunden-/Lieferanten: Löschen von Ansprechpersonen, Lieferadressen gefixt

6 years agoRevert "CVar-Helfer: cvars_by_config nach Config-Reihenfolge sortiert zurückgeben"
Moritz Bunkus [Fri, 15 Dec 2017 10:19:54 +0000 (11:19 +0100)]
Revert "CVar-Helfer: cvars_by_config nach Config-Reihenfolge sortiert zurückgeben"

This reverts commit 6e1a7a2e06de426b553ada3aed39f28b4825d0ce.

Die Funktion `_all_configs` liefert die Konfigurationen bereits
sortiert. Schlimmer ist, dass `sort_by` nicht numerisch sondern
alphabetisch sortiert, sodass `sortkey = 10` vor `sortkey = 2` kommt.

6 years agoDATEV: Umsatz von 0 zulassen
Moritz Bunkus [Fri, 15 Dec 2017 09:51:17 +0000 (10:51 +0100)]
DATEV: Umsatz von 0 zulassen

6 years agoDATEV: auch Punkte in UStID-Nummern automatisch entfernen
Moritz Bunkus [Fri, 15 Dec 2017 09:51:05 +0000 (10:51 +0100)]
DATEV: auch Punkte in UStID-Nummern automatisch entfernen

6 years agoDATEV: `input_check` für UStID an `formatter`+`valid_check` angepasst
Moritz Bunkus [Fri, 15 Dec 2017 08:50:44 +0000 (09:50 +0100)]
DATEV: `input_check` für UStID an `formatter`+`valid_check` angepasst

Die Kombination aus `formatter`+`valid_check` kann UStIDs richtig
behandeln, die Leerzeichen enthalten. Daher muss der vorher laufende
`input_check` Leerzeichen ebenfalls ignorieren.

Weiterhin muss der `input_check` auch das gleiche Format erlauben, das
`valid_check` später auch erlaubt — bezogen auf verschiedene Formate
in verschiedenen Ländern. So enhält z.B. der `valid_check` eine
Ausnahme für die Schweiz, für die nur erforderlich ist, dass die UStID
mit `CH` beginnt. Der `input_check` hingegen hat weiterhin darauf
bestanden, dass dahinter zwischen fünf und 13 Wortzeichen kommen.

6 years agoMandantenkonfig: kleine HTML-Ungereimtheit behoben …
Bernd Bleßmann [Wed, 13 Dec 2017 15:49:58 +0000 (16:49 +0100)]
Mandantenkonfig: kleine HTML-Ungereimtheit behoben …

In form.html war ein Start-div-Tag. Das Ende dazu aber in _miscellaneous.html.
Damit musste _miscellaneous.html immer zuletzt in form.html processed werden,
was unnötig ist.
Das Ende-div-Tag jetzt aus _miscellaneous.html in form.html verschoben.

6 years agoscripts/dbupgrade2_tool.pl: kein Kontrollfeld fürs Encoding erzeugen
Bernd Bleßmann [Wed, 13 Dec 2017 15:35:07 +0000 (16:35 +0100)]
scripts/dbupgrade2_tool.pl: kein Kontrollfeld fürs Encoding erzeugen

Es wird nur utf8 unterstützt. Das Encoding-Kontrollfeld ist kein gültiges Feld
mehr in den Upgrade-Dateien. Deshalb wird es nicht mehr erzeugt und das Encoding
kann auch nicht mehr als Parameter mitgegeben werden.

6 years agochangelog
Jan Büren [Tue, 12 Dec 2017 15:22:41 +0000 (16:22 +0100)]
changelog

6 years agoio.pl: qty und sellprice nicht validieren
Bernd Bleßmann [Fri, 8 Dec 2017 11:03:07 +0000 (12:03 +0100)]
io.pl: qty und sellprice nicht validieren

Hintergrund: in kivi.Validator.js werden als "number" zu validierende Elemente
neu formatiert, hier gibt es aber keine Möglichkeit, die Anzahl der
Nachkommastellen zu übergeben.

Beim Drucken von Belegen wurde so z.B. bei einem freien Verkaufspreis die
Nachkommastellen abgeschnitten, wenn sie Null waren (3 statt 3,00).

Bis es eine Möglichkeit gibt, die Anzahl der Nachkommastellen an den Validator
zu übegeben, ist das ein Hotfix für redime #331. refs #331

6 years agoVersion 3.5.1
Jan Büren [Fri, 8 Dec 2017 07:30:26 +0000 (08:30 +0100)]
Version 3.5.1

6 years agoDB-Sammelskript für 3.5.1 Standard
Jan Büren [Fri, 8 Dec 2017 07:31:34 +0000 (08:31 +0100)]
DB-Sammelskript für 3.5.1 Standard

6 years agoForm::read_logo gibt es in dieser Version nicht
Sven Schöling [Thu, 7 Dec 2017 12:58:10 +0000 (13:58 +0100)]
Form::read_logo gibt es in dieser Version nicht

6 years agoRequest: cgi korrekt lesen wenn form leer ist
Sven Schöling [Mon, 2 Oct 2017 10:07:54 +0000 (12:07 +0200)]
Request: cgi korrekt lesen wenn form leer ist

6 years agoForm: version nicht mehr in $::form cachen
Sven Schöling [Mon, 2 Oct 2017 09:31:34 +0000 (11:31 +0200)]
Form: version nicht mehr in $::form cachen

6 years ago$::form->read_version auf SL::Version->get_version umgestellt
Sven Schöling [Mon, 2 Oct 2017 10:09:29 +0000 (12:09 +0200)]
$::form->read_version auf SL::Version->get_version umgestellt

6 years agoSL::Version - Versionsbehandlung aus Form ausgelagert
Sven Schöling [Mon, 2 Oct 2017 09:29:40 +0000 (11:29 +0200)]
SL::Version - Versionsbehandlung aus Form ausgelagert

6 years agoSammelskript für alle Auth-Upgrades für 3.5.1
Jan Büren [Wed, 6 Dec 2017 10:56:15 +0000 (11:56 +0100)]
Sammelskript für alle Auth-Upgrades für 3.5.1