kivitendo-erp.git
8 years agoEndlosschleife im PDF-Tabellenmodul und damit im PDF-Export gefixt
Sven Schöling [Thu, 25 Feb 2016 14:51:05 +0000 (15:51 +0100)]
Endlosschleife im PDF-Tabellenmodul und damit im PDF-Export gefixt

Wenn die Tabelle zu breit wird und dann irgendwann nicht einmal mehr ein
Wort in eine Zeile passt, dann muss das Wort trotzdem gesetzt werden;
andernfalls würde das PDF::Table-Modul in einer Endlosschleife enden.

Fix für Bug 863.

Reimplementiert commit 23223ef4302931a6a141c659bfda7ef6c7546b77

8 years agoReportGenerator: Unterstützung für das Verbinden von Tabellenzellen mit dem "colspan...
Sven Schöling [Thu, 25 Feb 2016 14:44:34 +0000 (15:44 +0100)]
ReportGenerator: Unterstützung für das Verbinden von Tabellenzellen mit dem "colspan"-Attribut in der PDF-Ausgabe.

Reimplementiert a18cc3f5dedae1c8b541b10df3b67153518663a6

8 years agoReportGenerator: Unterstützung für mehrzeilige und individuell festgelegte Tabellenkö...
Sven Schöling [Thu, 25 Feb 2016 13:14:02 +0000 (14:14 +0100)]
ReportGenerator: Unterstützung für mehrzeilige und individuell festgelegte Tabellenköpfe/Spaltenüberschriften implementiert.

Reimplementiert den PDF/Table.pm Teil von 84ba8214f6f1e68de5fa317b8239a7888a4aac03

8 years agoUnterstützung für zellenübergreifende Überschriften im PDF-Export des ReportGenerator...
Sven Schöling [Thu, 25 Feb 2016 10:41:47 +0000 (11:41 +0100)]
Unterstützung für zellenübergreifende Überschriften im PDF-Export des ReportGenerators verbessert.

Reimplementation von d3897394

8 years agoPDF::Table update auf aktuelle Version aus git
Sven Schöling [Thu, 25 Feb 2016 10:11:45 +0000 (11:11 +0100)]
PDF::Table update auf aktuelle Version aus git

cpan speist sich aus https://github.com/kamenov/PDF-Table

Diese hier ist aktuell aus Commit 5a9f499

8 years agoHistory-Popup: callback übergeben, damit Sortierung funktioniert.
Bernd Bleßmann [Wed, 24 Feb 2016 15:50:16 +0000 (16:50 +0100)]
History-Popup: callback übergeben, damit Sortierung funktioniert.

Behebt #136 (redmine).

8 years agoRevert "Warnung in regex eliminiert"
Sven Schöling [Tue, 23 Feb 2016 10:01:32 +0000 (11:01 +0100)]
Revert "Warnung in regex eliminiert"

This reverts commit 5ba69d08849773c459086a0f96484046a845159e.

Was auch immer Du da machen wolltest martin, ein .*? in ein .+ umwandeln
ist garantiert Blödsinn.

8 years agoWarnung in regex eliminiert
Martin Helmling mh@waldpark.octosoft.eu [Tue, 23 Feb 2016 08:51:26 +0000 (09:51 +0100)]
Warnung in regex eliminiert

Folgende Meldung:
Useless use of greediness modifier '?' in regex; marked by <-- HERE in m/(\b\S{60}? <-- HERE )(\S.*?\b)/ at modules/override/PDF/Table.pm line 334.

Das .*? ersetzt durch .+

8 years agoTextanpassung und Saubere Linie bei Multiselect
Martin Helmling mh@waldpark.octosoft.eu [Tue, 23 Feb 2016 08:41:36 +0000 (09:41 +0100)]
Textanpassung und Saubere Linie bei Multiselect

Im Artikelselektor bei Multiselect besseren Titel, je nachdem ob multiselect an ist oder nicht.
Auch die horizontale Linie über alle Spalten,
wenn long_description in der Mandanntenkonfig gesetzt ist.

8 years agoStylesheet aus DefaultManager holen
Sven Schöling [Mon, 22 Feb 2016 15:40:33 +0000 (16:40 +0100)]
Stylesheet aus DefaultManager holen

Damit, und dem logo commit von eben, kann man das Aussehen der
Loginmaske personalisieren indem man ein Company css anglegt, und einen
Mini DefaultManager dazu baut, der einfach nur eine Funktion enthält:

  sub stylesheet { 'company.css' }

und das dann in der Config der jeweiligen Installation benutzt:

  [system]

  default_manager = company

Da sowohl css, als auch Defaultmanager nicht im Standard sind, ist damit
das erste mal möglich das Programm umzubranden ohne ständig
Codeänderungen beim rebase mitmergen zu müssen.

