kivitendo-erp.git
11 years agoMerge branch 'master' of github.com:kivitendo/kivitendo-erp
Moritz Bunkus [Wed, 30 Jan 2013 12:22:56 +0000 (13:22 +0100)]
Merge branch 'master' of github.com:kivitendo/kivitendo-erp

11 years agoStringifizierbare Klassen laden, bevor YAML::Load() aufgerufen wird
Moritz Bunkus [Wed, 30 Jan 2013 11:55:41 +0000 (12:55 +0100)]
Stringifizierbare Klassen laden, bevor YAML::Load() aufgerufen wird

Hintergrund. Normalerweise dumpt YAML Klassen sinnvoll, sprich mit
Typus, Paketnamen und Innereien. Für eine Instanz von
SL::Locale::String könnte das z.B. so aussehen:

--- !!perl/hash:SL::Locale::String
untranslated: Invoice

Lädt mal das wieder, so entsteht daraus auch ein Objekt. Allerdings
ist es zwingend erforderlich, dass Perl die Klassendefinition zum
Zeitpunkt von YAML::Load() bereits gesehen hat. Ansonsten geht die
Stringifizierung verloren, weil sie zum Zeitpunkt des "bless()"ens
nicht bekannt war.

Das passierte mit normalen CGI, weil der Controller selber erst nach
dem Auslesen der Session via "require..." geladen wird, der Controller
lädt Rose-DB-Model, das lädt SL::Locale::String.

11 years agoJavaScript-Syntax-Fehler bei Kreditlimit-Warnung
Bernd Bleßmann [Wed, 30 Jan 2013 10:58:47 +0000 (11:58 +0100)]
JavaScript-Syntax-Fehler bei Kreditlimit-Warnung

11 years agoActsAsList: Neue Funktion "reorder_list"
Moritz Bunkus [Wed, 30 Jan 2013 10:15:23 +0000 (11:15 +0100)]
ActsAsList: Neue Funktion "reorder_list"

Conflicts:
SL/Controller/ProjectType.pm

11 years agoWenn Proxies übergeben werden, müssen die vor dem Downgrade stringifiziert werden.
Sven Schöling [Tue, 29 Jan 2013 17:01:43 +0000 (18:01 +0100)]
Wenn Proxies übergeben werden, müssen die vor dem Downgrade stringifiziert werden.

11 years agoDebitoren-/Kreditoren-/Dialogbuchungen: Fremdschlüsselspalte "department_id" nicht...
Moritz Bunkus [Mon, 28 Jan 2013 13:55:25 +0000 (14:55 +0100)]
Debitoren-/Kreditoren-/Dialogbuchungen: Fremdschlüsselspalte "department_id" nicht mit "0" schreiben

Conflicts:
SL/AP.pm

11 years agoSorted-Controller-Helfer: Standardsortierrichtung nutzen, wenn nicht anders übergeben
Moritz Bunkus [Thu, 24 Jan 2013 13:55:56 +0000 (14:55 +0100)]
Sorted-Controller-Helfer: Standardsortierrichtung nutzen, wenn nicht anders übergeben

11 years agoProjektverwaltung auf Rose- und Controller-Code umgestellt
Moritz Bunkus [Thu, 24 Jan 2013 11:35:38 +0000 (12:35 +0100)]
Projektverwaltung auf Rose- und Controller-Code umgestellt

11 years agoProjekt: neue Spalten (Kunde, Typ, gültig)
Moritz Bunkus [Mon, 14 Jan 2013 11:35:58 +0000 (12:35 +0100)]
Projekt: neue Spalten (Kunde, Typ, gültig)

11 years agoDateTime-Helfer: 'goto' heißt das Keyword, nicht 'gofrom'
Moritz Bunkus [Wed, 23 Jan 2013 10:06:41 +0000 (11:06 +0100)]
DateTime-Helfer: 'goto' heißt das Keyword, nicht 'gofrom'

mosu vs "search & replace" -- 0:1

11 years agoDateTime-Helfer: Funktionsnamen in (to|from)_kivitendo umbenannt
Moritz Bunkus [Wed, 23 Jan 2013 09:28:56 +0000 (10:28 +0100)]
DateTime-Helfer: Funktionsnamen in (to|from)_kivitendo umbenannt

Mit Legacy-Aliasen.

