kivitendo-erp.git
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

7 years agoPrintOptions-Helfer: sub opthash Paket-lokal anstelle von sub-lokal
Moritz Bunkus [Wed, 11 Jan 2017 09:43:34 +0000 (10:43 +0100)]
PrintOptions-Helfer: sub opthash Paket-lokal anstelle von sub-lokal

Wir nutzen Named-Sub-in-Named-Sub nie, daher auch hier
nicht. Ursprünglich war die Funktion in bin/mozilla/io.pl, da ergab es
noch Sinn, um den Funktionsnamensraum nicht zu überladen. Aber nach dem
Verschieben in ein eigenes Paket ist das nicht mehr nötig.

7 years agoCSS: eine Klasse für versteckte Elemente
Moritz Bunkus [Fri, 11 Nov 2016 13:00:11 +0000 (14:00 +0100)]
CSS: eine Klasse für versteckte Elemente

7 years agoMahnungen: Funktion »Diese Sprache verwenden« gefixt Teil 2
Moritz Bunkus [Fri, 13 Jan 2017 10:27:38 +0000 (11:27 +0100)]
Mahnungen: Funktion »Diese Sprache verwenden« gefixt Teil 2

Wenn die Checkbox angehakt ist, so soll die Benutzer*in die Möglichkeit
haben, über die Druckoptionen einen Sprache für alle zu erzeugenden
Mahnungen auszuwählen. Ist die Checkbox aus, so wird die Sprache des
Kunden der jeweiligen Mahnung genommen, und dann muss die Sprachauswahl
deaktiviert werden.

Der erste Commit hat nur die Maske zum Erstellen neuer Mahnungen
abgedeckt. Dieser erledigt die Maske zum Anzeigen vorhandener Mahnungen.

7 years agoMahnungen: Funktion »Diese Sprache verwenden« gefixt
Moritz Bunkus [Fri, 13 Jan 2017 10:09:54 +0000 (11:09 +0100)]
Mahnungen: Funktion »Diese Sprache verwenden« gefixt

Wenn die Checkbox angehakt ist, so soll die Benutzer*in die Möglichkeit
haben, über die Druckoptionen einen Sprache für alle zu erzeugenden
Mahnungen auszuwählen. Ist die Checkbox aus, so wird die Sprache des
Kunden der jeweiligen Mahnung genommen, und dann muss die Sprachauswahl
deaktiviert werden.

7 years agoPart Controller - als neu speichern repariert
G. Richardson [Fri, 13 Jan 2017 09:26:31 +0000 (10:26 +0100)]
Part Controller - als neu speichern repariert

alle Buttons (Speichern, Als neu speichern, Löschen) setzen die action
selber (siehe js/kivi.Part.js) , die form braucht daher kein verstecktes
action für dispatch.

7 years agoMahnungen: Typo in query
Bernd Bleßmann [Thu, 12 Jan 2017 21:08:38 +0000 (22:08 +0100)]
Mahnungen: Typo in query

Fürhte zwar nicht zu einem Fehler, war aber sicher so nicht gewollt.

7 years agolocale-Lauf
Moritz Bunkus [Thu, 12 Jan 2017 15:53:57 +0000 (16:53 +0100)]
locale-Lauf

7 years agoArtikelsuche: Überschrift in Bericht wieder ergänzt
Moritz Bunkus [Thu, 12 Jan 2017 15:51:23 +0000 (16:51 +0100)]
Artikelsuche: Überschrift in Bericht wieder ergänzt

Es gibt inzwischen nur noch einen Menüpunkt für Artikelsuche, nicht mehr
einen pro Typ. Der Typ wird dann anhand von Checkboxen unterschieden.

Da dabei durchaus nach mehreren Typen gleichzeitig gesucht werden kann,
ergibt eine Unterscheidung der Überschrift nach zu suchendem Typ wenig
Sinn. Ergo wird als Überschrift immer »Artikel« genutzt.

7 years agoMahnungen: Metadaten der Mitarbeiter (Bearbeiter/Verkäufer) setzen
Jan Büren [Thu, 12 Jan 2017 12:39:14 +0000 (13:39 +0100)]
Mahnungen: Metadaten der Mitarbeiter (Bearbeiter/Verkäufer) setzen

Vorher: salesman_name hat den Namen von employee_name bekommen. Weitere
Daten wurden nicht (mehr) gesetzt.

