kivitendo-erp.git
7 years agoBelegvorlagen: Laden bei Debitorenbuchungen
Moritz Bunkus [Fri, 20 Jan 2017 10:53:18 +0000 (11:53 +0100)]
Belegvorlagen: Laden bei Debitorenbuchungen

7 years agoBelegvorlagen: vorhandene Entwürfe in Vorlagen migrieren
Moritz Bunkus [Fri, 20 Jan 2017 10:52:50 +0000 (11:52 +0100)]
Belegvorlagen: vorhandene Entwürfe in Vorlagen migrieren

7 years agoBelegvorlagen: Datenbankschema, Rose-Models
Moritz Bunkus [Fri, 20 Jan 2017 10:51:53 +0000 (11:51 +0100)]
Belegvorlagen: Datenbankschema, Rose-Models

7 years agoEinkaufsrechnungen: nach Buchen wieder zur Erfassen-Maske mit Flash-Meldung
Moritz Bunkus [Tue, 24 Jan 2017 16:40:25 +0000 (17:40 +0100)]
Einkaufsrechnungen: nach Buchen wieder zur Erfassen-Maske mit Flash-Meldung

7 years agoFinanzbuchhaltung: schönere »…verbucht«-Meldungen via Flash
Moritz Bunkus [Tue, 24 Jan 2017 16:36:50 +0000 (17:36 +0100)]
Finanzbuchhaltung: schönere »…verbucht«-Meldungen via Flash

7 years agoVerkaufsrechnung: »…gebucht«-Nachricht als Flash anzeigen
Moritz Bunkus [Tue, 24 Jan 2017 16:31:29 +0000 (17:31 +0100)]
Verkaufsrechnung: »…gebucht«-Nachricht als Flash anzeigen

7 years agoForm->redirect: nur dann im Flash was speichern, wenn Nachricht vorhanden
Moritz Bunkus [Tue, 24 Jan 2017 16:30:42 +0000 (17:30 +0100)]
Form->redirect: nur dann im Flash was speichern, wenn Nachricht vorhanden

7 years agoFinanzbuchhaltungsmasken: Flash anzeigen & <form> eine ID geben
Moritz Bunkus [Tue, 24 Jan 2017 14:15:24 +0000 (15:15 +0100)]
Finanzbuchhaltungsmasken: Flash anzeigen & <form> eine ID geben

7 years agoClientJS: Warnungen fixen
Moritz Bunkus [Tue, 24 Jan 2017 13:49:14 +0000 (14:49 +0100)]
ClientJS: Warnungen fixen

7 years agoClientJS: »pattern:« nur bei Abschnittskommentaren
Moritz Bunkus [Tue, 24 Jan 2017 13:44:39 +0000 (14:44 +0100)]
ClientJS: »pattern:« nur bei Abschnittskommentaren

Bei einem Kommentar hinter der Action ist der Kommentar selber bereits
das Pattern und darf das Stichwort »pattern:« nicht mehr
enthalten. Andernfalls würde es 1:1 in den JS-Code kopiert.

7 years agoVerbleibenden all_vc-Aufruf entfernt
Moritz Bunkus [Mon, 23 Jan 2017 14:14:55 +0000 (15:14 +0100)]
Verbleibenden all_vc-Aufruf entfernt

7 years agoReste von arap.pl entfernen
Moritz Bunkus [Mon, 23 Jan 2017 14:07:39 +0000 (15:07 +0100)]
Reste von arap.pl entfernen

7 years agoMerge branch 'f-use-proper-selects-and-pickers'
Moritz Bunkus [Mon, 23 Jan 2017 13:57:31 +0000 (14:57 +0100)]
Merge branch 'f-use-proper-selects-and-pickers'

7 years agoarap.pl entfernt
Moritz Bunkus [Mon, 23 Jan 2017 12:59:38 +0000 (13:59 +0100)]
arap.pl entfernt

Sie enthielt nur noch drei Funktionen:

• select_project — wurde nirgends mehr verwendet
• project_selected — war nur eine Helferfunktion für select_project
• continue — diese wurde nach common.pl verschoben

7 years agovclimit entfernen
Moritz Bunkus [Mon, 23 Jan 2017 11:31:40 +0000 (12:31 +0100)]
vclimit entfernen

7 years agoForm->all_vc: entfernt, da inzwischen unbenutzt
Moritz Bunkus [Mon, 23 Jan 2017 12:52:51 +0000 (13:52 +0100)]
Form->all_vc: entfernt, da inzwischen unbenutzt

7 years agoBerichte: $form->all_vc nicht mehr verwenden
Moritz Bunkus [Mon, 23 Jan 2017 12:52:25 +0000 (13:52 +0100)]
Berichte: $form->all_vc nicht mehr verwenden

7 years agoMahnungen: $form->all_vc nicht mehr verwenden
Moritz Bunkus [Mon, 23 Jan 2017 12:52:14 +0000 (13:52 +0100)]
Mahnungen: $form->all_vc nicht mehr verwenden

