Moritz Bunkus [Thu, 24 Jan 2013 11:35:38 +0000 (12:35 +0100)]
Projektverwaltung auf Rose- und Controller-Code umgestellt
Moritz Bunkus [Mon, 14 Jan 2013 11:35:58 +0000 (12:35 +0100)]
Projekt: neue Spalten (Kunde, Typ, gültig)
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
Moritz Bunkus [Wed, 23 Jan 2013 09:28:56 +0000 (10:28 +0100)]
DateTime-Helfer: Funktionsnamen in (to|from)_kivitendo umbenannt
Mit Legacy-Aliasen.
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.
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.
Moritz Bunkus [Tue, 22 Jan 2013 13:31:33 +0000 (14:31 +0100)]
Schreibfehler im englischen String
Moritz Bunkus [Tue, 22 Jan 2013 09:19:21 +0000 (10:19 +0100)]
Rose-Order-Manager: Sortier-Spezifikation und Paginating
Moritz Bunkus [Mon, 21 Jan 2013 10:55:46 +0000 (11:55 +0100)]
Umwandlung Angebot/Auftrag -> Lieferschein/Rechnung: nur nicht gelieferte/berechnete Mengen vorgeben
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
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
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
Moritz Bunkus [Mon, 21 Jan 2013 08:55:28 +0000 (09:55 +0100)]
LinkedRecords-Helfer: Dokumentationsupdate
Moritz Bunkus [Mon, 21 Jan 2013 08:55:20 +0000 (09:55 +0100)]
LinkedRecords-Helfer: Funktionsname privat gemacht
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.
Moritz Bunkus [Thu, 17 Jan 2013 15:12:43 +0000 (16:12 +0100)]
Doppelter foreign key auf oe wieder entfernt
Moritz Bunkus [Thu, 17 Jan 2013 15:04:24 +0000 (16:04 +0100)]
Rose-Beziehungstypen in Order gefixt
Siehe #2139.
Moritz Bunkus [Thu, 17 Jan 2013 14:49:07 +0000 (15:49 +0100)]
Rose-Beziehungstypen gefixt
Behebt #2139.
Moritz Bunkus [Thu, 17 Jan 2013 14:18:03 +0000 (15:18 +0100)]
Fremdschlüssel für Tabellen oe, delivery_orders, parts, translation
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.
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.
Moritz Bunkus [Wed, 16 Jan 2013 10:48:21 +0000 (11:48 +0100)]
CSV-Import-Script: Dokumentation zum Doublettencheck erweitert
Moritz Bunkus [Wed, 16 Jan 2013 10:21:28 +0000 (11:21 +0100)]
CSV-Import-Script: Mit Leerzeichen im Dateinamen klarkommen
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
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
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
Moritz Bunkus [Tue, 15 Jan 2013 10:03:37 +0000 (11:03 +0100)]
SL::DB::Buchungsgruppen: Verknüpfungen und Hilfsmethoden
Moritz Bunkus [Tue, 15 Jan 2013 12:49:37 +0000 (13:49 +0100)]
Diverse Fremdschlüssel für Tabellen ar und ap
Moritz Bunkus [Tue, 15 Jan 2013 10:03:13 +0000 (11:03 +0100)]
POD-Dokumentation
Moritz Bunkus [Mon, 14 Jan 2013 14:59:28 +0000 (15:59 +0100)]
InvoiceItem, OrderItem, DeliveryOrderItem: diverse Fremdschlüssel eingeführt
Moritz Bunkus [Mon, 14 Jan 2013 14:43:22 +0000 (15:43 +0100)]
Option in [debug], keine 'nologin' zu schreiben
Moritz Bunkus [Mon, 14 Jan 2013 13:47:55 +0000 (14:47 +0100)]
CSV-Import Ansprechpersonen: Feld "Funktion/Position" (cp_position)
Moritz Bunkus [Mon, 14 Jan 2013 13:07:04 +0000 (14:07 +0100)]
SL::DB::Order: falsche one-to-many zu PeriodicInvoice entfernt
Moritz Bunkus [Mon, 14 Jan 2013 10:33:51 +0000 (11:33 +0100)]
Experimentelles Hilfe-Overlay wieder deaktiviert
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
Moritz Bunkus [Fri, 11 Jan 2013 11:58:32 +0000 (12:58 +0100)]
Ansprechpersonen: Feld "Funktion/Position"
Moritz Bunkus [Mon, 14 Jan 2013 08:59:10 +0000 (09:59 +0100)]
Trailing comma entfernt
PostgreSQL mag diese nicht.
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.
Sven Schöling [Fri, 11 Jan 2013 13:37:41 +0000 (14:37 +0100)]
Warnung wenn der Taskserver nicht läuft
Sven Schöling [Thu, 10 Jan 2013 15:34:56 +0000 (16:34 +0100)]
Error Reporting, und robuster gegen Fehler im Report save/load
Sven Schöling [Thu, 10 Jan 2013 15:33:27 +0000 (16:33 +0100)]
locale update
Sven Schöling [Thu, 10 Jan 2013 12:29:03 +0000 (13:29 +0100)]
neustart bug von taskserver gefixt
Sven Schöling [Thu, 10 Jan 2013 10:17:22 +0000 (11:17 +0100)]
pollen für ajax fortschritt max alle halbe sekunde
Sven Schöling [Thu, 10 Jan 2013 10:16:14 +0000 (11:16 +0100)]
pricegroups nur anzeigen, wenn sie auch wirklich vorhanden sind.
Sven Schöling [Thu, 10 Jan 2013 10:15:34 +0000 (11:15 +0100)]
init methoden sollen nur zurückgeben
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.
Sven Schöling [Wed, 9 Jan 2013 17:28:31 +0000 (18:28 +0100)]
Fehlerhafterweise wurden leere statuszeilen rot markiert.
Sven Schöling [Wed, 9 Jan 2013 17:25:55 +0000 (18:25 +0100)]
Fehlerhafter Test
Sven Schöling [Mon, 19 Nov 2012 09:38:54 +0000 (10:38 +0100)]
nicht hochgeladene Datei abfangen
Sven Schöling [Mon, 19 Nov 2012 09:38:36 +0000 (10:38 +0100)]
Fehlende Übersetzung
Sven Schöling [Fri, 16 Nov 2012 17:27:13 +0000 (18:27 +0100)]
progress tracking für andere imports
Sven Schöling [Fri, 16 Nov 2012 17:22:33 +0000 (18:22 +0100)]
cleanup nach jedem import
Sven Schöling [Fri, 16 Nov 2012 17:18:41 +0000 (18:18 +0100)]
cleanup fix
Sven Schöling [Fri, 16 Nov 2012 17:12:48 +0000 (18:12 +0100)]
test korrekt mitschleifen
Sven Schöling [Fri, 16 Nov 2012 17:12:35 +0000 (18:12 +0100)]
debug code
Sven Schöling [Fri, 16 Nov 2012 16:38:25 +0000 (17:38 +0100)]
paginating für test_import
Sven Schöling [Fri, 16 Nov 2012 16:01:51 +0000 (17:01 +0100)]
report paginaten
Sven Schöling [Fri, 16 Nov 2012 10:37:33 +0000 (11:37 +0100)]
cleanup Methode und Manager für CsvImportReport
Sven Schöling [Thu, 15 Nov 2012 17:56:45 +0000 (18:56 +0100)]
Fehler korrekt weiterleiten
Sven Schöling [Thu, 15 Nov 2012 17:42:40 +0000 (18:42 +0100)]
Bugs bei formatierten Methoden behoben
Sven Schöling [Thu, 15 Nov 2012 17:24:37 +0000 (18:24 +0100)]
import button einblenden nach erfolgreichem test.
Sven Schöling [Thu, 15 Nov 2012 17:08:13 +0000 (18:08 +0100)]
Übersetzungen
Sven Schöling [Thu, 15 Nov 2012 16:17:20 +0000 (17:17 +0100)]
Progress genauer anzeigen
Sven Schöling [Thu, 15 Nov 2012 14:16:26 +0000 (15:16 +0100)]
Weitere Verbesserungen am asynchronen Import.
- tracking
- profile/session handling
Sven Schöling [Thu, 15 Nov 2012 14:14:17 +0000 (15:14 +0100)]
debug
Sven Schöling [Thu, 15 Nov 2012 14:13:41 +0000 (15:13 +0100)]
action_report zu den anderen actions verschoben
Sven Schöling [Thu, 15 Nov 2012 14:10:25 +0000 (15:10 +0100)]
richtigen progress anzeigen
Sven Schöling [Thu, 15 Nov 2012 14:10:12 +0000 (15:10 +0100)]
set_data Methode
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
Sven Schöling [Tue, 30 Oct 2012 11:00:37 +0000 (12:00 +0100)]
BackgroundJobCleanup
Sven Schöling [Fri, 11 Jan 2013 12:55:39 +0000 (13:55 +0100)]
Asynchroner Import
Sven Schöling [Wed, 14 Nov 2012 15:10:38 +0000 (16:10 +0100)]
Report in der richtigen Reihenfolge speichern und anzeigen.
Sven Schöling [Wed, 14 Nov 2012 15:10:13 +0000 (16:10 +0100)]
Includeprobleme bei SL/DB Objekten vermeiden
Sven Schöling [Wed, 7 Nov 2012 12:43:35 +0000 (13:43 +0100)]
destroy methode für CsvImportReport
Sven Schöling [Tue, 6 Nov 2012 16:01:19 +0000 (17:01 +0100)]
CsvReport: Status mitspeichern
Sven Schöling [Mon, 5 Nov 2012 18:50:06 +0000 (19:50 +0100)]
Csv Import in Datenbank zwischenspeichern und rudimentärer Report.
Sven Schöling [Mon, 5 Nov 2012 18:48:40 +0000 (19:48 +0100)]
Doku für dbupgrade --create
Sven Schöling [Tue, 30 Oct 2012 16:23:58 +0000 (17:23 +0100)]
CsvImportProfiles an den erstellenden Benutzer gebunden
Sven Schöling [Fri, 11 Jan 2013 12:48:14 +0000 (13:48 +0100)]
Revert "tax_id in acc_trans"
This reverts commit
357d134d265637fb37ed2cd47da2ce3ef44d015a.
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.
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.
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.
Sven Schöling [Fri, 11 Jan 2013 12:40:11 +0000 (13:40 +0100)]
Revert "Probleme bei Mwst-Wechsel"
This reverts commit
072919154edb34f4afed6bf93fdbdae5b0969385.
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
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)
Moritz Bunkus [Thu, 10 Jan 2013 12:28:08 +0000 (13:28 +0100)]
SEPA-Einzug: Rechnungen mit gesetztem "Lastschrifteinzug" vorauswählen
Moritz Bunkus [Thu, 10 Jan 2013 12:23:00 +0000 (13:23 +0100)]
Debitorenbuchungen: 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
Moritz Bunkus [Thu, 10 Jan 2013 10:03:34 +0000 (11:03 +0100)]
Kunden-/Lieferantenstammdaten: anklickbare Checkbox-Labels
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.
Thomas Heck [Mon, 7 Jan 2013 14:33:00 +0000 (15:33 +0100)]
Syntaxfehler gefixt
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
Holger Lindemann [Mon, 7 Jan 2013 11:27:39 +0000 (12:27 +0100)]
PHP-Code aus ERP entfernt. Wird als Extrapakete angeboten.
Holger Lindemann [Mon, 7 Jan 2013 08:45:38 +0000 (09:45 +0100)]
Wird nicht mehr weiterentwickelt / gepflegt. Funktion fraglich.
Evtl. Nachfolgeprojekt auf Basis der neuen PHPeppershop-Schnittstelle.
Thomas Heck [Thu, 3 Jan 2013 13:45:01 +0000 (14:45 +0100)]
HTML aus der Funktion bin/ap.pl:form_footer in ein Template übertragen.
Sven Schöling [Thu, 3 Jan 2013 14:22:56 +0000 (15:22 +0100)]
Merge branch 'master' of vc.linet-services.de:public/lx-office-erp
Sven Schöling [Thu, 3 Jan 2013 14:22:38 +0000 (15:22 +0100)]
html syntax fehler
Thomas Heck [Fri, 28 Dec 2012 16:43:40 +0000 (17:43 +0100)]
HTML-Escape unter templates/ap/form_header.html eingefügt
Thomas Heck [Thu, 20 Dec 2012 10:21:30 +0000 (11:21 +0100)]
HTML-Code aus bin/ap.pl/form_header in ein eigenes Template übertragen
Moritz Bunkus [Fri, 28 Dec 2012 13:06:26 +0000 (14:06 +0100)]
Menüs: "target=..." wieder unterstützt