Aktuell: Jetzt werden die Metadaten von employee_ und salesman_ sauber
gesetzt und die Dokumentation ist entsprechend angepasst.
CAVEAT: Bei mehreren Rechnungen die zusammengefasst werden, werden nur beim
ersten Treffer (teilweise LIMIT 1 in SQL-Anweisungen) die entsprechenden
Daten gesetzt (Hinweis in Doku geschrieben).

7 years agoRB-Druckvorlagen: mehr Mitarbeiter-Metadaten für Mahnungen
Jan Büren [Thu, 12 Jan 2017 12:37:43 +0000 (13:37 +0100)]
RB-Druckvorlagen: mehr Mitarbeiter-Metadaten für Mahnungen

7 years agoRevert "Verkauf/Rechnungen/Massenerstellung: Zahlungsbedigungen werden nicht übernommen"
Martin Helmling martin.helmling@octosoft.eu [Thu, 12 Jan 2017 11:46:58 +0000 (12:46 +0100)]
Revert "Verkauf/Rechnungen/Massenerstellung: Zahlungsbedigungen werden nicht übernommen"

This reverts commit 90e59318411f63c95a7e803b4383d75ec72427a8.

7 years agoChartPicker: Lupe wie beim PartPicker stylen
Moritz Bunkus [Thu, 12 Jan 2017 11:00:27 +0000 (12:00 +0100)]
ChartPicker: Lupe wie beim PartPicker stylen

7 years agoChartPicker: Taskendrücke auf Shift, Ctrl & Alt ignorieren
Moritz Bunkus [Thu, 12 Jan 2017 10:43:50 +0000 (11:43 +0100)]
ChartPicker: 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 agoChartPicker: unbenutzte Variable last_unverified_dummy entfernt
Moritz Bunkus [Thu, 12 Jan 2017 10:16:53 +0000 (11:16 +0100)]
ChartPicker: 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 agoChartPicker: Strict-Modus & Warnungen von jshint beseitigt
Moritz Bunkus [Thu, 12 Jan 2017 10:16:25 +0000 (11:16 +0100)]
ChartPicker: Strict-Modus & Warnungen von jshint beseitigt

7 years agoChartPicker: Test-Seite um vorausgefüllte Picker ergänzt
Moritz Bunkus [Thu, 12 Jan 2017 09:27:37 +0000 (10:27 +0100)]
ChartPicker: Test-Seite um vorausgefüllte Picker ergänzt

7 years agoPartPicker: Taskendrücke auf Shift, Ctrl & Alt ignorieren
Moritz Bunkus [Thu, 12 Jan 2017 09:57:13 +0000 (10:57 +0100)]
PartPicker: 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 agoPartPicker: unbenutzte Variable last_unverified_dummy entfernt
Moritz Bunkus [Thu, 12 Jan 2017 09:30:03 +0000 (10:30 +0100)]
PartPicker: 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 agoPartPicker: Strict-Modus & Warnungen von jshint beseitigt
Moritz Bunkus [Thu, 12 Jan 2017 09:27:22 +0000 (10:27 +0100)]
PartPicker: Strict-Modus & Warnungen von jshint beseitigt

7 years agoVerkauf/Rechnungen/Massenerstellung: Zahlungsbedigungen werden nicht übernommen
Martin Helmling martin.helmling@octosoft.eu [Thu, 12 Jan 2017 09:33:07 +0000 (10:33 +0100)]
Verkauf/Rechnungen/Massenerstellung: Zahlungsbedigungen werden nicht übernommen

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

7 years agokivi.js: alle jshint-Warnungen beseitigt & auf strict umgestellt
Moritz Bunkus [Fri, 6 Jan 2017 09:19:09 +0000 (10:19 +0100)]
kivi.js: alle jshint-Warnungen beseitigt & auf strict umgestellt

7 years agoPart Controller - Artikelnummer von unbenutzten Artikeln ändern
G. Richardson [Wed, 11 Jan 2017 10:14:17 +0000 (11:14 +0100)]
Part Controller - Artikelnummer von unbenutzten Artikeln ändern

7 years agoLXDebug: bei SHOW_CALLER ersten Caller außerhalb von LXDebug.pm nehmen
Moritz Bunkus [Wed, 11 Jan 2017 09:23:00 +0000 (10:23 +0100)]
LXDebug: bei SHOW_CALLER ersten Caller außerhalb von LXDebug.pm nehmen

Andernfalls wird beim Aufruf von z.B. »SL::Controller::CustomerVendor →
LXDebug::dump() → LXDebug::message()« fälschlicherweise
»LXDebug::dump()« als Caller ausgegeben. Das interessiert die Nutzer*in
aber im Zweifelsfall nicht, sondern »SL::Controller::CustomerVendor«.