11 years agoDateTime-Formatierung: Jahreszahlen immer vierstellig ausgeben
Moritz Bunkus [Wed, 23 Jan 2013 09:26:17 +0000 (10:26 +0100)]
DateTime-Formatierung: Jahreszahlen immer vierstellig ausgeben

Machen die anderen Datumsformatfunktionen von kivitendo ebenso.

11 years agoRose: Fremdschlüsselbenennung fixen
Moritz Bunkus [Tue, 22 Jan 2013 15:26:38 +0000 (16:26 +0100)]
Rose: Fremdschlüsselbenennung fixen

Die von Rose erzeugten Fremdschlüsselaccessoren heißen wie die
Spaltennamen, also z.B. in Perl 'trans' zu Spalte 'trans_id'. Das ist
unintuitiv und muss an vielen Stellen (z.B. bei den manager_args,
with_objects etc.) auch als 'trans' angegeben werden.

Also im Generatorscript gewisse Namen auf sinnvollere Namen mappen.

11 years agoSchreibfehler im englischen String
Moritz Bunkus [Tue, 22 Jan 2013 13:31:33 +0000 (14:31 +0100)]
Schreibfehler im englischen String

11 years agoRose-Order-Manager: Sortier-Spezifikation und Paginating
Moritz Bunkus [Tue, 22 Jan 2013 09:19:21 +0000 (10:19 +0100)]
Rose-Order-Manager: Sortier-Spezifikation und Paginating

11 years agoUmwandlung Angebot/Auftrag -> Lieferschein/Rechnung: nur nicht gelieferte/berechnete...
Moritz Bunkus [Mon, 21 Jan 2013 10:55:46 +0000 (11:55 +0100)]
Umwandlung Angebot/Auftrag -> Lieferschein/Rechnung: nur nicht gelieferte/berechnete Mengen vorgeben

11 years agoFunktion 'is_sales' in SL::DB::{Invoice,PurchaseInvoice}
Moritz Bunkus [Mon, 21 Jan 2013 11:06:24 +0000 (12:06 +0100)]
Funktion 'is_sales' in SL::DB::{Invoice,PurchaseInvoice}

Gleiche Funktionen für ähnliche Objekttypen

11 years agoBoolesche Funktionen ("is_...") auch boolesche Werte zurückgeben lassen
Moritz Bunkus [Mon, 21 Jan 2013 10:53:03 +0000 (11:53 +0100)]
Boolesche Funktionen ("is_...") auch boolesche Werte zurückgeben lassen

Ansonsten sind Vergleiche nervig:

$a->is_ales == $b->is_sales

11 years agoLinkedRecords-Helfer: Parameter 'via' bei 'linked_records' für beliebige Pfade von...
Moritz Bunkus [Mon, 21 Jan 2013 10:42:39 +0000 (11:42 +0100)]
LinkedRecords-Helfer: Parameter 'via' bei 'linked_records' für beliebige Pfade von -> zu

z.B. um zu einem Angebot alle Rechnungen zu erhalten, egal, ob
zwischendurch Aufträge und Lieferscheine stehen

11 years agoLinkedRecords-Helfer: Dokumentationsupdate
Moritz Bunkus [Mon, 21 Jan 2013 08:55:28 +0000 (09:55 +0100)]
LinkedRecords-Helfer: Dokumentationsupdate

11 years agoLinkedRecords-Helfer: Funktionsname privat gemacht
Moritz Bunkus [Mon, 21 Jan 2013 08:55:20 +0000 (09:55 +0100)]
LinkedRecords-Helfer: Funktionsname privat gemacht

11 years agoRose: 'with_args' nach Foreign-Key-Einführung gefixt
Moritz Bunkus [Fri, 18 Jan 2013 11:06:46 +0000 (12:06 +0100)]
Rose: 'with_args' nach Foreign-Key-Einführung gefixt

Die Beziehung heißt nun 'parts' und nicht mehr 'part'. 'part' ist nur
ein Alias.

11 years agoDoppelter foreign key auf oe wieder entfernt
Moritz Bunkus [Thu, 17 Jan 2013 15:12:43 +0000 (16:12 +0100)]
Doppelter foreign key auf oe wieder entfernt

11 years agoRose-Beziehungstypen in Order gefixt
Moritz Bunkus [Thu, 17 Jan 2013 15:04:24 +0000 (16:04 +0100)]
Rose-Beziehungstypen in Order gefixt

