kivitendo-erp.git
8 years agoDB-Upgrade: Queries nicht in der Schleife preparen
Sven Schöling [Thu, 21 Apr 2016 17:26:48 +0000 (19:26 +0200)]
DB-Upgrade: Queries nicht in der Schleife preparen

Datenbank mit 100k invoice Einträgen braucht Jahre sonst.

8 years agoWiederkehrende Rechnungen: Variablen Periodenstart-/-enddatum richtig setzen
Moritz Bunkus [Thu, 21 Apr 2016 13:14:51 +0000 (15:14 +0200)]
Wiederkehrende Rechnungen: Variablen Periodenstart-/-enddatum richtig setzen

Die Perioden beginnen nicht mehr immer nur am 1. des Monats, sondern an
dem Tag, der über das Vertragsstartdatum angegeben ist. Daher müssen
auch die Variablen <%period_start_date%> und <%period_end_date%> anhand
des Vertragsstartdatums gesetzt und dürfen nicht auf den Monatsbeginn
beschnitten werden.

8 years agoKeine Default Exporte mehr in den main:: space
Sven Schöling [Thu, 21 Apr 2016 11:10:28 +0000 (13:10 +0200)]
Keine Default Exporte mehr in den main:: space

Ich hoffe ich habe alle erwischt. Dieser Commit, macht folgendes:

Exports in den main:: space passieren immer, wenn ein bin/mozilla/
script ein Modul einbindet, das @EXPORT setzt.

Laut meiner ack/grep Magie sind das SL::MoreCommon und SL::Helper::Flash
gewesen.

In beiden Fällen waren das importe, wo die eigentlichen Funktionen
vorher im main:: space gelegen haben und dann nachträglich in ein Modul
verschoben wurden.

Ich habe also:

1. Im script selber die Exportliste exakt auf die Funktionen gesetzt die
das script selber benutzt, gefunden mit dem oneliner:

 perl -MSL::Helper::Flash -nle 'my $re = join "|", \
       @SL::Helper::Flash::EXPORT; print $1 if /($re)/' bin/mozilla/dn.pl \
       | sort | uniq

Das waren in Flash: flash und in MoreCommon: save_form und restore_form.

2. Für den Fall, dass andere scripte im main:: Space diese Funktionen
benutzen alle anderen bin/mozilla Scripte nach diesen Funktionen
durchsucht, und für den Fall dass sie _nicht_ selber ein require
b/m/common.pl machen die entsprechenden imports hinzugefügt.

8 years agoAuth: DBUtils nicht den namespace vollmüllen lassen
Sven Schöling [Thu, 21 Apr 2016 09:57:28 +0000 (11:57 +0200)]
Auth: DBUtils nicht den namespace vollmüllen lassen

8 years agocommon: DBUtils nicht den main:: space vollmüllen lassen
Sven Schöling [Thu, 21 Apr 2016 09:56:49 +0000 (11:56 +0200)]
common: DBUtils nicht den main:: space vollmüllen lassen

8 years agoDBUtils: doku
Sven Schöling [Thu, 21 Apr 2016 09:56:36 +0000 (11:56 +0200)]
DBUtils: doku

8 years agoBrieffunktion: Umstellung Druck auf Template Toolkit
Moritz Bunkus [Wed, 20 Apr 2016 13:46:17 +0000 (15:46 +0200)]
Brieffunktion: Umstellung Druck auf Template Toolkit

Damit wird auch alter Backendcode wie IS->get_customer() nicht mehr
benötigt.

8 years agoBrieffunktion: Löschen von Entwürfen gefixt
Moritz Bunkus [Wed, 20 Apr 2016 12:09:09 +0000 (14:09 +0200)]
Brieffunktion: Löschen von Entwürfen gefixt

8 years agoBrieffunktion: Werte in Entwurfsliste richtig formatieren
Moritz Bunkus [Wed, 20 Apr 2016 11:56:18 +0000 (13:56 +0200)]
Brieffunktion: Werte in Entwurfsliste richtig formatieren

8 years agoBrieffunktion: unbenutzte Tabellenspalten entfernt, vc_id → customer_id umbenannt
Moritz Bunkus [Wed, 20 Apr 2016 11:52:16 +0000 (13:52 +0200)]
Brieffunktion: unbenutzte Tabellenspalten entfernt, vc_id → customer_id umbenannt

8 years agoWiederkehrende Rechnungen: Hinweis für leeres Feld »AbsenderIn« noch deutlicher
Moritz Bunkus [Wed, 20 Apr 2016 10:36:59 +0000 (12:36 +0200)]
Wiederkehrende Rechnungen: Hinweis für leeres Feld »AbsenderIn« noch deutlicher