7 years agoFunktion check_name() entfernt
Moritz Bunkus [Mon, 23 Jan 2017 12:27:46 +0000 (13:27 +0100)]
Funktion check_name() entfernt

Alle Anwender wurden auf Kunden-/Lieferantenpicker umgestellt.

7 years agoLieferschein: Kunden-/Lieferantenpicker nutzen
Moritz Bunkus [Mon, 23 Jan 2017 12:25:55 +0000 (13:25 +0100)]
Lieferschein: Kunden-/Lieferantenpicker nutzen

7 years agoPresenter: button_tag, submit_tag, ajax_submit_tag von L nach SL::Presenter::Tag...
Moritz Bunkus [Mon, 23 Jan 2017 12:18:48 +0000 (13:18 +0100)]
Presenter: button_tag, submit_tag, ajax_submit_tag von L nach SL::Presenter::Tag verschoben

7 years agoLieferscheinsuche: Kunden-/Lieferanten nicht mehr als Drop-Down
Moritz Bunkus [Mon, 23 Jan 2017 11:59:59 +0000 (12:59 +0100)]
Lieferscheinsuche: Kunden-/Lieferanten nicht mehr als Drop-Down

7 years agoLieferscheinsuche: kompaktere Maske
Moritz Bunkus [Mon, 23 Jan 2017 11:59:44 +0000 (12:59 +0100)]
Lieferscheinsuche: kompaktere Maske

7 years agoZahlungsein-/-ausgänge: Kunden-/Lieferantenpicker verwenden
Moritz Bunkus [Mon, 23 Jan 2017 11:55:58 +0000 (12:55 +0100)]
Zahlungsein-/-ausgänge: Kunden-/Lieferantenpicker verwenden

7 years agoMahnungssuche: Kundensuche immer nur via Eingabefeld
Moritz Bunkus [Mon, 23 Jan 2017 11:31:07 +0000 (12:31 +0100)]
Mahnungssuche: Kundensuche immer nur via Eingabefeld

7 years agoMultibox entfernen
Moritz Bunkus [Mon, 23 Jan 2017 10:53:29 +0000 (11:53 +0100)]
Multibox entfernen

Inzwischen wird das Template nicht mehr benutzt.

7 years agoVerkaufswertbericht: keine Multibox mehr nutzen
Moritz Bunkus [Mon, 23 Jan 2017 10:53:05 +0000 (11:53 +0100)]
Verkaufswertbericht: keine Multibox mehr nutzen

7 years agoKontoauszug verbuchen: keine Multibox verwenden
Moritz Bunkus [Mon, 23 Jan 2017 10:40:51 +0000 (11:40 +0100)]
Kontoauszug verbuchen: keine Multibox verwenden

7 years agoAngebote/Aufträge: Währungsauswahl via L.select_tag
Moritz Bunkus [Mon, 23 Jan 2017 10:37:48 +0000 (11:37 +0100)]
Angebote/Aufträge: Währungsauswahl via L.select_tag

7 years agoAngebots-/Auftragssuche: Maske kompakter und konsistenter gemacht
Moritz Bunkus [Mon, 23 Jan 2017 10:34:19 +0000 (11:34 +0100)]
Angebots-/Auftragssuche: Maske kompakter und konsistenter gemacht

7 years agoAngebote/Aufträge: Kunden-/Lieferantenwahl via Picker
Moritz Bunkus [Mon, 23 Jan 2017 10:30:12 +0000 (11:30 +0100)]
Angebote/Aufträge: Kunden-/Lieferantenwahl via Picker

7 years agoAngebots/Auftragssuche: Style-Attribut zentral via Variable setzen
Moritz Bunkus [Fri, 20 Jan 2017 17:00:22 +0000 (18:00 +0100)]
Angebots/Auftragssuche: Style-Attribut zentral via Variable setzen

7 years agoAngebots/Auftragssuche: keine Multibox verwenden
Moritz Bunkus [Fri, 20 Jan 2017 16:59:23 +0000 (17:59 +0100)]
Angebots/Auftragssuche: keine Multibox verwenden

7 years agoEinkaufsrechnungen: Lieferantenwahl über Picker und nicht Multibox
Moritz Bunkus [Fri, 20 Jan 2017 16:52:10 +0000 (17:52 +0100)]
Einkaufsrechnungen: Lieferantenwahl über Picker und nicht Multibox

7 years agoEinkaufsrechnungen: Abteilungs- & Projektauswahl nicht über Multibox
Moritz Bunkus [Fri, 20 Jan 2017 16:34:01 +0000 (17:34 +0100)]
Einkaufsrechnungen: Abteilungs- & Projektauswahl nicht über Multibox

7 years agoVerkaufsrechnungen: Abteilungen sortiert anzeigen
Moritz Bunkus [Fri, 20 Jan 2017 16:31:05 +0000 (17:31 +0100)]
Verkaufsrechnungen: Abteilungen sortiert anzeigen