Siehe #2139.

11 years agoRose-Beziehungstypen gefixt
Moritz Bunkus [Thu, 17 Jan 2013 14:49:07 +0000 (15:49 +0100)]
Rose-Beziehungstypen gefixt

Behebt #2139.

11 years agoFremdschlüssel für Tabellen oe, delivery_orders, parts, translation
Moritz Bunkus [Thu, 17 Jan 2013 14:18:03 +0000 (15:18 +0100)]
Fremdschlüssel für Tabellen oe, delivery_orders, parts, translation

11 years agoKundentypnummernkreis nur berücksichtigen, falls dafür Nummernkreis gesetzt ist
Moritz Bunkus [Wed, 16 Jan 2013 16:54:11 +0000 (17:54 +0100)]
Kundentypnummernkreis nur berücksichtigen, falls dafür Nummernkreis gesetzt ist

Gilt analog für Lieferanten.

Siehe #2138.

11 years agoCSV-Import Lieferadressen: Funktion gefixt
Moritz Bunkus [Wed, 16 Jan 2013 10:59:42 +0000 (11:59 +0100)]
CSV-Import Lieferadressen: Funktion gefixt

Shipto hat keine custom variables. Die Base-Klasse hat sich aber
darauf verlassen, indem es 'all_cvar_configs' aufruft. Der Test mit
'$self->can("all_cvar_configs")' ist hier sinnfrei, weil
Rose::Object::MethodMaker nun mal genau diese Methoden anlegt.

11 years agoCSV-Import-Script: Dokumentation zum Doublettencheck erweitert
Moritz Bunkus [Wed, 16 Jan 2013 10:48:21 +0000 (11:48 +0100)]
CSV-Import-Script: Dokumentation zum Doublettencheck erweitert

11 years agoCSV-Import-Script: Mit Leerzeichen im Dateinamen klarkommen
Moritz Bunkus [Wed, 16 Jan 2013 10:21:28 +0000 (11:21 +0100)]
CSV-Import-Script: Mit Leerzeichen im Dateinamen klarkommen

11 years agoVor Fremdschlüsselzuweisung trans_id verwaiste Einträge in orderitems löschen
Moritz Bunkus [Tue, 15 Jan 2013 13:46:30 +0000 (14:46 +0100)]
Vor Fremdschlüsselzuweisung trans_id verwaiste Einträge in orderitems löschen

11 years agoNach Löschen in customer/vendor via DB-Trigger in contacts, shipto aufräumen
Moritz Bunkus [Tue, 15 Jan 2013 14:53:56 +0000 (15:53 +0100)]
Nach Löschen in customer/vendor via DB-Trigger in contacts, shipto aufräumen

11 years agoNach Löschen in ar/ap/gl via DB-Trigger in acc_trans aufräumen
Moritz Bunkus [Tue, 15 Jan 2013 13:46:30 +0000 (14:46 +0100)]
Nach Löschen in ar/ap/gl via DB-Trigger in acc_trans aufräumen

11 years agoSL::DB::Buchungsgruppen: Verknüpfungen und Hilfsmethoden
Moritz Bunkus [Tue, 15 Jan 2013 10:03:37 +0000 (11:03 +0100)]
SL::DB::Buchungsgruppen: Verknüpfungen und Hilfsmethoden

11 years agoDiverse Fremdschlüssel für Tabellen ar und ap
Moritz Bunkus [Tue, 15 Jan 2013 12:49:37 +0000 (13:49 +0100)]
Diverse Fremdschlüssel für Tabellen ar und ap

11 years agoPOD-Dokumentation
Moritz Bunkus [Tue, 15 Jan 2013 10:03:13 +0000 (11:03 +0100)]
POD-Dokumentation

11 years agoInvoiceItem, OrderItem, DeliveryOrderItem: diverse Fremdschlüssel eingeführt
Moritz Bunkus [Mon, 14 Jan 2013 14:59:28 +0000 (15:59 +0100)]
InvoiceItem, OrderItem, DeliveryOrderItem: diverse Fremdschlüssel eingeführt

11 years agoOption in [debug], keine 'nologin' zu schreiben
Moritz Bunkus [Mon, 14 Jan 2013 14:43:22 +0000 (15:43 +0100)]
Option in [debug], keine 'nologin' zu schreiben