8 years agoWiederkehrende Rechnungen: Hinweis für leeres Feld »AbsenderIn«
Moritz Bunkus [Wed, 20 Apr 2016 09:56:06 +0000 (11:56 +0200)]
Wiederkehrende Rechnungen: Hinweis für leeres Feld »AbsenderIn«

8 years agoWiederkehrende Rechnungen: Feld für E-Mail-Absender richtig togglen
Moritz Bunkus [Wed, 20 Apr 2016 09:55:42 +0000 (11:55 +0200)]
Wiederkehrende Rechnungen: Feld für E-Mail-Absender richtig togglen

8 years agoWebDAV-Liste: noch mehr Styling
Moritz Bunkus [Wed, 20 Apr 2016 09:55:16 +0000 (11:55 +0200)]
WebDAV-Liste: noch mehr Styling

8 years agoBrieffunktion: WebDAV-Verzeichnisinhalt anzeigen
Moritz Bunkus [Wed, 20 Apr 2016 09:06:06 +0000 (11:06 +0200)]
Brieffunktion: WebDAV-Verzeichnisinhalt anzeigen

8 years agoWebDAV: freundliche Meldung anstelle leerer Tabelle, wenn keine Dokumente vorhanden
Moritz Bunkus [Wed, 20 Apr 2016 09:05:41 +0000 (11:05 +0200)]
WebDAV: freundliche Meldung anstelle leerer Tabelle, wenn keine Dokumente vorhanden

8 years agoWebDAV-Liste analog zu anderen Tabellen stylen
Moritz Bunkus [Wed, 20 Apr 2016 09:02:51 +0000 (11:02 +0200)]
WebDAV-Liste analog zu anderen Tabellen stylen

8 years agoChangelog: Update
Moritz Bunkus [Tue, 19 Apr 2016 13:51:34 +0000 (15:51 +0200)]
Changelog: Update

8 years agoChangelog: Punkte für Brieffunktion optisch abgesetzt
Moritz Bunkus [Tue, 19 Apr 2016 13:48:23 +0000 (15:48 +0200)]
Changelog: Punkte für Brieffunktion optisch abgesetzt

8 years agoWiederkerende Rechnungen: Implementation automatischer Versand via E-Mail
Moritz Bunkus [Tue, 19 Apr 2016 13:47:05 +0000 (15:47 +0200)]
Wiederkerende Rechnungen: Implementation automatischer Versand via E-Mail

8 years agoWiederkerende Rechnungen: Konfiguration für automatischen Versand via E-Mail
Moritz Bunkus [Tue, 19 Apr 2016 08:43:43 +0000 (10:43 +0200)]
Wiederkerende Rechnungen: Konfiguration für automatischen Versand via E-Mail

8 years agolocales für Brief-Anpassungen
Moritz Bunkus [Tue, 19 Apr 2016 08:45:51 +0000 (10:45 +0200)]
locales für Brief-Anpassungen

8 years agoRevert "Einheiten beim Fertigen beachten"
Jan Büren [Tue, 19 Apr 2016 13:21:29 +0000 (15:21 +0200)]
Revert "Einheiten beim Fertigen beachten"

This reverts commit be6eabfc4b62af1a8173e5cbcaff0b7f0d9b6db4.

Nein, das war kein Fix für http://trac.kivitendo.de/ticket/2232

Implementiert wurde (imho):
  a) Wenn es eine gültige Einheit gibt
  b) Dann nimm das erstbeste Einzelteil einer Erzeugnis-Ware
  c) und konvertiere die ausgewählte Einheit des Erzeugnis in die Einheit
     der erstbesten Erzeugnis-Ware.

Conflicts:
SL/WH.pm

8 years agoErzeugnis fertigen verbessert
Jan Büren [Tue, 19 Apr 2016 13:10:52 +0000 (15:10 +0200)]
Erzeugnis fertigen verbessert

Transfertyp assembled hinzugefügt
Bei gefertigten Erzeugnissen sowie bei verbrauchten Waren
das tagesaktuelle Datum gesetzt (vorher wurde gar keins gesetzt).

8 years agoRechnung aus Lieferscheinen hat keine Zahlungsbedingung
Martin Helmling mh@waldpark.octosoft.eu [Tue, 19 Apr 2016 11:14:56 +0000 (13:14 +0200)]
Rechnung aus Lieferscheinen hat keine Zahlungsbedingung

Hier wird nun die Zahlungsbedingung des Kunden oder Lieferanten genommen,
falls dieser eine hat

8 years agoVerkauf/Rechnungen/Massenerstellung: keine Zahlungsbedingungen
Martin Helmling mh@waldpark.octosoft.eu [Tue, 19 Apr 2016 11:11:13 +0000 (13:11 +0200)]
Verkauf/Rechnungen/Massenerstellung: keine Zahlungsbedingungen