7 years agoZum Erfassen neuer Artikel neuen Part-Controller verwenden
Martin Helmling martin.helmling@octosoft.eu [Wed, 11 Jan 2017 07:55:05 +0000 (08:55 +0100)]
Zum Erfassen neuer Artikel neuen Part-Controller verwenden

Die Knöpfe zum Erstellen neuer Artikel im Artikelreport springen nun in den neuen Part Controller

7 years agoPrüfen der Bestandteile eines Erzeugnisses beim Hinzufügen
Martin Helmling martin.helmling@octosoft.eu [Wed, 4 Jan 2017 16:46:35 +0000 (17:46 +0100)]
Prüfen der Bestandteile eines Erzeugnisses beim Hinzufügen

Erst Prüfung innerhalb des Erzeugnisses,
dann recursive Prüfung der das Erzeugnis enthaltenen Erzeugnisse,
Abbruch nach 100 Rekursionen.

Die Abfrage ist so, dass nur vom Erzeugnis abwärts der Baum in die Tiefe geprüft wird.
Dabei darf auf einem Graph kein Erzeugnis doppelt vorkommen.

Erzeugnisse sind nun editierbar, wenn sie von einem anderen Erzeugnis verwendet werden
solange sie in keinem ERP-Dokument verwendet werden.

Implementiert in einem Helper für SL::Controller::Part.
Er wird auch im Test t/part/assembly.t verwendet

7 years agoDokumentation neu generiert
Martin Helmling martin.helmling@octosoft.eu [Wed, 11 Jan 2017 07:21:21 +0000 (08:21 +0100)]
Dokumentation neu generiert

7 years agoArtikel-Klassifizierung: Dokumentation
Martin Helmling martin.helmling@octosoft.eu [Thu, 22 Dec 2016 11:14:54 +0000 (12:14 +0100)]
Artikel-Klassifizierung: Dokumentation

7 years agopartpicker mit classification_id als filter erweitert
Martin Helmling martin.helmling@octosoft.eu [Wed, 28 Dec 2016 15:38:42 +0000 (16:38 +0100)]
partpicker mit classification_id als filter erweitert

7 years agoVereinfachte Abkürzungsmethode "typeclass_abbreviation" im Part Presenter
Martin Helmling martin.helmling@octosoft.eu [Wed, 28 Dec 2016 15:36:54 +0000 (16:36 +0100)]
Vereinfachte Abkürzungsmethode "typeclass_abbreviation" im Part Presenter

7 years agoZusammengefasstes Listen von Ware,Erzeugnis,Dienstleistung und Sortimenten
Martin Helmling martin.helmling@octosoft.eu [Thu, 22 Dec 2016 08:46:44 +0000 (09:46 +0100)]
Zusammengefasstes Listen von Ware,Erzeugnis,Dienstleistung und Sortimenten

Die Suchmaske für Ware,Erzeugnis,Dienstleistung und Sortiment gilt nun einheitlich für alle Artikeltypen,
deshalb wird nur noch eine Menueauswahl dazu angeboten

7 years agoFalls ein Artikel nicht gefunden wird, kann gleich in die Erfassung gegangen werden
Martin Helmling martin.helmling@octosoft.eu [Thu, 22 Dec 2016 08:12:19 +0000 (09:12 +0100)]
Falls ein Artikel nicht gefunden wird, kann gleich in die Erfassung gegangen werden

Dies ist in der Manantenkonfigurierung einstellbar.

7 years agoArtikel-Klassifizierung: "Preis separat ausweisen"
Martin Helmling martin.helmling@octosoft.eu [Thu, 22 Dec 2016 08:07:46 +0000 (09:07 +0100)]
Artikel-Klassifizierung: "Preis separat ausweisen"

Dieses neue Attribut an Artikelklassifizierung erlaubt in Aufträgen und Rechnungen
bestimmte Artikel extra auszuweisen.
Dazu werden diese als extra Variable der Dokumentengeneierung zur Verfügung gestellt.
Siehe neue Dokumentation Kapitel 3.7

Hintergrund:
       Preise von Artikeln wie "Verpackung" oder "Transport" müssen
       oftmals separat ausgewiesen werden, genauso wie der reine Warenwert

