DateTime: neue Funktion end_of_month
Setzt $self auf den Start des letzten Tags eines Monats.
DeliveryOrder->new_from: Lieferbedingungen auch berücksichtigen.
Name für Attachment auch zurückliefern, wenn keine Belegnummer vorhanden ist.
Project-Picker basierend auf Part-Picker
RequirementSpecs: js accessor angepasst
MassInvoiceCreatePrint: js accessor angepasst
PriceRule: js accessor angepasst
PriceSource: js accessor angepasst
Inventory: js accessor angepasst
Controller::Base: js accessor bereitstellen
Der wird eh überall benutzt, also kann er auch gleich dahin.
Einkaufsrechnungssuche: Spalte Lastschrifteinzug optional anzeigen
Rechnungssuche: Spalte Lastschrifteinzug optional anzeigen
Wiederkehrende Rechnungen: Lastschrifteinzugsflag in Konfiguration setzen können
Rechnungen nach Fälligkeitsdatum sortieren
CreatePDF-Helper: variable_content_types als Parameter an SL::Template::create durchreichen
Damit auch mit CreatePDF HTML-formatierte Variablen aus dem ckeditorgedruckt werden können.
Typos in POD.
Angebote/Aufträge drucken: in order_details übergebene form verwenden …
… und beim Laden des Order-Objekts prüfen, ob eine id vorhanden ist.
DBConnect Caching: rollback nur bei Handles ohne AutoCommit
Beseitigt die nervigen Warnungen im Log
DBConnect Caching: DBConnect auto args in den Key aufnehmen
Typos in Doku
CVar-Helper: Beim Parsen darauf achten, ob unparsed_value ein Objekt enthält.
Um Objekte mit der value-Methode einer CVar vom Typ Customer, Vendor oder Partzuweisen zu können, muss beim Parsen die Id des Objekts ermittelt werden.
Dieses wird z.B. im Helper (SL::DB::Helper::CustomVariables.pm) verwendet, um...
POD Fehler
Menu: Nur yaml Dateien einlesen
Ansonsten machen Tempdateien von Editoren das Programm kaputt
Doku: POD für Invoice.pm erweitert
- Invoice anstatt Delivery Order bei new_from- Beispiel-Code für Benutzung von new_from mit parameter attributes- TODO angelegt, Controller sollten einige Datenfelder mit Hilfe von Backend-Funktionen prüfen können - in diesem Fall transdate
Merge branch 'mass_convert_delivery_orders_to_invoice'
Massenkonvertierung von Lieferscheinen nach Rechnung ink. Druck
Die Konvertierung als auch das Generieren des PDFs erfolgt alsBackground-Job. Entsprechend muss der task_server für den.Mandanten eingestellt sein.Details und bekannte offene Punkte im POD der beiden Perl-Module....
DeliveryOrder um convert_invoice erweitert
Diesselbe Idee wie bei SalesOrder->convert_invoice. Der ursprünglicheLieferschein wird geschlossen und das neue Objekt mittels record_linksverknüpft.Entsprechend Testfall mitgeliefert.
SL::DB::CVar::value: mit übergebenen DateTime-Objekten klarkommen
Ruft mal value als getter auf, so wird ein DateTime-Objektzurückgegeben. Als setter aufgerufen, erwartete die Funktion bisheraber, dass ein String übergeben wird. Somit war es nicht möglich, eine...
PriceSource: Bei Kundenrabatten nicht rabattierfähige Artikel ignorieren
Layout: Javascript Includes gefixt
1. jquery-ui muss im Top vorhanden sein für glquicksearch.js2. Javacript und CssMenu brauchen das frame_header css nicht einbinden3. js includes normalisiert ohne "js/" Präfix
Nach Request alle Datenbankhandle rollbacken
An diversen Stellen wird in Legacycode eine Transaktion manuellerstellt. Wenn in dieser Transaktion eine Exception geworfen wird,beendet das den Requst ohne die Handle aufzuräumen in der Annahme, dassdie disconnected werden....
Kontoauszug verbuchen - prüfen, ob Bankbuchung und Rechnung schon verlinkt
Eine Bankbuchung darf zwar mehrere Rechnungen begleichen, aber jedeRechnung nur einmal. Daher wird vor dem verbuchen geprüft, ob es für dieBankbuchung schon eine Verknüpfung zu der Rechnung gibt.
invoice_type, displayable_type und displayable_name für ap
Bei Einkaufsrechnungen und Kreditorenbuchungen gibt es keine Stornosoder Gutschriften.
Kontenabgleich - Anfangsdatum mit >= statt > filtern
Es sollen alle Bankbuchungen inklusive dem Anfangsdatum angezeigtwerden, nicht nach dem Anfangsdatum.
DeliveryOrder - Doku und Typos
Typos - kein "wether" mehr!
Projektbericht - Sortierung nach Status und Typ repariert
ist nach Umstellung auf Controller kaputt gegangen
OpenDocument Druck: foreach Konstrukte korrekt ausschneiden
PriceSource: Vor Popup Einheit resetten
Ansonsten gibt es beim nächsten Update Probleme mit doppelt formatiertenEinheiten.
PriceSource: Stammdaten beachten jetzt Einheiten
PriceSource: Probleme dokumentiert
RecordItem: unit_muiltiplier Methode
make_record: Zusätzliche Formvariablen speichern.
MetaSetup für discount in Vendor
discount ist jetzt identisch mit dem äquivalent in Customer.
USTVA.pm : refactoring von get_coa und coa_get
get_coa benutzt jetzt intern instance_conf und coa_get kann komplettdurch einen instance_conf Zugriff ersetzt werden.
get_standard_dbh für USTVA.pm Abfrage
behebt #73
BankAccount.pm - require für Chart Abfrage
Locale - richtigen Filehandle für Menüübersetzungen benutzen
Überarbeitung Speichern von Buchungsgruppen
analog zum Verhalten von Steuerzonen: beim Speichern bessere Prüfung undgegebenenfalls Fehlermeldungen und Rollback, wenn Speichern fehlschlägt.Verhindert, daß "unfertige" Buchungsgruppen gespeichert werden, wo die...
TaxzoneChart displayable_name und refactoring
displayable_name für die Kontenbeschreibung benutzen.
Statt eigener Methoden in TaxzoneChart die Foreign Key Verknüpfungen vonRose nutzen.
Steuerzonen überarbeitet - Prüfung und Löschen
Nicht benutzte Steuerzonen können jetzt gelöscht werden, sowie derenKontenzuordnungen geändert werden (wie bei Buchungsgruppen). SieheFeature #70.
Schlägt die Speicherung neuer Steuerzonen fehl, weil z.B. die...
Lieferwertbericht - unnötige Konfigurationsparameter entfernt (Ergänzung)
Vergessene Dateien zum Commit von gerade
Undefined chart bei taxkey 0 und 1
Nicht nur bei Taxkey 0 gibt es keine chart_id, auch bei taxkey 1.Abfrage nun umgestellt.
Bugfix: Kommentarhandling in Inifile
Das ist aber immernoch Schrott, weil die Latex order # enthält, undtrotzdem rausgegrillt wird.
Merge branch 'master' of github.com:kivitendo/kivitendo-erp
Layout: Inlinejavascripte mit ; trennen
Rechte: In die Datenbank verlagert
Admin: Standardgruppe erst anlegen, wenn keine dbupgrade mehr
Rechte: SL::Auth::all_rights() > $::auth>all_rights
DBUpgrade: Pfad überladbar machen
DBUpgrade: lxdebug Statements entfernt
So kann es aus scripts/ aufgerufen werden.
DBUpgrade: locales parsen
Locale: zusätzliche Locales parsen
Menu: Rechtschreibung
Menu: Caching und access korrekt clearen
Menu: YAML::XS benutzen wenn vorhanden
Menu: Fehlermeldungen Update
Menüstruktur auf YAML geändert
Layout/empty: empty.json und emty.html ermöglichen
Dispatcher: FCGI Finish -> 10ms schneller im Browser
Menu: Bei einzelner erp.ini nicht alles umkopieren.
Layout: Icons in Javascript Menü gefixt
Menu: HTML Menü parsing n+1 beseitigt
Inifile: alten Schrott beseitigt
Layout: MenuLeft auf neue Maps angepasst
Bei Kontenabgleich Differenz der ausgewählten Zeilen richtig berechnen
Bei round_amount muß man immer die nötige Anzahl der Stellen alsParameter mitgeben, ansonsten wird auf 0 Stellen gerundet.
behebt #66
Sammelaufträge - fehlerhaftes Verhalten
Standardmäßig wird der Sammelauftrag, zusammen mit den Positionen, perRecordLinks verlinkt. Eine Ausnahme besteht wenn der Sammelauftrag ausgenau einem Auftrag entstanden ist, in dem Fall wird angenommen, daß"als neu speichern" gemeint ist, und es gibt keine Verlinkung....
Belegpositionen nicht mehr mit ordnumber, transdate, cusordnumber speichern
stattdessen für das Drucktemplate der Rechnung ordnumber_oe, transdate_oe undcusordnumber_oe aus Recordlinks auslesen, und auch entsprechendeDruckvariablen für Angebot und Lieferschein bereitstellen....
Einheitliche displayable_name Methode für ar/ap/oe/do Objekte
Bestehend aus Dokumentenname und Dokumentennummer, z.B.Rechnung 12Gutschrift 20Verkaufslieferschein 15b
Einheitliche Methode record_number für ar/ap/oe/do Objekte
entspricht jeweils invnumber/ordnumber/donumber
Methode displayable_type auch für Lieferscheine
record Aliase für Items
damit man von DeliveryOrderItem, OrderItem und InvoiceItem direkt aufdas entsprechende ar/ap/do/oe Objekte verweisen kann.
Beispiel in console:
die erste Position aus der ersten Rechnung: my $item = SL::DB::Manager::Invoice->get_first()->items->[0];...
Items in Belegen können durch LinkedRecords angesprochen werden
wzToolTip durch jQuery ToolTipster ersetzt
wzToolTip hat ein uraltes, ist in der Benutzung ausgesprochenunkomfortabel und unflexibel und muss zwingend in jedem benutzendenTemplate manuell nach dem <body>-Tag eingebunden werden. Dadurch kannes z.B. nicht im Layout mit ausgegeben werden.
SL::DB::CustomVariable->value für Typ Nummer auch wirklich Nummer zurückgeben
Da die Spalte number_value in der DB vom Typ numeric() ist, wird das vonRose als String eingelesen. Das bedeutet, dass ->number_value z.B. derWert '0.00000' liefert, was im Booleschen Kontext trueish ist – nicht...
Standard-Druckvorlagen entfernt
Da die Standard-Druckvorlagen nicht mehr weiter gepflegt werden, enstprechend für dennächsten Release als Auswahloption entfernt.
GetModels: Optional die action setzen.
GetModels Filtered: gelaunderten Filter nicht mehr in Controller schreiben
Statt dessen kann der gelaunderte Filter über das Filtered-Pluginabgefragt werden, z.B. im Controller:
$self->models->filtered->laundered
oder im Template:
SELF.models.filtered.laundered
GetModels Filtered: manuelles Setzen von launder_to entfernt
Dies ist ein Zwischenschritt. Das Ziel ist, den gelaunderten Filter nurnoch im Filtered-Plugin selber zu speichern und ihn von dort abzuholen.
Da launder_to bisher noch nirgends benutzt wird, sondern immer nur der...
GetModels Filtered: gelaunderten Filter im Plugin zur Verfügung stellen
ParseFilter: Komplexe Methoden ermöglichen, die auch den Key ändern
ParseFilter: re-factor das Parsen von Filter- und Methodennamen
ParseFilter: re-factoring des Anwendens von Filtern und Methoden
GetModels: Disablen von Plugins auch für undef
Die Dokumentation sagt Folgendes zum Deaktivieren von Plugins:
Configuration for plugins. If the option for any plugin is omitted,it defaults to enabled and is configured by default. Giving afalsish value as first argument will disable the plugin....
AttrDuration: Implementation für Spalten, die Dauer in Minuten speichern