11 years agoCSV-Import Ansprechpersonen: Feld "Funktion/Position" (cp_position)
Moritz Bunkus [Mon, 14 Jan 2013 13:47:55 +0000 (14:47 +0100)]
CSV-Import Ansprechpersonen: Feld "Funktion/Position" (cp_position)

11 years agoSL::DB::Order: falsche one-to-many zu PeriodicInvoice entfernt
Moritz Bunkus [Mon, 14 Jan 2013 13:07:04 +0000 (14:07 +0100)]
SL::DB::Order: falsche one-to-many zu PeriodicInvoice entfernt

11 years agoExperimentelles Hilfe-Overlay wieder deaktiviert
Moritz Bunkus [Mon, 14 Jan 2013 10:33:51 +0000 (11:33 +0100)]
Experimentelles Hilfe-Overlay wieder deaktiviert

11 years agoSpalte 'cp_function' in 'cp_position' umbenennen zwecks Kompatibilität mit CRM
Moritz Bunkus [Mon, 14 Jan 2013 13:35:51 +0000 (14:35 +0100)]
Spalte 'cp_function' in 'cp_position' umbenennen zwecks Kompatibilität mit CRM

11 years agoAnsprechpersonen: Feld "Funktion/Position"
Moritz Bunkus [Fri, 11 Jan 2013 11:58:32 +0000 (12:58 +0100)]
Ansprechpersonen: Feld "Funktion/Position"

11 years agoTrailing comma entfernt
Moritz Bunkus [Mon, 14 Jan 2013 08:59:10 +0000 (09:59 +0100)]
Trailing comma entfernt

PostgreSQL mag diese nicht.

11 years agoPartImport: check_existing etwas optimiert, spart bei Testimports gut 40% Zeit.
Sven Schöling [Fri, 11 Jan 2013 15:03:55 +0000 (16:03 +0100)]
PartImport: check_existing etwas optimiert, spart bei Testimports gut 40% Zeit.

11 years agoWarnung wenn der Taskserver nicht läuft
Sven Schöling [Fri, 11 Jan 2013 13:37:41 +0000 (14:37 +0100)]
Warnung wenn der Taskserver nicht läuft

11 years agoError Reporting, und robuster gegen Fehler im Report save/load
Sven Schöling [Thu, 10 Jan 2013 15:34:56 +0000 (16:34 +0100)]
Error Reporting, und robuster gegen Fehler im Report save/load

11 years agolocale update
Sven Schöling [Thu, 10 Jan 2013 15:33:27 +0000 (16:33 +0100)]
locale update

11 years agoneustart bug von taskserver gefixt
Sven Schöling [Thu, 10 Jan 2013 12:29:03 +0000 (13:29 +0100)]
neustart bug von taskserver gefixt

11 years agopollen für ajax fortschritt max alle halbe sekunde
Sven Schöling [Thu, 10 Jan 2013 10:17:22 +0000 (11:17 +0100)]
pollen für ajax fortschritt max alle halbe sekunde

11 years agopricegroups nur anzeigen, wenn sie auch wirklich vorhanden sind.
Sven Schöling [Thu, 10 Jan 2013 10:16:14 +0000 (11:16 +0100)]
pricegroups nur anzeigen, wenn sie auch wirklich vorhanden sind.

11 years agoinit methoden sollen nur zurückgeben
Sven Schöling [Thu, 10 Jan 2013 10:15:34 +0000 (11:15 +0100)]
init methoden sollen nur zurückgeben

11 years agoAnzahl der Zeilen für den Report cachen un indizieren
Sven Schöling [Wed, 9 Jan 2013 17:28:47 +0000 (18:28 +0100)]
Anzahl der Zeilen für den Report cachen un indizieren

Da das auch mal gerne 4mio+ werden dauert das sonst elend lange.

11 years agoFehlerhafterweise wurden leere statuszeilen rot markiert.
Sven Schöling [Wed, 9 Jan 2013 17:28:31 +0000 (18:28 +0100)]
Fehlerhafterweise wurden leere statuszeilen rot markiert.

11 years agoFehlerhafter Test
Sven Schöling [Wed, 9 Jan 2013 17:25:55 +0000 (18:25 +0100)]
Fehlerhafter Test