7 years agoArtikel-Klassifizierung
Martin Helmling martin.helmling@octosoft.eu [Thu, 22 Dec 2016 07:37:45 +0000 (08:37 +0100)]
Artikel-Klassifizierung

    Die Klassifizierung von Artikeln dient einer weiteren Gliederung um zum Beispiel den Einkauf vom Verkauf zu trennen, etc.

    Gekennzeichnet durch eine Beschreibung (z.B. "Einkauf") und ein Kürzel (z.B. "E")
    Flexibel änderbar und erweiterbar.

    - Neue Datenbanktablle und Rose-Objekte, sowie Controller zum Bearbeiten der Tabelle

    - Zwei-Zeichen Abkürzung:

    Der Typ des Artikel und die Klassifizierung werden durch zwei Buchstaben dargestellt.
    Der erste Buchstabe  ist eine Lokalisierung des Typs des Artikel ('P','A','S') ,
    deutch 'W', 'E', und 'D' für Ware Erzeugnis oder Dienstleistung, ggf. weitere Typen.
    Der zweite Buchstabe ist eine Lokalisierung der Klassifizierungsabkürzung (abbreviation).

    Die Abkürzungen sind aus dem Part Presenter abholbar:
    -  SL::Presenter::Part->type_abbreviation($part_type)
    -  SL::Presenter::Part->classification_abbreviation($classification_id)

    Anpassung des CSV Import,
    nun wird alternativ zur 'part_type'-Spalte die 'pclass'-Spalte mit zwei Buchstaben geparsed und entsprechend
    classification_id, part_type gesetzt.

7 years agoBanktransaction: Kontoauszug verbuchen überarbeitet(2)
Martin Helmling martin.helmling@octosoft.eu [Wed, 11 Jan 2017 07:17:49 +0000 (08:17 +0100)]
Banktransaction: Kontoauszug verbuchen überarbeitet(2)

Korektere Initialisierung von Arrays

7 years agoCsvImport Aufträge: Variable besser benannt und Kommentar berichtigt.
Bernd Bleßmann [Tue, 10 Jan 2017 16:54:51 +0000 (17:54 +0100)]
CsvImport Aufträge: Variable besser benannt und Kommentar berichtigt.

7 years agoCsvImport Aufträge: Positionen nicht fehlerhaft markieren, wenn Auftrag fehlerhaft.
Bernd Bleßmann [Tue, 10 Jan 2017 16:21:16 +0000 (17:21 +0100)]
CsvImport Aufträge: Positionen nicht fehlerhaft markieren, wenn Auftrag fehlerhaft.

Das zeigt dann im Bericht nicht alle Zeilen als Fehler an, die selber keinen
Fehler enthalten und bei denen nur die Auftragszeile fehlerhaft ist.
Die Markierung ist auch nicht mehr nötig, da nur Aufträge und nicht
Postitionszeilen gespeichert werden.

7 years agoCsvImport Aufträge: Keine Aufträge speichern, wenn alle fehlerhaft sind.
Bernd Bleßmann [Tue, 10 Jan 2017 16:14:12 +0000 (17:14 +0100)]
CsvImport Aufträge: Keine Aufträge speichern, wenn alle fehlerhaft sind.

Dazu die zu speichernden Einträge mit einem leerem Array initialisieren, denn
sonst nimmt die save_objects-Routine aus der Basis-Klasse alle Einträge.
Das war bisher zwar kein Problem, weil auch alle Positionszeilen vorher bei
fehlerhaften Auftragszeilen als fehlerhaft markiert und somit nicht gespeichert
wurden. Diese Markierung ist jetzt überflüssig (extra commit).

7 years agoBanktransaction: Kontoauszug verbuchen überarbeitet
Martin Helmling martin.helmling@octosoft.eu [Tue, 10 Jan 2017 16:16:04 +0000 (17:16 +0100)]
Banktransaction: Kontoauszug verbuchen überarbeitet

kein _as_number für amount verwenden

Fehlermeldung bei Transaktionen bearbeitet

Bei Sammelanweisung Zuweisung korrigiert

Die per SEPA-Export gefundenen Übereinstimmungen werden nun auch bewertet,
damit gleichartige Rechnungen genauer zugeordnet werden

7 years agokivi.detect_duplicate_ids_in_dom: Funktion zum Auffinden doppelter IDs im DOM
Moritz Bunkus [Tue, 10 Jan 2017 14:52:09 +0000 (15:52 +0100)]
kivi.detect_duplicate_ids_in_dom: Funktion zum Auffinden doppelter IDs im DOM

7 years agodo/form_header.html: Element »department_id« nicht doppelt ausgeben
Moritz Bunkus [Tue, 10 Jan 2017 14:53:51 +0000 (15:53 +0100)]
do/form_header.html: Element »department_id« nicht doppelt ausgeben