Falls im Lieferschein keine Zahlungsbedingungen gesetzt sind, (normalerweise nicht)
wird die des Kunden für die Rechnung eingesetzt

8 years agotrailing whitespace entfernt
Bernd Bleßmann [Tue, 19 Apr 2016 09:41:36 +0000 (11:41 +0200)]
trailing whitespace entfernt

8 years agoGelieferte Mengen über Recordlinks ermitteln(2)
Martin Helmling mh@waldpark.octosoft.eu [Mon, 18 Apr 2016 17:00:46 +0000 (19:00 +0200)]
Gelieferte Mengen über Recordlinks ermitteln(2)

Für den Verschönerungsverein einige Stilanpassungen

8 years agoBrieffunktion: Versand per E-Mail implementiert
Moritz Bunkus [Mon, 18 Apr 2016 15:47:28 +0000 (17:47 +0200)]
Brieffunktion: Versand per E-Mail implementiert

8 years agoBrieffunktion: Ansprechpersonen anbieten, wenn Kunde/Lieferant ausgewählt
Moritz Bunkus [Mon, 18 Apr 2016 15:09:17 +0000 (17:09 +0200)]
Brieffunktion: Ansprechpersonen anbieten, wenn Kunde/Lieferant ausgewählt

8 years agoBrieffunktion: Nutzung von SL::Webdav zur Speicherung im Webdav
Moritz Bunkus [Mon, 18 Apr 2016 13:58:38 +0000 (15:58 +0200)]
Brieffunktion: Nutzung von SL::Webdav zur Speicherung im Webdav

Common::copy_file_to_webdav_folder ist alter Code, der bei neuem Code
nicht mehr benutzt werden sollte.

8 years agoBrieffunktion: Drucken auf Drucker gefixt
Moritz Bunkus [Mon, 18 Apr 2016 13:26:22 +0000 (15:26 +0200)]
Brieffunktion: Drucken auf Drucker gefixt

1. Drucker wurden nicht geladen. Daher gab's die Option zum Drucken
   direkt auf einen Drucker nicht.

2. Temporäre Druckedateien wurden anschließend nicht gelöscht.

3. Der anschließende Redirect nutzte falsche Variablen und hat daher de
   facto auf die Maske zum Anlegen eines neuen Briefs redirectet.

8 years agoSL::DB::Printer: »Dokument an Drucker schicken« zentralisiert
Moritz Bunkus [Mon, 18 Apr 2016 13:19:37 +0000 (15:19 +0200)]
SL::DB::Printer: »Dokument an Drucker schicken« zentralisiert

Die neue Funktion print_document übernimmt das Spawnen des externen
Prozesses und schickt das Dokument an den Drucker. Das Dokument kann
entweder direkt als Inhalt oder als zu sendender Dateiname übergeben
werden.

8 years agoBrieffunktion: Löschen von Briefen gefixt
Moritz Bunkus [Mon, 18 Apr 2016 12:51:06 +0000 (14:51 +0200)]
Brieffunktion: Löschen von Briefen gefixt

8 years agoBrieffunktion: beim Drucken im WebDAV speichern
Moritz Bunkus [Mon, 18 Apr 2016 12:45:09 +0000 (14:45 +0200)]
Brieffunktion: beim Drucken im WebDAV speichern

8 years ago(I)LIKE-Argumente immer mit Funktion SL::DBUtils::like erstellen
Moritz Bunkus [Mon, 18 Apr 2016 10:43:32 +0000 (12:43 +0200)]
(I)LIKE-Argumente immer mit Funktion SL::DBUtils::like erstellen

8 years agoSL::Common: unbenutzte Funktionen retrieve_{projects,employees} entfernt
Moritz Bunkus [Mon, 18 Apr 2016 09:37:10 +0000 (11:37 +0200)]
SL::Common: unbenutzte Funktionen retrieve_{projects,employees} entfernt

8 years agoFunktion »like« von Form nach DBUtils verschoben
Moritz Bunkus [Mon, 18 Apr 2016 08:04:18 +0000 (10:04 +0200)]
Funktion »like« von Form nach DBUtils verschoben

Das ist eine Datenbank-Quoting-Funktion und hat daher nichts mehr in
Form zu suchen.

8 years agoGelieferte Mengen über Recordlinks ermitteln
Martin Helmling mh@waldpark.octosoft.eu [Sun, 17 Apr 2016 11:13:26 +0000 (13:13 +0200)]
Gelieferte Mengen über Recordlinks ermitteln