7 years agoEinkaufsrechnungen: keine Multibox für Steuersatzauswahl
Moritz Bunkus [Fri, 20 Jan 2017 16:25:51 +0000 (17:25 +0100)]
Einkaufsrechnungen: keine Multibox für Steuersatzauswahl

7 years agoVerkaufsrechnungen: Kundenwahl über Picker
Moritz Bunkus [Fri, 20 Jan 2017 16:21:41 +0000 (17:21 +0100)]
Verkaufsrechnungen: Kundenwahl über Picker

7 years ago»ENDE LOESCHMICH in 2012«… ja dann… weg damit
Moritz Bunkus [Fri, 20 Jan 2017 15:06:20 +0000 (16:06 +0100)]
»ENDE LOESCHMICH in 2012«… ja dann… weg damit

7 years agoArtikelsuche: überflüssige Fallunterscheidungen nach Artikeltyp entfernen
Moritz Bunkus [Fri, 20 Jan 2017 14:54:05 +0000 (15:54 +0100)]
Artikelsuche: überflüssige Fallunterscheidungen nach Artikeltyp entfernen

Seit der Einführung der Artikelklassifizierung gibt es nur noch eine
Suchmaske für Artikel, in der über Checkboxen gesteuert wird, nach
welchen Typen gesucht wird. Daher ergibt es keinen Sinn, im Template
danach zu unterscheiden, vor allem, da der aufrufende Code die Checks so
setzt, dass immer alle Controls angezeigt werden.

7 years agoArtikelsuche: Inputs gleich lang gemacht
Moritz Bunkus [Fri, 20 Jan 2017 14:52:24 +0000 (15:52 +0100)]
Artikelsuche: Inputs gleich lang gemacht

7 years agoArtikelsuche: keine Multibox mehr verwenden
Moritz Bunkus [Fri, 20 Jan 2017 14:47:36 +0000 (15:47 +0100)]
Artikelsuche: keine Multibox mehr verwenden

7 years agoWarteschlangen-Druck: keine Multibox mehr verwenden
Moritz Bunkus [Fri, 20 Jan 2017 14:44:37 +0000 (15:44 +0100)]
Warteschlangen-Druck: keine Multibox mehr verwenden

7 years agoEinkaufsrechnungssuche: Inputs gleich lang gemacht
Moritz Bunkus [Fri, 20 Jan 2017 14:38:22 +0000 (15:38 +0100)]
Einkaufsrechnungssuche: Inputs gleich lang gemacht

Naja gut… so gleich lang, wie Inputs nun mal werden, wenn man sie alle
auf eine einheitliche Breite setzt. Comboboxes werden trotzdem leicht
schmaler gerendert.

7 years agoVerkaufsrechnungssuche: Inputs gleich lang gemacht
Moritz Bunkus [Fri, 20 Jan 2017 14:18:27 +0000 (15:18 +0100)]
Verkaufsrechnungssuche: Inputs gleich lang gemacht

Naja gut… so gleich lang, wie Inputs nun mal werden, wenn man sie alle
auf eine einheitliche Breite setzt. Comboboxes werden trotzdem leicht
schmaler gerendert.

7 years agoEinkaufsrechnungssuche: keine Multibox mehr nutzen
Moritz Bunkus [Fri, 20 Jan 2017 14:03:22 +0000 (15:03 +0100)]
Einkaufsrechnungssuche: keine Multibox mehr nutzen

7 years agoKreditorenbuchungen: Kundenauswahl über Picker
Moritz Bunkus [Fri, 20 Jan 2017 14:03:22 +0000 (15:03 +0100)]
Kreditorenbuchungen: Kundenauswahl über Picker

7 years agoKreditorenbuchungen: Währungs-Drop-Down nicht als Hidden mitschleifen
Moritz Bunkus [Fri, 20 Jan 2017 13:45:07 +0000 (14:45 +0100)]
Kreditorenbuchungen: Währungs-Drop-Down nicht als Hidden mitschleifen

7 years agoVerkaufsrechnungssuche: keine Multibox mehr nutzen
Moritz Bunkus [Fri, 20 Jan 2017 12:36:06 +0000 (13:36 +0100)]
Verkaufsrechnungssuche: keine Multibox mehr nutzen

7 years agoDebitorenbuchungen: Kundenauswahl über Picker
Moritz Bunkus [Fri, 20 Jan 2017 12:35:46 +0000 (13:35 +0100)]
Debitorenbuchungen: Kundenauswahl über Picker

7 years agoErweiterung Liquiditätsübersicht
Jan Büren [Sat, 21 Jan 2017 13:50:08 +0000 (14:50 +0100)]
Erweiterung Liquiditätsübersicht

wiederkehrende Rechnungen mit Periode einmalig wie einen normalen
offenen Auftrag in der Liquiditätsübersicht behandeln

7 years agolocales und changelog für vorherigen commit
Jan Büren [Sat, 21 Jan 2017 13:28:49 +0000 (14:28 +0100)]
locales und changelog für vorherigen commit