Und nun bleibt mir vom Leib mit eurem Mist.

8 years agoKlasse für das Kivitendo Logo
Sven Schöling [Mon, 22 Feb 2016 15:08:16 +0000 (16:08 +0100)]
Klasse für das Kivitendo Logo

Weil immer wieder Leute meinen Sie müssen das Programm mit Ihrem
Firmenlogo versehen (was nur natürlich ist, schließlich macht man das
auch mit Windows, Word, Excel, Outlook, Firefox und all den anderen
Programmen die man täglich so benutzt, damit man genau ein Icon 26x auf
dem Desktop liegen hat) hat das Logo jetzt eine Klasse damit man es in
einem Custom CSS ändern kann. Beispiel:

  img.kivitendo-logo {
    display: inline-block;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    background: url(../../image/<new_logo.png>) no-repeat;
    height: 183px;       /* Höhe des neuen Logos */
    width: 356px;        /* Breite des neuen Logos */
    padding-left: 356px; /* Breite des neuen Logos */
  }

8 years agoFreies Fälligkeitsdatum: richtige Variable an Berechnungsroutine weiterreichen
Moritz Bunkus [Mon, 22 Feb 2016 10:56:14 +0000 (11:56 +0100)]
Freies Fälligkeitsdatum: richtige Variable an Berechnungsroutine weiterreichen

Die Berechnungsroutine nutzt ein gesetztes Fälligkeitsdatum, wenn eine
freie Festlegung des Datums gewünscht ist. Leider heißt das Feld in der
Form »duedate« und nicht »due_due«. Der Effekt war, dass die
Berechnungsroutine dachte, es wäre kein Fälligkeitsdatum
gesetzt. Dadurch wurde in der Maske bei einem freien Fälligkeitsdatum
immer das Rechnungsdatum verwendet.

8 years agoSornorechnungen löschen können
Moritz Bunkus [Mon, 22 Feb 2016 10:45:18 +0000 (11:45 +0100)]
Sornorechnungen löschen können

Stornorechnungen (Rechnungsnummern »Storno zu 12345«), nicht aber
stornierte Rechnung (Rechnungsnummer »12345«), sollten vom Frontend her
löschbar sein, sofern die Mandantenkonfiguration dies
zulässt. Andernfalls hätte man keine Chance, eine fälschlicherweise
stornierte Rechnung wieder zu ent-stornieren.

Der Backendcode kann Stornorechnungen bereits seit langem richtig
löschen. Dadurch wird die stornierte Rechnung auch automatisch wieder
geöffnet.

8 years agoRechnungen: Sicherheitsnachfrage vor Stornierung
Moritz Bunkus [Mon, 22 Feb 2016 09:27:25 +0000 (10:27 +0100)]
Rechnungen: Sicherheitsnachfrage vor Stornierung

8 years agoAngebote/Aufträge: Beim "als neu Speichern" Wechselkurs richtig übernehmen.
Bernd Bleßmann [Fri, 19 Feb 2016 11:38:56 +0000 (12:38 +0100)]
Angebote/Aufträge: Beim "als neu Speichern" Wechselkurs richtig übernehmen.

Vorher ging die Formatierung kaputt, wenn zum aktuellen Datum (das des neuen
Belegs) noch kein Wechselkurs hinterlegt war.

Generell ist hier die Handhabung schlecht, denn man kann beim
"als neu Speichern" keinen neuen Wechselkurs eingeben, falls für den aktuellen
Tag noch keiner hinterlegt ist, sondern es wird der des alten Belegs
gespeichert.

Gleiches gilt beim Speichern des Belegs mit neuem Datum.

8 years agoselect_item für Erzeugnisse auch Langtext anzeigen, falls aktiviert
Jan Büren [Thu, 18 Feb 2016 13:44:15 +0000 (14:44 +0100)]
select_item für Erzeugnisse auch Langtext anzeigen, falls aktiviert

8 years agoFlash-Template Macro immer per INCLUDE dazunehmen
Martin Helmling mh@waldpark.octosoft.eu [Wed, 17 Feb 2016 13:55:54 +0000 (14:55 +0100)]
Flash-Template Macro immer per INCLUDE dazunehmen

Bei PROCESS bleiben Macro variable "typ", "title" und "message" für den Rest
des Templates gesetzt, bzw überschreiben gesetzte Template Variable,

aufgefallen z.B in ic/form_header.html :
Dort gibt es die HIDDEN Variable "title",
die dann vom Macro beim letzen Durchlauf auf Ok bzw (Übersetzung von Ok) gesetzt wird