Die gelieferte Menge pro Position wird über die Recordlinks der Items
zwischen Auftrag und Lieferschein(en) ermittelt.
So werden auch gleiche Artikel auf unterschiedlichen Positionen getrennt behandelt.

Ebenso ob ein Auftrag 'delivered' ist, d.h. ob alle Mengen vollständig in Lieferscheinen erfasst sind.

Für nachträglich hinzugefügte Lieferscheine oder Lieferscheine ohne Item-Recodlinks wird ein
Fallback-Verfahren durchgeführt, das beginnend von der ersten Auftragsposition
versucht die Artikel in den Lieferscheinen zuzuordnen.

8 years agoMenu: Fehlerchecks beim yaml einlesen
Sven Schöling [Fri, 15 Apr 2016 17:18:58 +0000 (19:18 +0200)]
Menu: Fehlerchecks beim yaml einlesen

2 häufige Fehler abfangen:
  - wenn ids in einer datei doppelt vorkommen (passiert beim editieren)
  - wenn YAML selber Fehler wirft gab es bisher ein HTTP 500

8 years agoPartPicker: partnumber und description durchgängig
Martin Helmling mh@waldpark.octosoft.eu [Fri, 15 Apr 2016 14:38:48 +0000 (16:38 +0200)]
PartPicker: partnumber und description durchgängig

Aus dem Dialog wurden 'partnumber' und 'description' nicht an set_item() übergeben.
Konsistent zur Auswahl aus dem Pulldown des Partpicker.

(vorher musste man 'set_fat_item=1' setzen, um an die Daten zu kommen, aber zusätzlicher AJAX-Call)

8 years agoSepa-Überw: Fehlermeldung beim Überweisen mit Skonto
Martin Helmling mh@waldpark.octosoft.eu [Fri, 15 Apr 2016 14:23:49 +0000 (16:23 +0200)]
Sepa-Überw: Fehlermeldung beim Überweisen mit Skonto

Hier fehlte eine Abfrage. Fehlermeldung auf die Zahlungsart beziehen

8 years agoGelangensbestätigung: LaTeX-Druckvorlage, Doku und Übersetzung
Jan Büren [Fri, 15 Apr 2016 08:31:10 +0000 (10:31 +0200)]
Gelangensbestätigung: LaTeX-Druckvorlage, Doku und Übersetzung

8 years agoGelangensbestätigung als Weiche in io.pl UND Helper PrintOptions.pm
Jan Büren [Sat, 30 Jan 2016 15:29:28 +0000 (16:29 +0100)]
Gelangensbestätigung als Weiche in io.pl UND Helper PrintOptions.pm

8 years ago5.10 compat: mehr yada-yada ops
Sven Schöling [Tue, 12 Apr 2016 14:45:40 +0000 (16:45 +0200)]
5.10 compat: mehr yada-yada ops

(nach ... acken ist nicht trivial)

8 years agoperl5.10 compat: ellipsis (yada-ayada) ist da syntax error
Sven Schöling [Tue, 12 Apr 2016 14:36:11 +0000 (16:36 +0200)]
perl5.10 compat: ellipsis (yada-ayada) ist da syntax error

8 years agoDATEV: Debitoren/Kreditoren Split gilt nicht in Dialogbuchen
Sven Schöling [Mon, 11 Apr 2016 10:05:18 +0000 (12:05 +0200)]
DATEV: Debitoren/Kreditoren Split gilt nicht in Dialogbuchen

8 years agoR&B Druckvorlagen - mehr Seitenbreite + Logo breiter + Footer hoch
G. Richardson [Fri, 8 Apr 2016 10:04:27 +0000 (12:04 +0200)]
R&B Druckvorlagen - mehr Seitenbreite + Logo breiter + Footer hoch

8 years agoGuV und BWA: Bei Projektfilter Zeitraum richtig setzen
Jan Büren [Fri, 8 Apr 2016 08:43:32 +0000 (10:43 +0200)]
GuV und BWA: Bei Projektfilter Zeitraum richtig setzen

8 years agoOffene Forderungen/Verbindlichkeiten: bei Textfeldern führende/anhängende Whitespaces...
Moritz Bunkus [Thu, 7 Apr 2016 11:17:38 +0000 (13:17 +0200)]
Offene Forderungen/Verbindlichkeiten: bei Textfeldern führende/anhängende Whitespaces entfernen

8 years agoBuchungsjournal: bei Textfeldern führende/anhängende Whitespaces entfernen
Moritz Bunkus [Thu, 7 Apr 2016 11:15:47 +0000 (13:15 +0200)]
Buchungsjournal: bei Textfeldern führende/anhängende Whitespaces entfernen

8 years agoLagersuchen: bei Textfeldern führende/anhängende Whitespaces entfernen
Moritz Bunkus [Thu, 7 Apr 2016 11:11:03 +0000 (13:11 +0200)]
Lagersuchen: bei Textfeldern führende/anhängende Whitespaces entfernen