11 years agonicht hochgeladene Datei abfangen
Sven Schöling [Mon, 19 Nov 2012 09:38:54 +0000 (10:38 +0100)]
nicht hochgeladene Datei abfangen

11 years agoFehlende Übersetzung
Sven Schöling [Mon, 19 Nov 2012 09:38:36 +0000 (10:38 +0100)]
Fehlende Übersetzung

11 years agoprogress tracking für andere imports
Sven Schöling [Fri, 16 Nov 2012 17:27:13 +0000 (18:27 +0100)]
progress tracking für andere imports

11 years agocleanup nach jedem import
Sven Schöling [Fri, 16 Nov 2012 17:22:33 +0000 (18:22 +0100)]
cleanup nach jedem import

11 years agocleanup fix
Sven Schöling [Fri, 16 Nov 2012 17:18:41 +0000 (18:18 +0100)]
cleanup fix

11 years agotest korrekt mitschleifen
Sven Schöling [Fri, 16 Nov 2012 17:12:48 +0000 (18:12 +0100)]
test korrekt mitschleifen

11 years agodebug code
Sven Schöling [Fri, 16 Nov 2012 17:12:35 +0000 (18:12 +0100)]
debug code

11 years agopaginating für test_import
Sven Schöling [Fri, 16 Nov 2012 16:38:25 +0000 (17:38 +0100)]
paginating für test_import

11 years agoreport paginaten
Sven Schöling [Fri, 16 Nov 2012 16:01:51 +0000 (17:01 +0100)]
report paginaten

11 years agocleanup Methode und Manager für CsvImportReport
Sven Schöling [Fri, 16 Nov 2012 10:37:33 +0000 (11:37 +0100)]
cleanup Methode und Manager für CsvImportReport

11 years agoFehler korrekt weiterleiten
Sven Schöling [Thu, 15 Nov 2012 17:56:45 +0000 (18:56 +0100)]
Fehler korrekt weiterleiten

11 years agoBugs bei formatierten Methoden behoben
Sven Schöling [Thu, 15 Nov 2012 17:42:40 +0000 (18:42 +0100)]
Bugs bei formatierten Methoden behoben

11 years agoimport button einblenden nach erfolgreichem test.
Sven Schöling [Thu, 15 Nov 2012 17:24:37 +0000 (18:24 +0100)]
import button einblenden nach erfolgreichem test.

11 years agoÜbersetzungen
Sven Schöling [Thu, 15 Nov 2012 17:08:13 +0000 (18:08 +0100)]
Übersetzungen

11 years agoProgress genauer anzeigen
Sven Schöling [Thu, 15 Nov 2012 16:17:20 +0000 (17:17 +0100)]
Progress genauer anzeigen

11 years agoWeitere Verbesserungen am asynchronen Import.
Sven Schöling [Thu, 15 Nov 2012 14:16:26 +0000 (15:16 +0100)]
Weitere Verbesserungen am asynchronen Import.

- tracking
- profile/session handling

11 years agodebug
Sven Schöling [Thu, 15 Nov 2012 14:14:17 +0000 (15:14 +0100)]
debug

11 years agoaction_report zu den anderen actions verschoben
Sven Schöling [Thu, 15 Nov 2012 14:13:41 +0000 (15:13 +0100)]
action_report zu den anderen actions verschoben

11 years agorichtigen progress anzeigen
Sven Schöling [Thu, 15 Nov 2012 14:10:25 +0000 (15:10 +0100)]
richtigen progress anzeigen

11 years agoset_data Methode
Sven Schöling [Thu, 15 Nov 2012 14:10:12 +0000 (15:10 +0100)]
set_data Methode

11 years agoSessionFile optional mit session_id laden
Sven Schöling [Thu, 15 Nov 2012 14:09:13 +0000 (15:09 +0100)]
SessionFile optional mit session_id laden