7 years agoWiederkehrende Rechnungen, um neue Periode 'einmalig' erweitert.
Jan Büren [Sat, 21 Jan 2017 13:20:18 +0000 (14:20 +0100)]
Wiederkehrende Rechnungen, um neue Periode 'einmalig' erweitert.

Wiederkehrenden Rechnungen die aus einem Auftrag automatisch generiert
werden können jetzt die Periode 'einmalig' (engl. 'one time') mit dem
Zeitwert 0 haben.
Falls diese Periode angewählt wird, wird die Konfiguration des Auftrags
nach Erzeugen der einmaligen Rechnung auf inaktiv gesetzt (s.a.
 perldoc SL/DB/PeriodicInvoicesConfigs.pm).
Der Empfänger der Rechnungslauf-Mail bekommt in diesem Fall zusätzlich
die Auftragsnummer, bei welchem die wiederkehrenden Rechnungen deaktiviert
wurden mitgeteilt.
Zusätzlich ist diese Benachrichtigung per Mail erweitert, sodass jetzt
auch eine Liste der versandten Rechnungen per E-Mail mitgeteilt wird.

7 years agoDebitorenbuchungen: Währungs-/Verkäufer-Drop-Downs nicht als Hidden mitschleifen
Moritz Bunkus [Fri, 20 Jan 2017 10:56:07 +0000 (11:56 +0100)]
Debitorenbuchungen: Währungs-/Verkäufer-Drop-Downs nicht als Hidden mitschleifen

7 years agoKreditorenbuchungen: nur zur Kontenkategorie passende Steuerschlüsselauswahl anbieten
Moritz Bunkus [Fri, 20 Jan 2017 13:21:06 +0000 (14:21 +0100)]
Kreditorenbuchungen: nur zur Kontenkategorie passende Steuerschlüsselauswahl anbieten

7 years agoHistorien Suchmaschine: SQL-Injektion verhindern.
Bernd Bleßmann [Fri, 20 Jan 2017 12:27:50 +0000 (13:27 +0100)]
Historien Suchmaschine: SQL-Injektion verhindern.

7 years agoProjectPicker: Taskendrücke auf Shift, Ctrl & Alt ignorieren
Moritz Bunkus [Fri, 20 Jan 2017 11:44:04 +0000 (12:44 +0100)]
ProjectPicker: Taskendrücke auf Shift, Ctrl & Alt ignorieren

Andernfalls wird schon beim Drücken eines der Modifier eine Suche
ausgelöst. Das kann besonders nervig sein, wenn man den Focus vom
Browser wegnimmt:

• Alt+Tab drücken, um zum anderen Fenster zu wechseln
• Schon bei Alt wird eine Suche ausgelöst.
• Durch den Focus-Verlust wird ein Blur-Event ausgelöst.
• Und schon ist der interne Zustand ungültig, und das Element wird rot
  dargestellt.

Analoges passiert, wenn man z.B. mit Ctrl+F2 zu einem anderen virtuellen
Desktop wechselt.

Noch schlimmer ist, dass bei Shift+Tab ebenfalls zuerst eine Suche
ausgelöst und anschließend verhindert wird, dass der Focus das Element
verlässt.

7 years agoProjectPicker: unbenutzte Variable last_unverified_dummy entfernt
Moritz Bunkus [Fri, 20 Jan 2017 11:42:43 +0000 (12:42 +0100)]
ProjectPicker: unbenutzte Variable last_unverified_dummy entfernt

Sie wird nur gesetzt, nie gelesen, und vor allem auch nicht mit »var«
deklariert — wodurch es im Strict-Modus zu JavaScript-Fehlermeldungen
kommt.

7 years agoProjectPicker: Strict-Modus & Warnungen von jshint beseitigt
Moritz Bunkus [Fri, 20 Jan 2017 11:41:50 +0000 (12:41 +0100)]
ProjectPicker: Strict-Modus & Warnungen von jshint beseitigt

7 years agoCustomerVendorPicker: Taskendrücke auf Shift, Ctrl & Alt ignorieren
Moritz Bunkus [Fri, 20 Jan 2017 11:40:33 +0000 (12:40 +0100)]
CustomerVendorPicker: Taskendrücke auf Shift, Ctrl & Alt ignorieren

Andernfalls wird schon beim Drücken eines der Modifier eine Suche
ausgelöst. Das kann besonders nervig sein, wenn man den Focus vom
Browser wegnimmt:

• Alt+Tab drücken, um zum anderen Fenster zu wechseln
• Schon bei Alt wird eine Suche ausgelöst.
• Durch den Focus-Verlust wird ein Blur-Event ausgelöst.
• Und schon ist der interne Zustand ungültig, und das Element wird rot
  dargestellt.

Analoges passiert, wenn man z.B. mit Ctrl+F2 zu einem anderen virtuellen
Desktop wechselt.

Noch schlimmer ist, dass bei Shift+Tab ebenfalls zuerst eine Suche
ausgelöst und anschließend verhindert wird, dass der Focus das Element
verlässt.