Es gibt noch ein paar mehr template files (7), in denen PROCESS verwendet wird,
ob es dort Auswirkungen hat ist noch zu prüfen

8 years agoLieferadresse: Falsche Stadt wird angezeigt
Martin Helmling mh@waldpark.octosoft.eu [Wed, 17 Feb 2016 13:32:57 +0000 (14:32 +0100)]
Lieferadresse: Falsche Stadt wird angezeigt

Beim Öffnen der Lieferadresse wird eine falsche Stadt angezeigt (PLZ+Stadt)

Hier wird die Forms Variable "city" durch das Template in der Loop zum Lieferadressen-Erzeugen
verändert: Globale Varibale in Template.

Durch Umbenennen Behoben

8 years agoStammdaten->Berichte->Kunden/Lieferanten: Straße u. PLZ auch in Lieferadressen suchen
Bernd Bleßmann [Fri, 12 Feb 2016 16:58:36 +0000 (17:58 +0100)]
Stammdaten->Berichte->Kunden/Lieferanten: Straße u. PLZ auch in Lieferadressen suchen

So, wie es die Bezeichung auch suggeriert.

8 years agoStammdaten->Berichte->Kunden/Lieferanten: Filternamen deutlicher übersetzt
Bernd Bleßmann [Fri, 12 Feb 2016 16:36:20 +0000 (17:36 +0100)]
Stammdaten->Berichte->Kunden/Lieferanten: Filternamen deutlicher übersetzt

8 years agoKosmetik
Bernd Bleßmann [Fri, 12 Feb 2016 16:33:55 +0000 (17:33 +0100)]
Kosmetik

8 years agoStammdaten->Berichte->Kunden/Lieferanten: Sucheinstellungen richtig anzeigen.
Bernd Bleßmann [Fri, 12 Feb 2016 16:31:41 +0000 (17:31 +0100)]
Stammdaten->Berichte->Kunden/Lieferanten: Sucheinstellungen richtig anzeigen.

Für Postleitzahl, Straße und Land waren die Variablennamen nicht richtig.

8 years agoGLN: changelog und Doku
Bernd Bleßmann [Fri, 12 Feb 2016 16:03:35 +0000 (17:03 +0100)]
GLN: changelog und Doku

8 years agoGLN: CsvImport Kunden u. Lieferanten und Lieferadressen.
Bernd Bleßmann [Fri, 12 Feb 2016 15:47:50 +0000 (16:47 +0100)]
GLN: CsvImport Kunden u. Lieferanten und Lieferadressen.

8 years agoGLN: In Bericht Kunden/Lieferanten anzeigen und danach suchen können.
Bernd Bleßmann [Fri, 12 Feb 2016 15:25:40 +0000 (16:25 +0100)]
GLN: In Bericht Kunden/Lieferanten anzeigen und danach suchen können.

8 years agoGLN: Berücksichtigung in Belegmasken
Bernd Bleßmann [Thu, 11 Feb 2016 22:02:25 +0000 (23:02 +0100)]
GLN: Berücksichtigung in Belegmasken

8 years agoGLN: Speichern und Anzeigen in den Stammdaten (Rechnungs- u. Lieferadressen).
Bernd Bleßmann [Thu, 11 Feb 2016 21:57:46 +0000 (22:57 +0100)]
GLN: Speichern und Anzeigen in den Stammdaten (Rechnungs- u. Lieferadressen).

8 years agoGLN: neue Spalte bei customer, vendor und shipto; DB-Upgrade-Skript u. Rose
Bernd Bleßmann [Thu, 11 Feb 2016 21:56:03 +0000 (22:56 +0100)]
GLN: neue Spalte bei customer, vendor und shipto; DB-Upgrade-Skript u. Rose

8 years agoSuSa Abteilungsauswahl liefert SQL-Fehler
Jan Büren [Fri, 12 Feb 2016 12:40:09 +0000 (13:40 +0100)]
SuSa Abteilungsauswahl liefert SQL-Fehler

Im Nachgang zu b8fee3fc (dpt_trans aus RP.pm entfernen) - Vergessene
dpt_where weiter entfernt, sodass die SuSa nach Abteilungsauswahl
wieder geht.
Getestet mit Soll- und Ist-Haken bei SuSa

8 years agobehebt #123 Ist-Versterungs-Auswahl für SuSa
Jan Büren [Fri, 12 Feb 2016 11:48:13 +0000 (12:48 +0100)]
behebt #123 Ist-Versterungs-Auswahl für SuSa

8 years agoVerkaufsrechnungen: Beim Öffnen individuelle Lieferadresse laden.
Bernd Bleßmann [Fri, 12 Feb 2016 10:11:57 +0000 (11:11 +0100)]
Verkaufsrechnungen: Beim Öffnen individuelle Lieferadresse laden.