8 years agoArtikelsuche: bei Textfeldern führende/anhängende Whitespaces entfernen
Moritz Bunkus [Thu, 7 Apr 2016 11:02:33 +0000 (13:02 +0200)]
Artikelsuche: bei Textfeldern führende/anhängende Whitespaces entfernen

8 years agoSL::DB::Object: warnings
Sven Schöling [Wed, 6 Apr 2016 16:22:42 +0000 (18:22 +0200)]
SL::DB::Object: warnings

8 years agoForm: globals nicht mehr beim Drucken in Form ablegen
Sven Schöling [Wed, 6 Apr 2016 15:36:51 +0000 (17:36 +0200)]
Form: globals nicht mehr beim Drucken in Form ablegen

8 years agoSL::Controller->send_file: trueish zurückgeben
Moritz Bunkus [Wed, 6 Apr 2016 14:45:50 +0000 (16:45 +0200)]
SL::Controller->send_file: trueish zurückgeben

send_file meldet Fehler (z.B. »kann Datei nicht öffnen«) durch
croak(). Im Erfolgsfall sollte die Funktion aber regulär einen wahren
Wert zurückgeben, um ordentlich in eval{} benutzt werden zu können.

8 years agoSL::DB::Object: clone_and_reset unter Umgehung von itime, mtime
Moritz Bunkus [Fri, 17 Jul 2015 16:16:14 +0000 (18:16 +0200)]
SL::DB::Object: clone_and_reset unter Umgehung von itime, mtime

8 years agoCVar: Shipto-CVars beim Clonen mit clonen
Moritz Bunkus [Wed, 6 Apr 2016 12:26:17 +0000 (14:26 +0200)]
CVar: Shipto-CVars beim Clonen mit clonen

8 years agoSL::DB::Invoice->new_from: individuelle Lieferadressen richtig behandeln
Moritz Bunkus [Wed, 6 Apr 2016 12:16:17 +0000 (14:16 +0200)]
SL::DB::Invoice->new_from: individuelle Lieferadressen richtig behandeln

Individuelle Lieferadressen werden nur von shipto.trans_id zu ar.id
verlinkt, nicht aber in ar.shipto_id. Die Implementation ist analog zu
SL::DB::DeliveryOrder->new_from.

8 years agoDeliveryOrder->new_from: kein $custom_shipto-Objekt zurückgeben
Moritz Bunkus [Wed, 6 Apr 2016 11:59:31 +0000 (13:59 +0200)]
DeliveryOrder->new_from: kein $custom_shipto-Objekt zurückgeben

Falls das Quellobjekt eine individuelle Lieferadresse besaß, wurden bei
new_from() zwei Objekte zurückgegeben: das neue Lieferscheinobjekt und
ein Clone der individuellen Lieferadresse. Diese waren nicht verknüpft.
Der Aufrufer musste daher zuerst das Lieferscheinobjekt speichern,
dessen ID beim gecloneten Lieferadressenobjekt hinterlegen und das
anschließend speichern.

Dies ist umständlich und fehlerträchtig. So hat z.B. der einzige
bisherige Nutzer dieses Interfaces,
SL::DB::Order->convert_to_delivery_order, das bereits falsch gemacht und
vergessen, beim Lieferadressenobjekt die ID des neuen
Lieferscheinobjektes einzutragen. Somit wurden Lieferadressen erzeugt,
die keinerlei Verknüpfung hatten.

Das geänderte Interface hinterlegt das Objekt für die individuelle
Lieferadresse schlicht in $new_delivery_order->custom_shipto. Dort wird
das Objekt gespeichert, wenn der Lieferschein selber gespeichert wird.

8 years agoShipto: Methode zum Clonen in SL::DB::Shipto und nicht in DeliveryOrder->new_from
Moritz Bunkus [Wed, 6 Apr 2016 11:58:04 +0000 (13:58 +0200)]
Shipto: Methode zum Clonen in SL::DB::Shipto und nicht in DeliveryOrder->new_from

8 years agoCVar: Dokumentation um Lieferadressen-CVars ergänzt
Moritz Bunkus [Tue, 5 Apr 2016 14:45:12 +0000 (16:45 +0200)]
CVar: Dokumentation um Lieferadressen-CVars ergänzt

8 years agoCVars: Lieferadressen-CVars bei Ein-/Verkaufsbelegen benutzen können
Moritz Bunkus [Tue, 5 Apr 2016 14:22:01 +0000 (16:22 +0200)]
CVars: Lieferadressen-CVars bei Ein-/Verkaufsbelegen benutzen können