(wird für background_jobs benötigt

11 years agoBackgroundJobCleanup
Sven Schöling [Tue, 30 Oct 2012 11:00:37 +0000 (12:00 +0100)]
BackgroundJobCleanup

11 years agoAsynchroner Import
Sven Schöling [Fri, 11 Jan 2013 12:55:39 +0000 (13:55 +0100)]
Asynchroner Import

11 years agoReport in der richtigen Reihenfolge speichern und anzeigen.
Sven Schöling [Wed, 14 Nov 2012 15:10:38 +0000 (16:10 +0100)]
Report in der richtigen Reihenfolge speichern und anzeigen.

11 years agoIncludeprobleme bei SL/DB Objekten vermeiden
Sven Schöling [Wed, 14 Nov 2012 15:10:13 +0000 (16:10 +0100)]
Includeprobleme bei SL/DB Objekten vermeiden

11 years agodestroy methode für CsvImportReport
Sven Schöling [Wed, 7 Nov 2012 12:43:35 +0000 (13:43 +0100)]
destroy methode für CsvImportReport

11 years agoCsvReport: Status mitspeichern
Sven Schöling [Tue, 6 Nov 2012 16:01:19 +0000 (17:01 +0100)]
CsvReport: Status mitspeichern

11 years agoCsv Import in Datenbank zwischenspeichern und rudimentärer Report.
Sven Schöling [Mon, 5 Nov 2012 18:50:06 +0000 (19:50 +0100)]
Csv Import in Datenbank zwischenspeichern und rudimentärer Report.

11 years agoDoku für dbupgrade --create
Sven Schöling [Mon, 5 Nov 2012 18:48:40 +0000 (19:48 +0100)]
Doku für dbupgrade --create

11 years agoCsvImportProfiles an den erstellenden Benutzer gebunden
Sven Schöling [Tue, 30 Oct 2012 16:23:58 +0000 (17:23 +0100)]
CsvImportProfiles an den erstellenden Benutzer gebunden

11 years agoRevert "tax_id in acc_trans"
Sven Schöling [Fri, 11 Jan 2013 12:48:14 +0000 (13:48 +0100)]
Revert "tax_id in acc_trans"

This reverts commit 357d134d265637fb37ed2cd47da2ce3ef44d015a.

11 years agoRevert "Fremdschlüssel für tax_id in acc_trans"
Sven Schöling [Fri, 11 Jan 2013 12:48:08 +0000 (13:48 +0100)]
Revert "Fremdschlüssel für tax_id in acc_trans"

This reverts commit a4fce26ecdececd74cf1c63de7dcc959083d7e6c.

11 years agoRevert "DB-Upgrade: Fehlendes "@charset" ergänzt"
Sven Schöling [Fri, 11 Jan 2013 12:47:57 +0000 (13:47 +0100)]
Revert "DB-Upgrade: Fehlendes "@charset" ergänzt"

This reverts commit fbea33b1c3cdc823712e22175321d3b75a20b754.

11 years agoRevert "Fehler beim Schreiben von tax_id"
Sven Schöling [Fri, 11 Jan 2013 12:40:24 +0000 (13:40 +0100)]
Revert "Fehler beim Schreiben von tax_id"

This reverts commit 94915eda8e84805b5745b81fefc67be9ecde55f8.

11 years agoRevert "Probleme bei Mwst-Wechsel"
Sven Schöling [Fri, 11 Jan 2013 12:40:11 +0000 (13:40 +0100)]
Revert "Probleme bei Mwst-Wechsel"

This reverts commit 072919154edb34f4afed6bf93fdbdae5b0969385.

11 years agoMerge branch 'master' of vc.linet-services.de:public/lx-office-erp
Sven Schöling [Thu, 10 Jan 2013 15:36:54 +0000 (16:36 +0100)]
Merge branch 'master' of vc.linet-services.de:public/lx-office-erp

11 years agoSL::Locale::String kann jetzt auch Parameter
Sven Schöling [Thu, 10 Jan 2013 15:32:35 +0000 (16:32 +0100)]
SL::Locale::String kann jetzt auch Parameter

t8('The is no cake, at least with id #1', 42)

11 years agoSEPA-Einzug: Rechnungen mit gesetztem "Lastschrifteinzug" vorauswählen
Moritz Bunkus [Thu, 10 Jan 2013 12:28:08 +0000 (13:28 +0100)]
SEPA-Einzug: Rechnungen mit gesetztem "Lastschrifteinzug" vorauswählen

11 years agoDebitorenbuchungen: Checkbox für "Lastschrifteinzug"; Vorbelegung aus Stammdaten
Moritz Bunkus [Thu, 10 Jan 2013 12:23:00 +0000 (13:23 +0100)]
Debitorenbuchungen: Checkbox für "Lastschrifteinzug"; Vorbelegung aus Stammdaten

11 years agoVerkaufsrechnungen: Checkbox für "Lastschrifteinzug"; Vorbelegung aus Stammdaten
Moritz Bunkus [Thu, 10 Jan 2013 12:03:34 +0000 (13:03 +0100)]
Verkaufsrechnungen: Checkbox für "Lastschrifteinzug"; Vorbelegung aus Stammdaten

11 years agoKunden-/Lieferantenstammdaten: anklickbare Checkbox-Labels
Moritz Bunkus [Thu, 10 Jan 2013 10:03:34 +0000 (11:03 +0100)]
Kunden-/Lieferantenstammdaten: anklickbare Checkbox-Labels

11 years agoStillen Fehler bei cascade-save von one-to-many relations behoben.
Sven Schöling [Tue, 8 Jan 2013 15:37:27 +0000 (16:37 +0100)]
Stillen Fehler bei cascade-save von one-to-many relations behoben.

Folgendes Phänomen:

       table X                       table X_items
       id                            X_id references X(id)

wird in Rose zu

SL::DB::X und SL::DB::XItems, wobei SL::DB::XItems::X eine automatische
relationship zu X bildet, und in den meisten Fällen SL::DB::X::items eine
manuelle Relationship in die Gegnrichtung.

Was nun passiert ist, war, dass ein save(cascade => 1) auf X die items nicht
mitegspeichert hat.

Das Problem war, dass unser Hooksystem nicht sichergestellt hat, dass die
überladene save Methode von SL::DB::Object immer das Ergebnis der eigentlichen
Speicherung zurückgeliefert.

Rose::DB::Object selber braucht diesen Rückgabewert nicht, und dokumentiert das
Verhalten auch nur informal. Die von den relations angelegten post-save Hooks
prüfen den aber, und schmeissen bei nichterfolg eine Exception.

Das nächste Problem ist jetzt, dass Rose::DB::Object intern die Fehler nicht
direkt wirft, sondern den letzten Fehler in $self->error speichert, und den
dann einfach wirft. Unser undef der überladenen save Methode wird als Fehler
erkannt, aber weil nie ein Fehler gesetzt wurde, wird effektiv "die undef"
aufgerufen.

Das landet dann als "Died at .../Rose/DB/Object/MakeMethods/Generic.pm line
3741." im eval error von Rose::DB::Object::save. Das gibt das Ganze weiter an
den Rose::DB::Object::Metadata::handle_error, der das wiederum an Carp::croak
weitergibt.

Carp packt das gnaze in eine weitere Lage "Died at" ein, und bubblet das ganze
weiter an unser Hooksystem, wo die Rose::DB::do_transaction den Fehler fängt,
und folgerictig ein rollback triggert.

Jetzt der Trick: Bei Rose ist Rose::DB::Object für die Eskalation zuständig.
Rose::DB::do_transaction beendet nur die Transaktion und sieht zu dass nichts
kaputtgeht, und gibt dann undef zurück. Die Exception ist damit im
Errorattribut der DB Connection versenkt.

Rose::DB::Object umgeht das gleiche Problem indem im Fehlerfall die Exception
gefangen wird, die Transaktion sauber beendet wird, und danach erst der
Metadata::handle_error den Fehler zur weiteren Eskalation bekommt.

Dieser Patch erweitert unser Hooksystem so, dass immer der Rückgabewert des
RDBO::save zurückgegeben wird, was dann den Fehler nicht mehr triggert.

Zusätzlich müssen später noch Exceptions im Hooksystem gefangen werden, und
auch da sauber die Transaktion beendet werden, bevor die gehandhabt werden.

11 years agoSyntaxfehler gefixt
Thomas Heck [Mon, 7 Jan 2013 14:33:00 +0000 (15:33 +0100)]
Syntaxfehler gefixt

11 years agocgi->popup_menu durch L.select_tag (in templates/webpages/ap/form_header.html) ersetzt
Thomas Heck [Fri, 4 Jan 2013 16:05:44 +0000 (17:05 +0100)]
cgi->popup_menu durch L.select_tag (in templates/webpages/ap/form_header.html) ersetzt

11 years agoPHP-Code aus ERP entfernt. Wird als Extrapakete angeboten.
Holger Lindemann [Mon, 7 Jan 2013 11:27:39 +0000 (12:27 +0100)]
PHP-Code aus ERP entfernt. Wird als Extrapakete angeboten.