7 years agokivi.popup_dialog: neuer Callback »load« nach erfolgreichem AJAX-Laden des Inhalts
Moritz Bunkus [Mon, 9 Jan 2017 15:37:07 +0000 (16:37 +0100)]
kivi.popup_dialog: neuer Callback »load« nach erfolgreichem AJAX-Laden des Inhalts

7 years agoCsvImport Aufträge: Auftragsnummer nicht mit SL::TransNumber setzen, …
Bernd Bleßmann [Tue, 10 Jan 2017 11:36:53 +0000 (12:36 +0100)]
CsvImport Aufträge: Auftragsnummer nicht mit SL::TransNumber setzen, …

denn dies wird automatisch über SL::DB:Order beim Speichern gemacht.

7 years agoCsvImport: Unbenutzte Variable/Statement entfernt.
Bernd Bleßmann [Tue, 10 Jan 2017 11:20:03 +0000 (12:20 +0100)]
CsvImport: Unbenutzte Variable/Statement entfernt.

7 years agoTypo im Kommentar korrigiert.
Bernd Bleßmann [Tue, 10 Jan 2017 11:16:03 +0000 (12:16 +0100)]
Typo im Kommentar korrigiert.

7 years agoSelfTest Kosmetik
Jan Büren [Sun, 8 Jan 2017 16:19:24 +0000 (17:19 +0100)]
SelfTest Kosmetik

Ein überflüssiges JOIN entfernt und etwas sinnvoller den
Code formatiert.

7 years agoSelfTests check_summe_stornobuchungen optimiert
Jan Büren [Sun, 8 Jan 2017 16:03:22 +0000 (17:03 +0100)]
SelfTests check_summe_stornobuchungen optimiert

Die Summenprüfung der Stornobuchungen muss
auch über den Jahreswechsel hinaus Buchungen berücksichtigen.

7 years agoMehr Fokusoptionen in Belegen
Sven Schöling [Wed, 4 May 2016 11:08:04 +0000 (13:08 +0200)]
Mehr Fokusoptionen in Belegen

7 years agofocus: scroll to active element
Sven Schöling [Tue, 6 Dec 2016 12:47:20 +0000 (13:47 +0100)]
focus: scroll to active element

7 years agojs/common.js: hash focus funktionalität wiederhergestellt
Sven Schöling [Tue, 6 Dec 2016 09:56:36 +0000 (10:56 +0100)]
js/common.js: hash focus funktionalität wiederhergestellt

7 years agofocus: Zeilenfokus in die normale Behandlung verschoben
Sven Schöling [Tue, 6 Dec 2016 09:03:20 +0000 (10:03 +0100)]
focus: Zeilenfokus in die normale Behandlung verschoben

7 years agoLinkedRecord: Batch mode
Sven Schöling [Thu, 5 Jan 2017 14:05:25 +0000 (15:05 +0100)]
LinkedRecord: Batch mode

7 years agoPerformance: inject_results in linked_records
Sven Schöling [Tue, 3 Jan 2017 15:13:37 +0000 (16:13 +0100)]
Performance: inject_results in linked_records

7 years agoLinkedRecords: with_objects erlauben für shipped_qty
Sven Schöling [Fri, 16 Jan 2015 12:34:51 +0000 (13:34 +0100)]
LinkedRecords: with_objects erlauben für shipped_qty

7 years agoVerkaufs-/Einkaufsbelege: beim Laden der Lieferadresse $form->{shipto_id} nicht übers...
Moritz Bunkus [Thu, 5 Jan 2017 12:22:49 +0000 (13:22 +0100)]
Verkaufs-/Einkaufsbelege: beim Laden der Lieferadresse $form->{shipto_id} nicht überschreiben

Die Semantik in der Datenbank sieht so aus, dass z.B. oe.shipto_id nur
dann gesetzt ist, wenn eine der Lieferadressen aus den Stammdaten
ausgewählt ist. Genauer:

• Stammdatenlieferadresse:
  oe.shipto_id == shipto.shipto_id,
  shipto.module = 'CT',
  shipto.trans_id = customer.id (oder vendor.id)

• Individuelle Lieferadresse:
  oe.shipto_id == NULL,
  shipto.module = 'OE',
  shipto.trans_id == oe.id

Der Inhalt von $form muss das genau so reflektieren, denn anhand dieses
Feldes $form->{shipto_id} wird dann in den Masken entschieden, was wie
angezeigt wird.

7 years agoLXDebug: Flag SHOW_CALLER für Ausgabe Dateiname:Zeilennummer bei message() & dump()
Moritz Bunkus [Thu, 5 Jan 2017 11:55:31 +0000 (12:55 +0100)]
LXDebug: Flag SHOW_CALLER für Ausgabe Dateiname:Zeilennummer bei message() & dump()