7 years agoCustomerVendorPicker: unbenutzte Variable last_unverified_dummy entfernt
Moritz Bunkus [Fri, 20 Jan 2017 11:37:32 +0000 (12:37 +0100)]
CustomerVendorPicker: unbenutzte Variable last_unverified_dummy entfernt

Sie wird nur gesetzt, nie gelesen, und vor allem auch nicht mit »var«
deklariert — wodurch es im Strict-Modus zu JavaScript-Fehlermeldungen
kommt.

7 years agoCustomerVendorPicker: Strict-Modus & Warnungen von jshint beseitigt
Moritz Bunkus [Fri, 20 Jan 2017 11:36:52 +0000 (12:36 +0100)]
CustomerVendorPicker: Strict-Modus & Warnungen von jshint beseitigt

7 years agoVerkaufsbericht - Abteilung korrekt behandeln
G. Richardson [Fri, 20 Jan 2017 11:03:59 +0000 (12:03 +0100)]
Verkaufsbericht - Abteilung korrekt behandeln

und Umstellung auf select_tag

7 years agoHistorien Suchmaschine: Stacküberlauf vermeiden
Martin Helmling martin.helmling@octosoft.eu [Fri, 20 Jan 2017 08:44:19 +0000 (09:44 +0100)]
Historien Suchmaschine: Stacküberlauf vermeiden

Die Fehlermeldung
    'DBD::Pg::st execute failed: ERROR:  stack depth limit exceeded' wird durch
    Anpassung des queries vermieden