8 years agoBriefe mit anderen Dokumenten verknüpfen können
Moritz Bunkus [Thu, 11 Feb 2016 13:25:29 +0000 (14:25 +0100)]
Briefe mit anderen Dokumenten verknüpfen können

8 years agoBrieffunktion: Verwendung von HTML im Body
Moritz Bunkus [Wed, 10 Feb 2016 12:55:35 +0000 (13:55 +0100)]
Brieffunktion: Verwendung von HTML im Body

8 years agoSL::DBUpgrade2::Base: Spalte-zu-HTML-Funktion ausgelagert
Moritz Bunkus [Wed, 10 Feb 2016 12:29:54 +0000 (13:29 +0100)]
SL::DBUpgrade2::Base: Spalte-zu-HTML-Funktion ausgelagert

Damit diese Funktion auch aus anderen Datenbankupgradescripten heraus
benutzt werden kann, wurde sie nun in die Basisklasse verschoben.

8 years agoCustomerVendor-Controller: Callback nicht 2x escapen
Moritz Bunkus [Wed, 10 Feb 2016 12:26:58 +0000 (13:26 +0100)]
CustomerVendor-Controller: Callback nicht 2x escapen

url_for() escapet die Parameter bereits, daher ist es schädlich, das
vorher auch noch manuell zu tun.

Behebt #128.

8 years agoLetter-Controller: benutzte Pakete auch einbinden
Moritz Bunkus [Wed, 10 Feb 2016 11:05:05 +0000 (12:05 +0100)]
Letter-Controller: benutzte Pakete auch einbinden

In Nicht-FCGI-Umgebungen ist CT ansonsten nicht geladen.

8 years agotypo de/all
Jan Büren [Wed, 10 Feb 2016 09:23:52 +0000 (10:23 +0100)]
typo de/all

8 years agoHTML-zu-LaTeX: diverse Sonderfälle bzgl. Zeilenumbrüchen behandeln
Moritz Bunkus [Tue, 9 Feb 2016 10:29:16 +0000 (11:29 +0100)]
HTML-zu-LaTeX: diverse Sonderfälle bzgl. Zeilenumbrüchen behandeln

Zeilenumbrüche an verschiedenen Stellen sorgten dafür, dass LaTeX die
Fehlmerldung »There's no line to end here« ausspuckte. Die folgenden
Sonderfälle werden nun abgefangen und in \vspace*-Anweisungen
umgewandelt:

✓ Zeilenumbrüche direkt am Anfang des Texts
✓ Zeilenumbrüche direkt am Anfang eines Absatzes
✓ Zeilenumbrüche nach Umgebungen wie Strich- und Aufzählugnslisten

Zusätzlich werden Zeilenumbrüche am Ende des Texts schlicht entfernt.

8 years agoKundenstammdaten: Nachnamensfeld eindeutiger beschriftet
Moritz Bunkus [Tue, 9 Feb 2016 08:57:12 +0000 (09:57 +0100)]
Kundenstammdaten: Nachnamensfeld eindeutiger beschriftet

8 years agospecial_chars - detailverbesserung
Jan Büren [Wed, 3 Feb 2016 12:23:33 +0000 (13:23 +0100)]
special_chars - detailverbesserung

zum commit von gerade, wenn dann richtig auf für latex escapen

8 years agoAnpassungen RB-Druckvorlagen
Jan Büren [Wed, 3 Feb 2016 11:48:51 +0000 (12:48 +0100)]
Anpassungen RB-Druckvorlagen

8 years agospecial chars: zero-width-space (U+200b) escapen
Jan Büren [Wed, 3 Feb 2016 11:00:57 +0000 (12:00 +0100)]
special chars: zero-width-space (U+200b) escapen

Ferner Variablen-Ersetzung für registered TM und Copyright-Zeichen verbessert.
Falls man ein Leerzeichen nach dieser Variable hat, wurde diese nicht gedruckt

8 years agoIBAN-Validierung bei Kunden-/Lieferantenstammdaten sowie bei Bankkonten
Moritz Bunkus [Wed, 3 Feb 2016 09:33:41 +0000 (10:33 +0100)]
IBAN-Validierung bei Kunden-/Lieferantenstammdaten sowie bei Bankkonten

8 years agoLetter: Fehler beim Druck
Sven Schöling [Tue, 2 Feb 2016 10:15:27 +0000 (11:15 +0100)]
Letter: Fehler beim Druck

8 years agoSelf-Tests Haupt- / Nebenbuchprüfung verbessert
Jan Büren [Mon, 1 Feb 2016 16:01:47 +0000 (17:01 +0100)]
Self-Tests Haupt- / Nebenbuchprüfung verbessert