7 years agokivi.popup_dialog(): übergebenen close-Handler auch ausführen
Moritz Bunkus [Wed, 4 Jan 2017 16:01:12 +0000 (17:01 +0100)]
kivi.popup_dialog(): übergebenen close-Handler auch ausführen

Die Funktion kivi.popup_dialog() installiert ihren eigenen
close-Handler, um den in dem Moment noch vorhandenen Dialog zu
entfernen (sofern der Dialog aus HTML-Code erzeugt oder von einer URL
nachgeladen wurde) bzw. zu schließen (sofern ein vorher bereits im DOM
existierendes Element angezeigt wurde). Dadurch werden vom Aufrufer
vergebene close-Handler überschrieben.

Da es mehrere Stellen im Programm gibt, an denen ein close-Handler
übergeben wird, wurde kivi.popup_dialog() nun so erweitert, dass es den
übergebenen Handler speichert und zuerst ausführt und erst anschließend
das Entfernen respektive Schließen durchführt.

7 years agoAbfangen von leerer warehouse_id bevor Objekt gesucht wird
Martin Helmling martin.helmling@octosoft.eu [Wed, 4 Jan 2017 09:30:20 +0000 (10:30 +0100)]
Abfangen von leerer warehouse_id bevor Objekt gesucht wird

Will man kein Default Lager einstellen kommt es zu einem Rose Fehler.
Nun wird verfahren wie wenn Lager nicht gefunden wird.

7 years agoinstallation_check.pl: LxOfficeConf safe_require gefixt
Sven Schöling [Thu, 29 Dec 2016 11:45:28 +0000 (12:45 +0100)]
installation_check.pl: LxOfficeConf safe_require gefixt

7 years agodoc binaries
Jan Büren [Wed, 28 Dec 2016 21:23:35 +0000 (22:23 +0100)]
doc binaries

7 years agodocumentation.xml eigenen typo gefixt
Jan Büren [Wed, 28 Dec 2016 20:51:19 +0000 (21:51 +0100)]
documentation.xml eigenen typo gefixt

7 years agocreate doc binaries aktualisiert
Jan Büren [Wed, 28 Dec 2016 20:46:03 +0000 (21:46 +0100)]
create doc binaries aktualisiert

7 years agoInstallationsanweisungen für debian/ubuntu geändert
Jan Büren [Wed, 28 Dec 2016 20:36:41 +0000 (21:36 +0100)]
Installationsanweisungen für debian/ubuntu geändert

Seit ca. 2015 ist CGI.pm nicht mehr im Perl Core und das
Paket libcgi-perl seit Intrepid nicht mehr vorhanden:
S.a.   2015-04-30 09:26:14 UTC   Deleted   Intrepid

https://launchpad.net/ubuntu/+source/libcgi-perl/+publishinghistory

7 years agoZahlungsbedingungen obsolet setzen
G. Richardson [Tue, 27 Dec 2016 10:25:01 +0000 (11:25 +0100)]
Zahlungsbedingungen obsolet setzen

Damit können alte und ungenutzte Zahlungsbedingungen für neue
Belege/CV/Artikel ausgeblendet werden.

Außerdem Umstellung von generic/multibox auf L.select_tag in den Masken

7 years agoLieferscheine - Abteilung per ALL_DEPARTMENTS und L.select_tag
G. Richardson [Fri, 23 Dec 2016 08:53:39 +0000 (09:53 +0100)]
Lieferscheine - Abteilung per ALL_DEPARTMENTS und L.select_tag

7 years agoAufträge - Abteilung per ALL_DEPARTMENTS und L.select_tag
G. Richardson [Fri, 23 Dec 2016 08:44:10 +0000 (09:44 +0100)]
Aufträge - Abteilung per ALL_DEPARTMENTS und L.select_tag

7 years agoVerkaufsrechnung bearbeiten - ALL_DEPARTMENTS wie andere Belegemasken
G. Richardson [Fri, 23 Dec 2016 08:26:49 +0000 (09:26 +0100)]
Verkaufsrechnung bearbeiten - ALL_DEPARTMENTS wie andere Belegemasken

7 years agoDebitorenbuchung - Abteilung nutzt immer L.select_tag als Dropdown
G. Richardson [Fri, 23 Dec 2016 08:15:25 +0000 (09:15 +0100)]
Debitorenbuchung - Abteilung nutzt immer L.select_tag als Dropdown