statt:
    WHERE (trans_id = 2088 OR trans_id=2090 OR trans_id=2092 ... (10000 fach)

nun:

    WHERE (trans_id = 2088 OR trans_id IN (2090,2092,2094, ...

7 years agoam: fehlendes include für Historiensuche(2)
Martin Helmling martin.helmling@octosoft.eu [Fri, 20 Jan 2017 07:45:32 +0000 (08:45 +0100)]
am: fehlendes include für Historiensuche(2)

Undefined subroutine &main::conv_dateq called at bin/mozilla/am.pl line 1246

7 years agoPDF Helper Erweiterungen: Formatkorrektur nach perltidy
Martin Helmling martin.helmling@octosoft.eu [Fri, 20 Jan 2017 07:12:38 +0000 (08:12 +0100)]
PDF Helper Erweiterungen: Formatkorrektur nach perltidy

7 years agot/backgorund_job/known_jobs.t
Sven Schöling [Thu, 19 Jan 2017 13:34:02 +0000 (14:34 +0100)]
t/backgorund_job/known_jobs.t

Dieser Test hat noch nie einen Fehler gefunden, aber produzierst ständig
false positives wenn jemand einen neuen Hintergrundjob einfügt und
vergisst den hier einzutragen. Weg damit.

7 years agoRevert "focus: scroll to active element"
Sven Schöling [Thu, 19 Jan 2017 13:18:57 +0000 (14:18 +0100)]
Revert "focus: scroll to active element"

This reverts commit fdc625b4d1ba26782ff81ec2d79c1b533f26a9a7.

Das funktioniert so nicht. Grundsätzlich passiert das Scrollen passiert bei Fokus
automatisch. Bei force-reload kann es aber passieren, dass js/common
ausgeführt wird, bevor alle css Dateien geladen sind. Dann ändert sich
nachträglich die Größe der Elemente und das Element wird wieder aus dem
Bildschirm geschoben.

Ausserdem können Browser kein scroll offset, focus scrollt nur exakt
soweit dass das Element auf dem Screen ist, auch wenn das bedeutet, dass
es dann in den letzten 3% des Screen liegt.

Ich habe versucht das zu fixen, aber es wird dadurch nur komplizierter,
nicht besser. Also raus damit.

7 years agoPDF Helper Erweiterungen: bothsided , out_path
Martin Helmling martin.helmling@octosoft.eu [Wed, 18 Jan 2017 16:49:31 +0000 (17:49 +0100)]
PDF Helper Erweiterungen: bothsided , out_path

merge_pdfs mit weiterem Parameter "out_path"

Statt den Inhalt als Ergebnis zu bekommen, kann nun auch gleich die exitierende Datei zurückgegeben werden

Es kann nun die Seitenzahl der Dokumente ermittelt werden
und ggf (falls param "bothsided" gesetzt) eine leere Seite dazwischengefügt werden

7 years agoPaginierung schneller machen:
Martin Helmling martin.helmling@octosoft.eu [Wed, 18 Jan 2017 16:24:58 +0000 (17:24 +0100)]
Paginierung schneller machen:

SQL-Injection raus

7 years agoNeuer Test t/part/stock.t für Part Methode get_stock
G. Richardson [Tue, 17 Jan 2017 07:53:47 +0000 (08:53 +0100)]
Neuer Test t/part/stock.t für Part Methode get_stock

7 years agoSL::DB::Part - neue Methode get_stock
G. Richardson [Tue, 17 Jan 2017 07:41:38 +0000 (08:41 +0100)]
SL::DB::Part - neue Methode get_stock

um den aktuellen Lagerbestand eines Artikels in einem bestimmten
Lagerplatz oder in einem bestimmten Lager zu einem bestimmten Stichtag
in der Standardeinheit auszulesen.

7 years agoSL::Dev::Inventory - set_stock mit abs_qty, transfer_stock
G. Richardson [Mon, 16 Jan 2017 08:06:59 +0000 (09:06 +0100)]
SL::Dev::Inventory - set_stock mit abs_qty, transfer_stock

Man kann Lagerbestände jetzt sowohl positiv als auch negativ ändern,
oder einen gewünschten Bestand vorgeben (abs_qty).

Weiterhin kann man per transfer_stock Lagermengen zwischen Lagerplätzen
umlagern.

7 years agoSL::Dev::Record - Aufträge und Lieferscheine erstellen
G. Richardson [Fri, 13 Jan 2017 16:09:35 +0000 (17:09 +0100)]
SL::Dev::Record - Aufträge und Lieferscheine erstellen

7 years agoFlash bei ReportGenerator-Verwendung nicht manuell anzeigen
Moritz Bunkus [Wed, 18 Jan 2017 12:50:08 +0000 (13:50 +0100)]
Flash bei ReportGenerator-Verwendung nicht manuell anzeigen

Der ReportGenerator zeigt den Flash inzwischen selber an. Daher muss,
nein sollte, oder sogar darf der Aufrufer den Flash im Top-Info-Text
vorher nicht mehr anzeigen. Andernfalls erscheint er doppelt.

7 years agoPaginierung schneller machen für Lager(Paginierung repariert)
Martin Helmling mh@waldpark.octosoft.eu [Mon, 6 Jul 2015 15:46:22 +0000 (17:46 +0200)]
Paginierung schneller machen für Lager(Paginierung repariert)

Lagerbuchungen und Lagerbestand optimieren

1. Auf Rose umstellen grosser Aufwand.
2. Roseverhalten nachimplementieren:
2.1. Nur einen Query haben, danach kein herausnehmen von Zeilen
2.2. Dann funktioniert Paginierung mit LIMIT und OFFSET (wie Rose)
2.3. Rose macht ein zu Beginn  ein COUNT(*) um die Gesamtmenge zu ermitteln,wir merken uns das nach dem ersten Query

Der Mengenfilter kann schlecht in SQL integriert werden wegen Einheitenumrechnung (eventuell später noch eine PSQL Funktion einbauen)

7 years agojQuery-resetForm() anstelle von selbst geschriebenem Reset-Code nutzen #4
Moritz Bunkus [Wed, 18 Jan 2017 12:00:18 +0000 (13:00 +0100)]
jQuery-resetForm() anstelle von selbst geschriebenem Reset-Code nutzen #4

7 years agojQuery-resetForm() anstelle von selbst geschriebenem Reset-Code nutzen #3
Moritz Bunkus [Wed, 18 Jan 2017 11:56:27 +0000 (12:56 +0100)]
jQuery-resetForm() anstelle von selbst geschriebenem Reset-Code nutzen #3

7 years agojQuery-resetForm() anstelle von selbst geschriebenem Reset-Code nutzen #2
Moritz Bunkus [Wed, 18 Jan 2017 11:53:49 +0000 (12:53 +0100)]
jQuery-resetForm() anstelle von selbst geschriebenem Reset-Code nutzen #2

7 years agojQuery-resetForm() anstelle von selbst geschriebenem Reset-Code nutzen
Moritz Bunkus [Wed, 18 Jan 2017 11:42:23 +0000 (12:42 +0100)]
jQuery-resetForm() anstelle von selbst geschriebenem Reset-Code nutzen

Unsere bisherigen Reset-Implementationen haben die Inputs alle auf leer
gesetzt. Die Standard-Reset-Routinen der Browser setzen die Inputs
allerdings auf ihren Zustand zurück, den sie beim Laden hatten, was auch
mehr Sinn ergibt.

7 years agoAlle Rechnungen: »als bezahlt markieren« auf neue Funktionen in SL::DB::(Purchase...
Moritz Bunkus [Wed, 18 Jan 2017 09:57:54 +0000 (10:57 +0100)]
Alle Rechnungen: »als bezahlt markieren« auf neue Funktionen in SL::DB::(Purchase)Invoice umgestellt

7 years agoSL::DB::(Purchase)Invoice: neue Funktion »mark_as_paid«
Moritz Bunkus [Wed, 18 Jan 2017 09:40:08 +0000 (10:40 +0100)]
SL::DB::(Purchase)Invoice: neue Funktion »mark_as_paid«

Sie macht nichts weiter, als »paid« auf »amount« zu setzen.

7 years agoForm->redirect: übergebene Nachricht mittels »flash_later« anzeigen lassen
Moritz Bunkus [Wed, 18 Jan 2017 09:37:32 +0000 (10:37 +0100)]
Form->redirect: übergebene Nachricht mittels »flash_later« anzeigen lassen

Der Funktion $::form->redirect kann eine Nachricht übergeben
werden. Diese wird bisher nur dann angezeigt, wenn es keinen
aufzurufenden Callback gibt. Gibt es einen Callback, verschwindet die
Nachricht bisher im Nirvana.

Mit dieser Änderung wird die Nachricht im Flash gespeichert. Damit
besteht zumindest eine Chance, dass die nachfolgend angezeigte Maske die
Nachricht auch anzeigt, sofern sie den Flash einbindet. Da das
langfristig eh alle Masken machen sollen, ergibt diese Übergabe auch
jetzt schon Sinn.

7 years agoReportGenerator: im HTML-Bericht den Flash anzeigen
Moritz Bunkus [Wed, 18 Jan 2017 09:37:15 +0000 (10:37 +0100)]
ReportGenerator: im HTML-Bericht den Flash anzeigen

7 years agoHintergrundjob zum Schließen bei geschlossenen Aufträgen verlinkten Projekten
Moritz Bunkus [Tue, 17 Jan 2017 16:26:29 +0000 (17:26 +0100)]
Hintergrundjob zum Schließen bei geschlossenen Aufträgen verlinkten Projekten

Der Job ist per Default deaktiviert. Wenn eine solche Funktionalität für
eine Installation benötigt wird, so muss der Admin manuell einen
Hintergrundjob dafür anlegen.

7 years agoLager: Umstellung auf Verwendung vom Part-Picker
Moritz Bunkus [Tue, 17 Jan 2017 12:53:47 +0000 (13:53 +0100)]
Lager: Umstellung auf Verwendung vom Part-Picker

Dadurch wurden mehrere alte Artikel-Auswahl-Routinen und -Vorlagen
überflüssig, die gleich entfernt wurden.

7 years agoLager: Einlagernfunktionalität aus wh.pl entfernt
Moritz Bunkus [Tue, 17 Jan 2017 12:44:59 +0000 (13:44 +0100)]
Lager: Einlagernfunktionalität aus wh.pl entfernt

Diese wird inzwischen von SL::Controller::Inventory zur Verfügung
gestellt.

7 years agoForm->show_generic_error: Parameter action, back_button entfernt
Moritz Bunkus [Tue, 17 Jan 2017 10:16:31 +0000 (11:16 +0100)]
Form->show_generic_error: Parameter action, back_button entfernt

Der Funktion kann man eine spezifische Action mitgeben, damit ein Button
mit der Action anstelle des normalen Zurück-Buttons angezeigt wird. Es
gibt allerdings (schon lange?) keinen einzigen Aufruf mehr, der dieses
Feature »Action übergeben« nutzt.

Daher wird es hiermit entfernt.

Im Umkehrschluss gibt es keine Situation, wo der Zurück-Button nicht
angezeigt werden soll. Daher wird auch dieser Parameter entfernt.

7 years agoRevert "kivi.call_jquery: Funktion zum Aufrufen beliebiger jQuery-Funktionen"
Moritz Bunkus [Mon, 16 Jan 2017 12:22:10 +0000 (13:22 +0100)]
Revert "kivi.call_jquery: Funktion zum Aufrufen beliebiger jQuery-Funktionen"

Dies nimmt Commit 8c93869920ec0bf012a0f59175b39449c90a4d1f zurück. War
kein schönes Design, und die Aufrufer wurden bereits auf andere
Interfaces umgestellt.

7 years agot/part/assembly.t: nicht mit undef vergleichen
Sven Schöling [Mon, 16 Jan 2017 12:21:45 +0000 (13:21 +0100)]
t/part/assembly.t: nicht mit undef vergleichen

7 years agoio.pl: disconnect_standard_dbh bei _make_record wieder entfernt
Sven Schöling [Mon, 16 Jan 2017 12:17:46 +0000 (13:17 +0100)]
io.pl: disconnect_standard_dbh bei _make_record wieder entfernt

Das war in 49707e3c eingefügt worden mit Hinweis, dass es ein temporärer
Fix ist bis single-dbh abgeschlossen ist. Kann also wieder raus.

7 years agoSelfTests: check_overpayments verbessert
Jan Büren [Mon, 16 Jan 2017 11:03:18 +0000 (12:03 +0100)]
SelfTests: check_overpayments verbessert

i)
  chart_link muss nicht mehr über JOIN chart c c.link mit der
  acc_trans vereint werden
ii)
  Der Test hat keine sinnvollen Daten an den Benutzer zurück-
  gegeben. Jetzt wird die Kunden- und die Rechnungsnummer gemeldet
iii)
  Die Datenmenge nach aktuellem Geschäftsjahr zu filtern ist ent-
  sprechend angepasst (aktuelle Zahlungen -> Analyse aller vorhergenden
  Daten (trans_id) unabhängig vom Zeitraum).

7 years agofalse positive in SelfTests gefiltert (Periode)
Jan Büren [Mon, 16 Jan 2017 10:44:45 +0000 (11:44 +0100)]
false positive in SelfTests gefiltert (Periode)

Hintergrund:
Um nur die Daten-Analyse auf das aktuelle Geschäftsjahr (Geschäftsjahr gleich
Kalender-Jahr) zu machen, wird für die meisten Tests mit transdate == current_year
gefiltert.
Problem: Periodenübergreifende Buchungen (Zahlungsein- und -ausgänge) werden
nicht berücksichtigt und schlagen entsprechend Fehlarlam.

Optimierung: Es werden nur die Buchungen des aktuellen Geschäftsjahr angeschaut
und weitere acc_trans Daten ohne Zeitfilter über die trans_id gruppiert.

7 years agoMenu Icons können nun auch .svg Dateien sein
Martin Helmling martin.helmling@octosoft.eu [Thu, 12 Jan 2017 16:44:11 +0000 (17:44 +0100)]
Menu Icons können nun auch .svg Dateien sein

Vorrangig werden nun svg Dateien aus dem Verzeichnis ./image/icons/svg/*.svg verwendet.
Falls dort kein Icon auffindbar ist wird nach ./image/icons/16x16/*.png gesucht.

Es gibt seit langem ein svg Icon für den GoBD Export.
Das wird nun sichtbar. GGf anpassen.
Das Verzeichnis icon_svg wurde in icons/svg umbenannt.

7 years agoMerge branch 'f-chart-picker-in-gl'
Moritz Bunkus [Fri, 13 Jan 2017 13:41:53 +0000 (14:41 +0100)]
Merge branch 'f-chart-picker-in-gl'

7 years agokivi.PriceRule.js: strict & Warnungen vermeiden
Moritz Bunkus [Thu, 12 Jan 2017 16:10:13 +0000 (17:10 +0100)]
kivi.PriceRule.js: strict & Warnungen vermeiden

7 years agokivi.call_jquery: Funktion zum Aufrufen beliebiger jQuery-Funktionen
Moritz Bunkus [Fri, 13 Jan 2017 12:53:34 +0000 (13:53 +0100)]
kivi.call_jquery: Funktion zum Aufrufen beliebiger jQuery-Funktionen

An vielen Stellen schicken wir vom Backend aus nur die Namen
aufzurufender JavaScript-Funktionen an den Browser. Der sucht dann die
auszuführende Funktion mittels »kivi.get_function_by_name« aus dem
Namensraum heraus und führt sie anschließend mit »func.apply(…)« aus.

Leider ist es damit nicht so einfach möglich, jQuery-Funktionen
auszuführen, da diese als »this«-Argument ein jQuery-fiziertes Objekt
erwarten. Außerdem geht ein »namespace("jQuery.fn.resetForm")« schlicht
nicht bzw. tut nicht das, was man erwartet.

Daher die Funktion »kivi.call_jquery«. Ihr übergibt man:

1. einen jQuery-Selektor, der das »this«-Argument der aufzurufenden
   Funktion repräsentiert,
2. den Namen der aufzurufenden Funktion und
3. optional weitere Argumente.

Würde man z.B. einen Wert in einem Input setzen wollen, so sähe der
Aufruf in der Console so aus:

  kivi.call_jquery('#some_input_field', 'val', '42')

Das ist äquivalent zo

  $('#some_input_field').val('42')

Interessant wird die Verwendung an Stellen, wo nur Funktionsnamen
übergeben werden dürfen, z.B. bei »call«-Actions bei der ActionBar. Hier
sähe z.B. eine Action zum Zurücksetzen einer Form wie folgt aus:

  action => [
    t8('Reset'),
    call => [ 'kivi.call_jquery', '#form', 'resetForm' ],
  ],

Beim Anklicken wird dann letztlich das Äquivalent hierzu ausgeführt:

  $('#form').resetForm()

7 years agokivi.history_back: wie history.back() aber über kivi.get_function_by_name auffindbar
Moritz Bunkus [Fri, 13 Jan 2017 13:11:19 +0000 (14:11 +0100)]
kivi.history_back: wie history.back() aber über kivi.get_function_by_name auffindbar

7 years agokivi.submit_form_with_action: fügt Hidden-»action« mit Wert zu Form hinzu & submittet
Moritz Bunkus [Fri, 13 Jan 2017 13:08:33 +0000 (14:08 +0100)]
kivi.submit_form_with_action: fügt Hidden-»action« mit Wert zu Form hinzu & submittet

Zuerst werden alle existierenden Inputs namens »action« entfernt, damit
sich die Inputs nicht ins Gehege kommen. Anschließend wird ein neues
Hidden namens »action« mit dem übergebenen Wert erstellt, der Form
hinzugefügt, und die Form wird über $(selector).submit() sumittet.

7 years agokivi.SalesPurchase.js: Warnung vermeiden
Moritz Bunkus [Wed, 9 Nov 2016 13:06:58 +0000 (14:06 +0100)]
kivi.SalesPurchase.js: Warnung vermeiden