8 years agoGetModels Sorted: tiebreaker für deterministisches sortieren
Sven Schöling [Fri, 29 Jan 2016 13:42:21 +0000 (14:42 +0100)]
GetModels Sorted: tiebreaker für deterministisches sortieren

8 years agotypo in de/all
Jan Büren [Fri, 29 Jan 2016 12:09:44 +0000 (13:09 +0100)]
typo in de/all

8 years agoFlattenToForm - business nicht als Objekt übergeben
G. Richardson [Fri, 29 Jan 2016 10:08:19 +0000 (11:08 +0100)]
FlattenToForm - business nicht als Objekt übergeben

8 years agospecial_chars: Hyphen 0x2010 für LaTeX ersetzen
Bernd Bleßmann [Thu, 28 Jan 2016 14:05:28 +0000 (15:05 +0100)]
special_chars: Hyphen 0x2010 für LaTeX ersetzen

8 years agoLetter: model sortierung benutzen
Sven Schöling [Wed, 27 Jan 2016 14:14:39 +0000 (15:14 +0100)]
Letter: model sortierung benutzen

8 years agoLetter: Sortierung default neue zuerst
Sven Schöling [Wed, 27 Jan 2016 13:42:28 +0000 (14:42 +0100)]
Letter: Sortierung default neue zuerst

8 years agoLetter: Anzeigesicherheit gegen nicht mehr existierende Kunden
Sven Schöling [Wed, 27 Jan 2016 13:31:48 +0000 (14:31 +0100)]
Letter: Anzeigesicherheit gegen nicht mehr existierende Kunden

8 years agoLetter: 30 pro Seite anzeigen
Sven Schöling [Wed, 27 Jan 2016 13:29:59 +0000 (14:29 +0100)]
Letter: 30 pro Seite anzeigen

8 years agoLetter: Paginierung
Sven Schöling [Wed, 27 Jan 2016 13:03:46 +0000 (14:03 +0100)]
Letter: Paginierung

8 years agoLetter: überflüssige locales enternt.
Sven Schöling [Wed, 27 Jan 2016 14:21:36 +0000 (15:21 +0100)]
Letter: überflüssige locales enternt.

8 years agoBeschreibung für Korrekturen im Hauptbuch erweitert
Jan Büren [Tue, 26 Jan 2016 07:34:29 +0000 (08:34 +0100)]
Beschreibung für Korrekturen im Hauptbuch erweitert

Falls der Selftest fehlende Steuerbuchungen findet, können diese
mit Korrekturen im Hauptbuch bereinigt werden. Der Vollständigkeit halber
hier eine weitere Beschreibung für diese Massnahmen (fehlerhafter Import von
Buchungen) angegeben.

8 years agoWeitere Selftests
Jan Büren [Tue, 26 Jan 2016 07:24:36 +0000 (08:24 +0100)]
Weitere Selftests

- Kreditoren Haupt und Nebenbuch Netto-Prüfung (ap.netamount == acc_trans.amount)
- Für alle Taxkeys <> 0 muss auch eine Steuerbuchung in acc_trans vorhanden sein

8 years agoSelfTest -> Transaction. Test verbessert (ar.amount invoice.amount)
Jan Büren [Fri, 22 Jan 2016 10:11:42 +0000 (11:11 +0100)]
SelfTest -> Transaction. Test verbessert (ar.amount invoice.amount)

Summe laut Verkaufsbericht gleich Summe der Rechnungen (ar).
Der Test schlägt fehl, wenn es Debitorenbuchungen gibt, da hier keine
invoice Einträge gemacht werden. Entsprechend die Abfrage verbessert.

8 years agoLetter: Nur Druckoptionen anzeigen, die momentan unterstützt werden.
Bernd Bleßmann [Mon, 25 Jan 2016 11:00:56 +0000 (12:00 +0100)]
Letter: Nur Druckoptionen anzeigen, die momentan unterstützt werden.

Drucken geht nur mit PDF und Bildschirm.

8 years agoLetter: PrintOptions-Helper verwenden.
Bernd Bleßmann [Mon, 25 Jan 2016 10:54:48 +0000 (11:54 +0100)]
Letter: PrintOptions-Helper verwenden.

8 years agoPrintOptions-Helper: Ausgabe der Header ermöglichen.
Bernd Bleßmann [Sat, 16 Jan 2016 22:02:27 +0000 (23:02 +0100)]
PrintOptions-Helper: Ausgabe der Header ermöglichen.

8 years agoPrintOptions_Helper: Dokumentation
Bernd Bleßmann [Mon, 25 Jan 2016 11:45:10 +0000 (12:45 +0100)]
PrintOptions_Helper: Dokumentation