8 years agoCVar-Helfer: cvars_by_config nach Config-Reihenfolge sortiert zurückgeben
Moritz Bunkus [Tue, 5 Apr 2016 12:13:21 +0000 (14:13 +0200)]
CVar-Helfer: cvars_by_config nach Config-Reihenfolge sortiert zurückgeben

8 years agoCVars: Lieferadressen-CVars in Stammdaten bearbeiten
Moritz Bunkus [Tue, 5 Apr 2016 10:43:53 +0000 (12:43 +0200)]
CVars: Lieferadressen-CVars in Stammdaten bearbeiten

8 years agoCVars: Konfigurationen für Lieferadressen anlegen können
Moritz Bunkus [Mon, 4 Apr 2016 14:06:18 +0000 (16:06 +0200)]
CVars: Konfigurationen für Lieferadressen anlegen können

8 years agoCustomerVendor: CVar-Aufbereitungs- und -Speicher-Code in eigene Subs ausgelagert
Moritz Bunkus [Tue, 5 Apr 2016 10:43:21 +0000 (12:43 +0200)]
CustomerVendor: CVar-Aufbereitungs- und -Speicher-Code in eigene Subs ausgelagert

8 years agoRevert "Bugfix zu manuelle Lieferadresse im Auftrag wird nicht in wiederkehrende...
Moritz Bunkus [Wed, 6 Apr 2016 11:53:25 +0000 (13:53 +0200)]
Revert "Bugfix zu manuelle Lieferadresse im Auftrag wird nicht in wiederkehrende Rechung übernommen"

This reverts commit f46afb13bacfe1d838cb4a7a5b5b58e8145ff4b1.

Wird durch einen folgenden Commit besser implementiert, nämlich direkt
in der Umwandlungsroutine von Auftragsobjekten zu Rechnungsobjekten.

8 years agoPDF::Table - fehlerhafte Headerbearbeitung ab Seite 2
Martin Helmling mh@waldpark.octosoft.eu [Mon, 4 Apr 2016 17:10:03 +0000 (19:10 +0200)]
PDF::Table - fehlerhafte Headerbearbeitung ab Seite 2

ab Seite 2 werden die benötigten Weiten der Spalten um die Zahl der Headerzeilen
nach hinten verschoben. Dann kommt es zu fehlenden Zeilenumbrüchen in manchen Zellen

Da Pushen von leerem Array führt zu diesem Fehler, d.h. es wird doppelt gepushed.
Dieser Fehler war schon in der alten PDF::Table

8 years agoJS: Debugcode entfernt
Moritz Bunkus [Mon, 4 Apr 2016 15:28:31 +0000 (17:28 +0200)]
JS: Debugcode entfernt

8 years agoJS: weniger getElementById nutzen
Moritz Bunkus [Mon, 4 Apr 2016 15:16:39 +0000 (17:16 +0200)]
JS: weniger getElementById nutzen

8 years agoJS: einige jshint-Warnungen bzgl. Vergleichsoperatoren gefixt
Moritz Bunkus [Mon, 4 Apr 2016 15:13:05 +0000 (17:13 +0200)]
JS: einige jshint-Warnungen bzgl. Vergleichsoperatoren gefixt

8 years agoJS: ineffizienten Funktionsaufruf gefixt (von jshint)
Moritz Bunkus [Mon, 4 Apr 2016 15:12:05 +0000 (17:12 +0200)]
JS: ineffizienten Funktionsaufruf gefixt (von jshint)

8 years agoJS: fehlende Klammern bei Konstruktor-Aufruf gefixt (von jshint)
Moritz Bunkus [Mon, 4 Apr 2016 15:11:41 +0000 (17:11 +0200)]
JS: fehlende Klammern bei Konstruktor-Aufruf gefixt (von jshint)

8 years agoJS: einige Scope-Fehler gefixt (von jshint)
Moritz Bunkus [Mon, 4 Apr 2016 15:10:31 +0000 (17:10 +0200)]
JS: einige Scope-Fehler gefixt (von jshint)

Variablengültigheit hängt nicht von {} ab, sondern gelten immer für die
ganze Funktion. Daher ergibt mehrfachess »var xyz« innerhalb einer
Funktion keinen Sinn.

8 years agojshint-Konfigurationsdatei hinzugefügt
Moritz Bunkus [Mon, 4 Apr 2016 15:09:33 +0000 (17:09 +0200)]
jshint-Konfigurationsdatei hinzugefügt

Diverse Stile, die bei kivitendo verwendet werden, benötigen manuelle
Einstellungen.

