kivitendo-erp.git
6 years agoAuftrags-Controller: Telmplate: '$' vor T8-Filter
Bernd Bleßmann [Wed, 7 Feb 2018 09:56:14 +0000 (10:56 +0100)]
Auftrags-Controller: Telmplate: '$' vor T8-Filter

6 years agoHinweis in UPGRADE: Fallback-Module entfernt.
Jan Büren [Wed, 7 Feb 2018 09:19:08 +0000 (10:19 +0100)]
Hinweis in UPGRADE: Fallback-Module entfernt.

6 years agoBehebt: #343 Kontoauszug verbuchen Skontoautomatik bei Verkaufsrechnungen defekt
Jan Büren [Wed, 7 Feb 2018 07:58:26 +0000 (08:58 +0100)]
Behebt: #343 Kontoauszug verbuchen Skontoautomatik bei Verkaufsrechnungen defekt

6 years agop.link_tag anstatt p.link in bank_transactions Templates
Werner Hahn [Tue, 6 Feb 2018 12:00:38 +0000 (13:00 +0100)]
p.link_tag anstatt p.link in bank_transactions Templates

6 years agoDATEV: Testanpassungen
Sven Schöling [Tue, 6 Feb 2018 10:45:17 +0000 (11:45 +0100)]
DATEV: Testanpassungen

6 years agomodules/fallback: Module entfernt.
Sven Schöling [Tue, 6 Feb 2018 10:10:34 +0000 (11:10 +0100)]
modules/fallback: Module entfernt.

In modules/fallback sollten nur module stehen die:

a) für installationcheck gebraucht werden oder
b) nicht per apt installierbar sind

Das gilt für die folgenden Module schon lange nicht mehr:

* DateTime::Set
* Email::Address
* List::MoreUtils
* List::UtilsBy
* PBKDF2::Tiny
* Regexp::IPv6
* Set::Infinite
* String::ShellQuote
* parent

Dabei waren DateTime::Set und Set::Infinite als Anhängigkeiten von
DateTime::Event::Cron reingekommen, das gibt es aber zusammen mit
Set::Crontab immernoch nicht in apt, also ist das weiter im fallback.

List::MoreUtils und List::UtilsBy sind meine ich für Debian 5
reingekommen, die Pakete sind aber seit Ewigkeiten in apt verfügbar.

parent ist seit 5.10.1 ein coremodul.

Die anderen wurden anscheinend einfach so reingeworfen, und hätten da
nie drin sein sollen.

6 years agoscripts/dbupgrade2_tool.pl: Datenbankverbindungen mit SL::DB->client
Sven Schöling [Mon, 5 Feb 2018 13:28:05 +0000 (14:28 +0100)]
scripts/dbupgrade2_tool.pl: Datenbankverbindungen mit SL::DB->client

6 years agoAM::_get_warehouse: schnelleres Query
Sven Schöling [Mon, 5 Feb 2018 13:24:25 +0000 (14:24 +0100)]
AM::_get_warehouse: schnelleres Query

Das alte war extrem langsam für Installationen mit vielen Lagerplätzen

6 years agoTypo in POD
G. Richardson [Fri, 2 Feb 2018 13:39:14 +0000 (14:39 +0100)]
Typo in POD

6 years agoAufträge speichern: Warnung bzgl. existierender wiederkehrender Rechnungen gefixt
Moritz Bunkus [Wed, 31 Jan 2018 13:55:36 +0000 (14:55 +0100)]
Aufträge speichern: Warnung bzgl. existierender wiederkehrender Rechnungen gefixt

Behebt #341.

6 years agoDatepicker bei vorauss. Auftragsdatum: kein 'BL' mehr
Bernd Bleßmann [Wed, 31 Jan 2018 13:10:25 +0000 (14:10 +0100)]
Datepicker bei vorauss. Auftragsdatum: kein 'BL' mehr

Das war evtl. da, um den Datepicker bottom-left anzuzeigen, aber so geht das
nicht.

6 years agoPriceSource: unknown Flag um "fast" korrekt durchzureichen
Sven Schöling [Tue, 30 Jan 2018 09:59:40 +0000 (10:59 +0100)]
PriceSource: unknown Flag um "fast" korrekt durchzureichen

6 years agoPriceSource: fast Flag für zukünftige Performanceoptimierungen
Sven Schöling [Tue, 30 Jan 2018 09:59:07 +0000 (10:59 +0100)]
PriceSource: fast Flag für zukünftige Performanceoptimierungen

6 years agoCsvImport: Makemodels bei bestehenden Waren stabil sortieren
Sven Schöling [Mon, 29 Jan 2018 16:54:11 +0000 (17:54 +0100)]
CsvImport: Makemodels bei bestehenden Waren stabil sortieren

6 years agoPart: makemodels_sorted accessor
Sven Schöling [Mon, 29 Jan 2018 16:53:42 +0000 (17:53 +0100)]
Part: makemodels_sorted accessor

6 years agoMakemodel Manager mit _sort_spec
Sven Schöling [Mon, 29 Jan 2018 16:52:57 +0000 (17:52 +0100)]
Makemodel Manager mit _sort_spec

6 years agojsTree: keine globalen Key-Handler installieren
Moritz Bunkus [Mon, 29 Jan 2018 16:02:32 +0000 (17:02 +0100)]
jsTree: keine globalen Key-Handler installieren

Sollen wohl für Keyboard-Navigation im Baum sorgen — obwohl es dafür
extra ein jsTree-Plugin gibt. Leider kollidiert der Handler für Space
mit der Art, wie das inline_resize-Plugin des ckEditors seine Handler
registriert. Effekt war, dass die Leertaste dann nicht mehr beim
ckEditor ankam.

Behebt #306.

6 years agoAuftrags-Controller: Konfiguration wiederkehrender Rechnungen.
Bernd Bleßmann [Mon, 29 Jan 2018 12:23:57 +0000 (13:23 +0100)]
Auftrags-Controller: Konfiguration wiederkehrender Rechnungen.

6 years agoWiederkehrende Rechnungen: Template als Popup-Dialog verwenden können.
Bernd Bleßmann [Mon, 29 Jan 2018 12:22:46 +0000 (13:22 +0100)]
Wiederkehrende Rechnungen: Template als Popup-Dialog verwenden können.

Dazu wird die Variable popup_dialog ausgewertet und es können
js-Rückkehrfunktionen für Abbruch und Übernehmen übergeben werden.

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.