7 years agoKreditorenbuchung - Abteilung nutzt immer L.select_tag als Dropdown
G. Richardson [Fri, 23 Dec 2016 07:52:03 +0000 (08:52 +0100)]
Kreditorenbuchung - Abteilung nutzt immer L.select_tag als Dropdown

7 years agoDialogbuchen - Abteilung nutzt immer L.select_tag als Dropdown
G. Richardson [Fri, 23 Dec 2016 07:28:47 +0000 (08:28 +0100)]
Dialogbuchen - Abteilung nutzt immer L.select_tag als Dropdown

8 years agoWebdav-Datei-Aufruf direkt mit Backend-Funktion
Jan Büren [Fri, 23 Dec 2016 11:04:38 +0000 (12:04 +0100)]
Webdav-Datei-Aufruf direkt mit Backend-Funktion

Webdav Pfad und Dateiname muss nicht bei der Parameterübergabe
zusammengebaut werden. Besser direkt die Funktion Webdav->full_filedescriptor
hierfür nutzen

8 years agoRB-Briefvorlage kivicompany vergessen zu setzen
Jan Büren [Fri, 23 Dec 2016 11:03:29 +0000 (12:03 +0100)]
RB-Briefvorlage kivicompany vergessen zu setzen

8 years agoWebdav: Funktion full_filedescriptor dokumentiert
Sven Schöling [Fri, 23 Dec 2016 10:11:47 +0000 (11:11 +0100)]
Webdav: Funktion full_filedescriptor dokumentiert

8 years agoKreditorenbuchung um WebDAV-Funktion erweitert
Jan Büren [Fri, 23 Dec 2016 09:08:14 +0000 (10:08 +0100)]
Kreditorenbuchung um WebDAV-Funktion erweitert

8 years agochangelog für WebDAV für Dialogbuchen geändert
Jan Büren [Fri, 23 Dec 2016 08:37:25 +0000 (09:37 +0100)]
changelog für WebDAV für Dialogbuchen geändert

8 years agoDialogbuchen um WebDAV-Funktion erweitert
Jan Büren [Fri, 23 Dec 2016 08:35:11 +0000 (09:35 +0100)]
Dialogbuchen um WebDAV-Funktion erweitert

8 years agogl html vergessenes schließendes table element
Jan Büren [Mon, 19 Dec 2016 17:43:25 +0000 (18:43 +0100)]
gl html vergessenes schließendes table element

8 years agoAlle neuen Features im Master-Branch in das Basis User-Menu
Martin Helmling martin.helmling@octosoft.eu [Thu, 22 Dec 2016 07:22:33 +0000 (08:22 +0100)]
Alle neuen Features im Master-Branch in das Basis User-Menu

8 years agoSL::DB::Helper::Manager: mehr Dokumentation
Moritz Bunkus [Tue, 20 Dec 2016 15:28:59 +0000 (16:28 +0100)]
SL::DB::Helper::Manager: mehr Dokumentation

8 years agoSL::DB::Helper::Manager: neue Funktion zum Pre-Cachen aller Einträge einer Tabelle
Moritz Bunkus [Tue, 20 Dec 2016 15:20:49 +0000 (16:20 +0100)]
SL::DB::Helper::Manager: neue Funktion zum Pre-Cachen aller Einträge einer Tabelle

8 years agoTests: CTI-Test gefixt
Moritz Bunkus [Tue, 20 Dec 2016 09:34:07 +0000 (10:34 +0100)]
Tests: CTI-Test gefixt

Nach Übernahme von Commit cfb460aac »CTI: wenn kein dial_command
vorhanden callto: links rendern« aus der LINET-Installation war dies
aufgrund erweiterter Funktionalität nötig.

8 years agoPart Controller - altes Template entfernt
G. Richardson [Tue, 20 Dec 2016 09:41:27 +0000 (10:41 +0100)]
Part Controller - altes Template entfernt

wurde ersetzt durch templates/webpages/part/_multi_items_dialog.html

8 years agoAlte Partsgroup Templates entfernt
G. Richardson [Tue, 20 Dec 2016 09:39:03 +0000 (10:39 +0100)]
Alte Partsgroup Templates entfernt

8 years agoFehlende Übersetzungen ergänzt
Moritz Bunkus [Tue, 20 Dec 2016 08:56:08 +0000 (09:56 +0100)]
Fehlende Übersetzungen ergänzt

8 years ago_cvars.html: benutzte Plugins auch einbinden (hier: T8)
Moritz Bunkus [Tue, 20 Dec 2016 08:53:55 +0000 (09:53 +0100)]
_cvars.html: benutzte Plugins auch einbinden (hier: T8)