8 years agoKunden-/Lieferantenstammdaten: Feldbeschriftungen einheitlich rechtsbündig anzeigen
Moritz Bunkus [Mon, 4 Apr 2016 14:20:31 +0000 (16:20 +0200)]
Kunden-/Lieferantenstammdaten: Feldbeschriftungen einheitlich rechtsbündig anzeigen

8 years agoReapply "country_mode entfernt."
Rolf Fluehmann [Mon, 4 Apr 2016 11:47:46 +0000 (13:47 +0200)]
Reapply "country_mode entfernt."

Mit mit neuem Autor neu.

8 years agoRevert "country_mode entfernt."
Sven Schöling [Mon, 4 Apr 2016 11:46:16 +0000 (13:46 +0200)]
Revert "country_mode entfernt."

Originalcommit: b05b5075ac0f3cbb0823c2f513cdbcacfb17bede.

8 years agoReapply "Form: round_amount precision support"
Sven Schöling [Mon, 4 Apr 2016 11:39:32 +0000 (13:39 +0200)]
Reapply "Form: round_amount precision support"

Und mit neuer Autorschaft neu.

8 years agoRevert "Form: round_amount precision support"
Sven Schöling [Mon, 4 Apr 2016 11:38:54 +0000 (13:38 +0200)]
Revert "Form: round_amount precision support"

Originalcommit: 73a78da630ce363f70062447dd82a8a0ece8cd89

8 years agoEinkaufs-/Verkaufssuchen: bei Textfeldern führende/anhängende Whitespaces entfernen
Moritz Bunkus [Fri, 1 Apr 2016 15:19:46 +0000 (17:19 +0200)]
Einkaufs-/Verkaufssuchen: bei Textfeldern führende/anhängende Whitespaces entfernen

8 years agoParseFilter: neuer Filter "trim"
Sven Schöling [Fri, 1 Apr 2016 14:54:21 +0000 (16:54 +0200)]
ParseFilter: neuer Filter "trim"

Ausserdem autotrim bei substr, head und tail Filtern

8 years agotrim-Funktion zum Entfernen führender und anhängender Whitespaces
Moritz Bunkus [Fri, 1 Apr 2016 14:41:49 +0000 (16:41 +0200)]
trim-Funktion zum Entfernen führender und anhängender Whitespaces

8 years agoReportGenerator: Unterstützung für raw_header_data-Attribut in Spaltendefinitionen
Moritz Bunkus [Fri, 1 Apr 2016 15:12:52 +0000 (17:12 +0200)]
ReportGenerator: Unterstützung für raw_header_data-Attribut in Spaltendefinitionen

Zuerst wurde dieses Attribut in Anlehnung an das Attribut bei den
Positionszeilen "raw_data" genannt. Leider kollidiert "raw_data" mit der
Benutzung des ReportGenerators aus dem Controller-Helfer-Modul
SL::Controller::ReportGenerator. Dieser verwendet "raw_data" in den
Spaltendefinitionen bereits für Defaults für die Erzeugung der
Positionszeilen.

Daher nun die Umbenennung des neuen Attributes nach "raw_header_data".

8 years agoTopQuickSearch: Bei CustomerVendor redirects immer db mitgeben
Sven Schöling [Fri, 1 Apr 2016 11:13:44 +0000 (13:13 +0200)]
TopQuickSearch: Bei CustomerVendor redirects immer db mitgeben

8 years agoQuickSearch: nicht anzeigen, wenn Datenbankupgrades eingespielt werden müssen
Moritz Bunkus [Fri, 1 Apr 2016 09:13:16 +0000 (11:13 +0200)]
QuickSearch: nicht anzeigen, wenn Datenbankupgrades eingespielt werden müssen

QuickSearch hat seine Konfiguration in gewissen Spalten in der
Datenbank. Um auf diese zugreifen zu können, müssen die dazugehörigen
Datenbankupgrades bereits eingespielt worden sein.

Da das Menü und damit die QuickSearch-Items auch während des Einspielens
der Upgrades angezeigt werden, kann es also dazu führen, dass die
Spalten noch nicht existieren. Daher wird QuickSearch nun komplett
deaktiviert, solange ausstehende Datenbankupgrades existieren.

8 years agoRechnungen: Massenausdruck aus alter Rechnungssuche heraus
Moritz Bunkus [Fri, 1 Apr 2016 08:34:41 +0000 (10:34 +0200)]
Rechnungen: Massenausdruck aus alter Rechnungssuche heraus

8 years agoPresenter: hidden_tag, javascript, checkbox_tag von L → Presenter::Tag verschoben
Moritz Bunkus [Fri, 1 Apr 2016 08:28:41 +0000 (10:28 +0200)]
Presenter: hidden_tag, javascript, checkbox_tag von L → Presenter::Tag verschoben