8 years agoPrintOptions_Helper: Angabe eines prefix ermöglichen.
Bernd Bleßmann [Fri, 15 Jan 2016 17:11:26 +0000 (18:11 +0100)]
PrintOptions_Helper: Angabe eines prefix ermöglichen.

8 years agoprint_options in Helper ausgelagert.
Bernd Bleßmann [Fri, 15 Jan 2016 11:40:08 +0000 (12:40 +0100)]
print_options in Helper ausgelagert.

8 years agoPresenter: hidden ist ein value_less attribut
Sven Schöling [Tue, 19 Jan 2016 13:34:09 +0000 (14:34 +0100)]
Presenter: hidden ist ein value_less attribut

8 years agoBelege: »Details initial anzeigen« richtig behandeln
Moritz Bunkus [Tue, 19 Jan 2016 14:39:34 +0000 (15:39 +0100)]
Belege: »Details initial anzeigen« richtig behandeln

Die Einstellungen in der Benutzerkonfiguration, ob die Details per
default angezeigt werden sollen, wurde nur beim initialen Aufbau der
Einkaufs- und Verkaufsbelegmasken berücksichtigt. Da der Wert aber nicht
in der dafür vorgesehenen Hidden mitgeschliffen wurde, war die
Einstellung ab dem zweiten Maskenaufbau dahin.

Grund ist, dass die Hidden in form_header() ausgegeben wird, bevor in
display_row() die dazugehörige Einstellung aus der Benutzerkonfiguration
geladen wird.

Gegenmittel: In den Einstiegspunkten zum Hinzufügen und Bearbeiten von
Belegen (add() respektive edit()) bereits die Einstellung aus der
Benutzerkonfiguration laden und so der Hidden zur Verfügung stellen.

8 years agoWarenauswahl: EAN in »Andere Treffer« nur ausweisen, wenn nach Artikelnummer gesucht...
Moritz Bunkus [Tue, 19 Jan 2016 14:12:03 +0000 (15:12 +0100)]
Warenauswahl: EAN in »Andere Treffer« nur ausweisen, wenn nach Artikelnummer gesucht wird

8 years agoLetter: Aussagekräftigere Fehlermeldung, wenn Vorlage nicht gefunden wird.
Bernd Bleßmann [Mon, 18 Jan 2016 15:20:34 +0000 (16:20 +0100)]
Letter: Aussagekräftigere Fehlermeldung, wenn Vorlage nicht gefunden wird.

8 years agojs/switchmenuframe.js entfernt
Sven Schöling [Thu, 14 Jan 2016 10:57:22 +0000 (11:57 +0100)]
js/switchmenuframe.js entfernt

seit dem letzten Layout rework ist das nicht mehr benutzt,
also weg damit

8 years agoLetter Controller rewrite
Sven Schöling [Mon, 21 Dec 2015 15:16:39 +0000 (16:16 +0100)]
Letter Controller rewrite

Jetzt auf einigermassen aktuellem technischen Stand.

8 years agoSelfTest: Datenbanknamen gefixt; Client-Namen auch mit ausgeben
Moritz Bunkus [Tue, 12 Jan 2016 13:51:24 +0000 (14:51 +0100)]
SelfTest: Datenbanknamen gefixt; Client-Namen auch mit ausgeben

8 years agoSL::DB::Buchungsgruppe: Relationsnamen inventory_account gefixt
Moritz Bunkus [Mon, 11 Jan 2016 16:35:46 +0000 (17:35 +0100)]
SL::DB::Buchungsgruppe: Relationsnamen inventory_account gefixt

Aus irgend einem Grund registriert Rose keine neue Relationship, wenn es
bereits eine (mit leicht anderem Namen) als Foreign Key für dieselbe
Spalte gibt.

8 years agoAdmin User-Bearbeiten-Maske: JavaScript.escape() nicht als Filter aufrufen
Moritz Bunkus [Mon, 11 Jan 2016 15:36:24 +0000 (16:36 +0100)]
Admin User-Bearbeiten-Maske: JavaScript.escape() nicht als Filter aufrufen

Siehe Commit-Nachricht 70654da für die Begründung.

8 years agoRevert "JavaScript-Plugin: auch als Filter einsetzen können"
Moritz Bunkus [Mon, 11 Jan 2016 15:32:34 +0000 (16:32 +0100)]
Revert "JavaScript-Plugin: auch als Filter einsetzen können"

Dies revertet Commit 20d730acdbb52b5b75af783aa010609e25b73024. Grund
ist, dass aus bisher nicht zu analysierenden Gründen in manchen
Situationen der Template-Toolkit-Compiler oder eine andere Komponente
Quark erzeugt und daher das Plugin nicht findet.

Wenn es geht, dann sieht das compilierte Template an der Stelle wie
folgt aus:

------ snip ------
$output .=  do {
    my $output = '';
    my $_tt_filter = $context->filter('js')
              || $context->throw($context->error);
------ snip ------

Wenn es aber nicht geht, dann wie folgt:

------ snip ------
$output .=  do {
    my $output = '';
    my $_tt_filter = $context->filter($stash->get('js'))
              || $context->throw($context->error);
------ snip ------

Im nicht funktionierenden Fall wird das Plugin selber im Stash gesucht,
wo es aber nicht vorhanden ist.

Warum das passiert ist noch rätselhaft und wird mangels Zeit erst einmal
nicht weiter untersucht.

8 years agoPasswörter: Unterstützung für crypt, MD5 und SHA-1 entfernt
Moritz Bunkus [Mon, 11 Jan 2016 12:34:30 +0000 (13:34 +0100)]
Passwörter: Unterstützung für crypt, MD5 und SHA-1 entfernt

Diese Algorithmen gelten allesamt als unsicher.

Falls die Datenbank jemals in falsche Hände geraten sollte, so würden
zumindest die mit crypt und MD5 gehashten Passwörter schnell zu knacken
sein. Die mit SHA-1 gehashten dürften etwas länger dauern, aber auch sie
sind gefährdet. Daher werden sie in der Datenbank schlicht
entfernt. Admins müssen für solche Accounts neue Passwörter vergeben.

Dies sollte nur Accounts betreffen, deren Passwort sich seit der
Einführung von SHA256S als Mechanismus in kivitendo 2.7.0 Mitte 2011
nicht mehr geändert hat.

8 years agoPasswörter: Hash-Verfahren PBKDF2 unterstützen und als Standard nutzen
Moritz Bunkus [Mon, 11 Jan 2016 10:55:53 +0000 (11:55 +0100)]
Passwörter: Hash-Verfahren PBKDF2 unterstützen und als Standard nutzen

Der aktuelle Stand der Technik sind die SHA-*-Varianten schon lange
nicht mehr. In der Zwischenzeit wurden der PBKDF2-Mechanismus
entwickelt, um schnelles Berechnen zu erschweren. Noch neuer und in
ASICs noch schwerer umsetzbar sind BCrypt und SCrypt, für die es aber
noch keine weit verbreiteten Perl-Module gibt.

8 years agoSEPA: Button »Zahlungsliste als PDF« nicht anzeigen, wenn nichts ausgeführt wurde
Moritz Bunkus [Fri, 8 Jan 2016 15:23:03 +0000 (16:23 +0100)]
SEPA: Button »Zahlungsliste als PDF« nicht anzeigen, wenn nichts ausgeführt wurde

8 years agoDrucker im Adminbereich ändern - Bug behoben
Bernd Bleßmann [Thu, 7 Jan 2016 09:50:30 +0000 (10:50 +0100)]
Drucker im Adminbereich ändern - Bug behoben

Im Drucker-Fall enthält $::form die Drucker-id in $::form->{id} und die
client-ID in $::form->{client}->{id}, beim init_client Code für den Fall
muß also erst auf id in $::form->{client}->{id} geprüft werden,
ansonsten wird der Client mit der id des Druckers gesucht und nicht
gefunden.

Danke Geoffrey.

8 years agoTypo oder copy/paste-Fehler: print_options/sendmode, aber ohne Auswirkungen, …
Bernd Bleßmann [Wed, 6 Jan 2016 16:50:36 +0000 (17:50 +0100)]
Typo oder copy/paste-Fehler: print_options/sendmode, aber ohne Auswirkungen, …

da attachment die erste Option im Select ist darum ohnenhin diese ausgewählt
wurde.

8 years agoDoku: Variablennamen für shiptodepartment_X gefixt
Moritz Bunkus [Wed, 6 Jan 2016 10:03:24 +0000 (11:03 +0100)]
Doku: Variablennamen für shiptodepartment_X gefixt

8 years agoSEPA: bei Liste noch zu erledigender Rechnungen Skonto berücksichtigen
Moritz Bunkus [Tue, 5 Jan 2016 16:08:18 +0000 (17:08 +0100)]
SEPA: bei Liste noch zu erledigender Rechnungen Skonto berücksichtigen

8 years agolocales: SEPA-Meldungen klarer gemacht
Moritz Bunkus [Tue, 5 Jan 2016 16:05:03 +0000 (17:05 +0100)]
locales: SEPA-Meldungen klarer gemacht

8 years agolocales: Update
Moritz Bunkus [Tue, 5 Jan 2016 15:59:58 +0000 (16:59 +0100)]
locales: Update

8 years agoLocale: verloren gegangene Übersetzung
Sven Schöling [Tue, 5 Jan 2016 15:40:26 +0000 (16:40 +0100)]
Locale: verloren gegangene Übersetzung

8 years agoswiss: Datenbankupgrades verschoben
Sven Schöling [Mon, 4 Jan 2016 15:24:19 +0000 (16:24 +0100)]
swiss: Datenbankupgrades verschoben

8 years agoDBUpgrade: form komplett zurückspeichern
Sven Schöling [Mon, 4 Jan 2016 15:22:54 +0000 (16:22 +0100)]
DBUpgrade: form komplett zurückspeichern

8 years agocountry_mode entfernt.
Sven Schöling [Mon, 4 Jan 2016 15:57:07 +0000 (16:57 +0100)]
country_mode entfernt.

Flags sollten unabhängig funktionieren, ausserdem in das im admin
bereich der hass.

8 years agoAdmin: create_dataset Änderungen für neue Eingenschaften
Rolf Fluehmann [Mon, 4 Jan 2016 15:55:13 +0000 (16:55 +0100)]
Admin: create_dataset Änderungen für neue Eingenschaften

8 years agoErfolgsrechnung: von pos_eur auf pos_er gelegt.
Sven Schöling [Wed, 30 Dec 2015 11:51:33 +0000 (12:51 +0100)]
Erfolgsrechnung: von pos_eur auf pos_er gelegt.

8 years agoSchweizer Modus
Rolf Fluehmann [Mon, 4 Jan 2016 16:00:41 +0000 (17:00 +0100)]
Schweizer Modus

8 years agoDefaultManager
Sven Schöling [Mon, 4 Jan 2016 16:14:28 +0000 (17:14 +0100)]
DefaultManager

8 years agoBelege runden, und Rundungsdifferenzen auf Extrakonten buchen.
Rolf Fluehmann [Mon, 4 Jan 2016 15:57:19 +0000 (16:57 +0100)]
Belege runden, und Rundungsdifferenzen auf Extrakonten buchen.

8 years agoErfolgsrechnung
Rolf Fluehmann [Mon, 4 Jan 2016 15:58:53 +0000 (16:58 +0100)]
Erfolgsrechnung

8 years agoForm: round_amount precision support
Rolf Fluehmann [Mon, 4 Jan 2016 15:56:42 +0000 (16:56 +0100)]
Form: round_amount precision support

8 years agoNeues numberformat 1'000
Rolf Fluehmann [Mon, 4 Jan 2016 15:52:51 +0000 (16:52 +0100)]
Neues numberformat 1'000

8 years agoNeue schweizer Kontenrahmen
Rolf Fluehmann [Wed, 31 Jul 2013 11:27:12 +0000 (13:27 +0200)]
Neue schweizer Kontenrahmen

8 years agoDBUpgrade: Bei leerer Datenbank ohne Output durchlaufen
Sven Schöling [Mon, 4 Jan 2016 14:12:24 +0000 (15:12 +0100)]
DBUpgrade: Bei leerer Datenbank ohne Output durchlaufen

8 years agoDBUpgrade: SKR04 bei leerer Datenbank sauber durchlaufen
Sven Schöling [Mon, 4 Jan 2016 14:11:39 +0000 (15:11 +0100)]
DBUpgrade: SKR04 bei leerer Datenbank sauber durchlaufen

8 years agoTask-Server: Alarm-Signal während Ausführung ignorieren, beim Schlafen aufwachen
Moritz Bunkus [Mon, 4 Jan 2016 14:02:55 +0000 (15:02 +0100)]
Task-Server: Alarm-Signal während Ausführung ignorieren, beim Schlafen aufwachen

Über die Oberfläche kann man den Task-Server aufwecken. Doof nur, wenn
der momentan gerade einen Job ausführt, dann wird der Task-Server
nämlich gekillt.

Generell soll SIGALRM so behandelt werden, dass der Server aufgeweckt
ist, wenn er gerade schläft, und ansonsten soll das Signal komplett
ignoriert werden.

Daher wird es jetzt am Anfang jedes Durchlaufs auf IGNORE gesetzt. Auch
im Signal-Handler für das Aufwecken muss das Signal als erstes wieder
ignoriert werden, weil es ansonsten eine Zeitspanne gibt, in der der
Signal-Handler mehrfach aufgerufen werden kann, und dann stirbt der
Task-Server. Forçierbar z.B. mit:

for i in {1..100}; do
  kill -ALRM <PID-des-Task-Servers>
done

8 years agoTask-Server: vor Schlafen temporäre Dateien aufräumen
Moritz Bunkus [Mon, 4 Jan 2016 14:02:41 +0000 (15:02 +0100)]
Task-Server: vor Schlafen temporäre Dateien aufräumen