8 years agoBUGFIX: Neuen Artikel anlegen verwendet alten Controller
Martin Helmling martin.helmling@octosoft.eu [Mon, 19 Dec 2016 13:31:52 +0000 (14:31 +0100)]
BUGFIX: Neuen Artikel anlegen verwendet alten Controller

Neuen Artikel anlegen springt in nicht mehr vorhandene Methode in ic.pl

Nun wird in neuen Part Controller gesprungen

8 years agoMehr als eine SelfTest-Modul prüfen
Jan Büren [Mon, 19 Dec 2016 09:20:01 +0000 (10:20 +0100)]
Mehr als eine SelfTest-Modul prüfen

Der Aufruf der SelfTest funktionierte nur für genau eine
Datei - Mit einer leicht anderen Aufruf-Syntax werden auch weitere
Tests durchgeführt.

8 years agoRevert "Mehr als eine SelfTest-Modul prüfen"
Jan Büren [Mon, 19 Dec 2016 09:16:36 +0000 (10:16 +0100)]
Revert "Mehr als eine SelfTest-Modul prüfen"

git add --patch falsch angewandt.

This reverts commit db4680753f5ec1de62bdc0557f850afd810444d1.

8 years agoMehr als eine SelfTest-Modul prüfen
Jan Büren [Mon, 19 Dec 2016 09:10:51 +0000 (10:10 +0100)]
Mehr als eine SelfTest-Modul prüfen

Der Aufruf der SelfTest funktionierte nur für genau eine
Datei - Mit einer leicht anderen Aufruf-Syntax werden auch weitere
Tests durchgeführt.

8 years agoBankTransaction: kein Push auf Skalarvariable
Moritz Bunkus [Fri, 16 Dec 2016 08:56:45 +0000 (09:56 +0100)]
BankTransaction: kein Push auf Skalarvariable

Neue Perl-Versionen werfen bei Pushes auf Skalare (auch wenn das
Arrayreferenzen sind) Fehler und nicht nur Warnungen:

push $array_ref, $value; # Experimental push on scalar is now forbidden

push @{ $array_ref }, $value; # OK

8 years agoBankTransaction: Spaltennamen von CamelCase in snake_case umbenannt
Moritz Bunkus [Fri, 16 Dec 2016 08:31:22 +0000 (09:31 +0100)]
BankTransaction: Spaltennamen von CamelCase in snake_case umbenannt

kivitendo nutzt rein lower-case-Spaltennamen mit Unterstrichen als
Worttrenner, kein CamelCase. Betrifft Spalten transactioncode und
transactiontext in bank_transfers.

8 years agoMT940-Import: Darstellungskorrekturen und fehlender Push eines Vorschlags
Martin Helmling [Thu, 15 Dec 2016 16:38:21 +0000 (17:38 +0100)]
MT940-Import: Darstellungskorrekturen und fehlender Push eines Vorschlags

8 years agoCTI: wenn kein dial_command vorhanden callto: links rendern
Sven Schöling [Wed, 28 Sep 2016 16:12:46 +0000 (18:12 +0200)]
CTI: wenn kein dial_command vorhanden callto: links rendern

8 years agoemployee_company und salesman_company für flattentoform
Jan Büren [Thu, 15 Dec 2016 10:13:38 +0000 (11:13 +0100)]
employee_company und salesman_company für flattentoform

Hintergrund: Bei automatisch generierten Rechnungen werden diese
beiden Druckvariablen nicht gefüllt. Mittlerweile sind diese aber
Mandantenspezifisch und nicht mehr an dem Benutzer gebunden.
Entsprechend den Wert aus instance_config geholt und für beide  Variablen

8 years agoBUGFIX: Kreditorenbuchungen: Fehler beim Nutzen von Drafts(2)
Martin Helmling martin.helmling@octosoft.eu [Mon, 12 Dec 2016 14:59:04 +0000 (15:59 +0100)]
BUGFIX: Kreditorenbuchungen: Fehler beim Nutzen von Drafts(2)

Herausnahme der Anpassungen aus dem Draft Controller in die neuen Methoden show_draft der legacy scripts

8 years agoBUGFIX: Benachrichtigung automatisch erstellter Rechnungen fehlerhaft
Martin Helmling martin.helmling@octosoft.eu [Mon, 12 Dec 2016 13:38:37 +0000 (14:38 +0100)]
BUGFIX: Benachrichtigung automatisch erstellter Rechnungen fehlerhaft

Dieses Problem wird im Redmine Ticket #218 angesprochen.

Durch Verwendung einer lokalen Variable behoben