Damit sind diese Funktionen auch direkt aus Perl-Code verfügbar, und man
muss nicht mehr das unsägliche CGI benutzen, um Checkboxen zu rendern.

8 years agoReportGenerator: Unterstützung für raw_data-Attribut in Spaltendefinitionen
Moritz Bunkus [Fri, 1 Apr 2016 08:27:28 +0000 (10:27 +0200)]
ReportGenerator: Unterstützung für raw_data-Attribut in Spaltendefinitionen

Analog zu Zellendaten: ist bei einer Spaltenüberschrift raw_data
gesetzt, so wird das ausgegeben. Nur andernfalls werden die Attribute
link, text und der Sortier-Indikator ausgegeben.

Damit ist es z.B. möglich, in der Spaltenüberschrift eine
»Check-All«-Checkbox zu rendern.

8 years agoSL::DB::Note: Funktion trans_object zum Auslesen des referenzierten Objekts
Moritz Bunkus [Fri, 1 Apr 2016 07:39:29 +0000 (09:39 +0200)]
SL::DB::Note: Funktion trans_object zum Auslesen des referenzierten Objekts

Ein Note-Objekt hängt immer an einem anderen Datenbankobject, das über
trans_module+trans_id referenziert wird. Diese Funktion entscheidet
anhand von trans_module, welche Rose-Klasse zu instantiieren ist, holt
das entsprechende Objekt aus der Datenbank und gibt es zurück.

Auch bei polymorphen Objekten wie Kunden/Lieferanten (für trans_module
== ct) wird das richtige getan.

8 years agoCustomerVendor-Presenter: neue Funktion customer_vendor()
Moritz Bunkus [Fri, 1 Apr 2016 07:34:42 +0000 (09:34 +0200)]
CustomerVendor-Presenter: neue Funktion customer_vendor()

Damit der Aufrufer nicht im Vorfeld entscheiden muss, ob $object ein
Kunde oder ein Lieferant ist.

8 years agoS:D:FollowUp: Namen der Relationen created_by…/created_for… eindeutig gemacht
Moritz Bunkus [Thu, 31 Mar 2016 13:31:32 +0000 (15:31 +0200)]
S:D:FollowUp: Namen der Relationen created_by…/created_for… eindeutig gemacht

Die Spalten heißen leider created_by und created_for_user. Damit es bei
der Benutzung nicht zu Verwirrungen zwischen Spaltennamen und den Namen
der Relationships kommt, werden die Relationshipnamen schlicht eindeutig
umbenannt.

Bisher hat kein Rose-Code diese Relationships genutzt. Nur der
CustomerVendor-Controller hat die Spaltennamen benutzt.

8 years ago.mailmap für git-shortlog -s
Sven Schöling [Wed, 30 Mar 2016 17:10:41 +0000 (19:10 +0200)]
.mailmap für git-shortlog -s

3 commits konnte ich nicht zuordnen:
- digifoto <digifoto@kivitendo.digifoto24.com>
- root <root@test.cine-logistics.de>
- root <root@vc-kivi.vitracom.org>

8 years agoDBUpgrade2: may_fail für reine sql Queries auch honorieren.
Sven Schöling [Wed, 30 Mar 2016 09:29:34 +0000 (11:29 +0200)]
DBUpgrade2: may_fail für reine sql Queries auch honorieren.

8 years agoLXDebug: beim Request-Timer auch die aufgerufene Controller+Action loggen
Moritz Bunkus [Tue, 29 Mar 2016 14:24:54 +0000 (16:24 +0200)]
LXDebug: beim Request-Timer auch die aufgerufene Controller+Action loggen

8 years agoTopQuickSearch für Kunden und Lieferanten
G. Richardson [Sat, 26 Mar 2016 16:20:07 +0000 (17:20 +0100)]
TopQuickSearch für Kunden und Lieferanten

8 years agoWhitespace in Kontennamen filtern
G. Richardson [Sat, 26 Mar 2016 10:54:32 +0000 (11:54 +0100)]
Whitespace in Kontennamen filtern

Beim Speichern von Konten in der Kontenbeschreibung mehrere
aufeinanderfolgende Leerzeichen mit einem Leerzeichen ersetzen.
Siehe Ticket 148.

8 years agoKonten speichern - Refaktoring von ->{link}
G. Richardson [Sat, 26 Mar 2016 10:53:52 +0000 (11:53 +0100)]
Konten speichern - Refaktoring von ->{link}

8 years agoFehler beim Öffnen von Konten behoben
G. Richardson [Sat, 26 Mar 2016 10:50:40 +0000 (11:50 +0100)]
Fehler beim Öffnen von Konten behoben

Jedes Konto hat einen taxkey Eintrag, aber es gibt nicht immer ein
Steuerautomatikkonto.