Erst testen, dann committen Sven...
Einlagern: Journal nicht abstürzen lassen, wenn noch nichts umgelagert wurde
Javascript escape nach Ecmascript Spec.
Es gab einen Eckfall mit CR wo das kaputt gegangen ist, Spec kenntnoch als weitere Randfälle TAB, VT, ' und BS
Fehlendes Komma ergänzt
Fixt #2331.
JavaScript-Plugin: Carriage returns escapen
Neues Recht für Anzeige von Artikeldetails/-berichten
Statt nur ein Recht für die Bearbeitung von Artikeln zu haben, das gleichzeitig auch das Rechtfür die Anzeige von Details und Berichten über Artikel umfasst, wurde nun ein neues Recht eingeführt.Das alte Recht "Artikel, Dienstleistungen, Erzeugnisse erfassen und bearbeiten" wurde also in zwei...
InstanceConfiguration: currencies und default_currency nur auf Bedarf auslesen
DBUpgrade2: verhindern, dass $::form->get_standard_dbh eine zweite Verbindung öffnet
Ansonsten sind Deadlocks absolut möglich.
Beim Benutzerlogin keine Auth-DB-Upgrades anwenden
Inventory Controller und neue stock_in Maske
Alte Methode ist weiter im Code vorhanden, wird aber geplant nach und nachdurch das neue Interface ersetzt.
Benötigt Partpicker
Partpicker: Suchicon im css Menü
Partpicker: doppelte Dokumentation entfernt
ClientJS: automatisch Date- und Partpicker nach AJAX-Request initialisieren
Partpicker: Nicht kaputtgehen ohne default part.
Merge branch 'master' of github.com:kivitendo/kivitendo-erp
part picker doku
Kosmetik: Alignment, Einrückung
Partpicker: Filtermöglichkeit nach konvertierbaren Einheiten ('convertible_unit')
Partpicker: Filtermöglichkeit nach Einheiten ('unit')
Part-Manager: leere Strings im Typenfilter ignorieren
Part-Manager: mit Hash-artigem Type richtig umgehen können
Partpicker: ID-Attribut manuell angeben können
Partpicker: Part manuell laden, wenn nur ID angegeben ist
Ansonsten wird initial nichts angezeigt.
Abhängigkeiten von Lieferscheinen und Aufträgen/Angeboten in der Datenbank löschen
und nicht mehr programmseitig. Das geschieht durch Verwendung vonsinnvollen 'ON DELETE CASCADE/SET NULL'-Foreign-Key-Anweisungen undTriggern, die aus diejenigen Tabellen löschen, in denen eine...
SL::DBUpgrade2::Base::drop_constraints: Schema-Namen nicht hardcoden
SL::DB::Helper::PriceTaxCalculator: Margenberechnung gefixt
Die Margenberechnung hat die Stückzahl nicht bei der Kostenberechnungberücksichtigt.
Form::get_duedate: SL::DB::PaymentTerm::calc_date nutzen
SL::DB::PaymentTerm::calc_date: Berechnung von Fälligkeitsdatum anhand von terms_netto/terms_skonto
Dokumentation
exact match funktion wieder hergestellt nach dem letzten commit
ajax_autocomplete umgestellt auf get_models und inline JSON (20% schneller als template)
Doku, picker nach Presenter verschoben
Bei tab und enter den ersten full match benutzen. nur wenn der nicht eindeutig ist resetten oder popup öffnen
Part Picker
SL::DB::DeliveryOrder: donumber in before_save-Hook erzeugen
SL::DB::Invoice: invnumber in before_save-Hook erzeugen
SL::DB::Order: quo/ordnumber in before_save-Hook erzeugen
SL::PrefixedNumber::set_to_max: mit undefinierten Werten klarkommen
with_objects in ParseFilter korrekt weiterreichen
SMTP-Mailer: Login-Konfigurationseinstellung heißt "login", nicht "user"
Die kivitendo.conf führt "login" als Namen für die Einstellungauf. Für Rückwärtskompatibilität aber beide Varianten unterstützen.
Admin: Zuordnungen User <-> Gruppen <-> Mandanten auch leeren können
InstanceConf: Funktionen get_default_(warehouse|bin)_id heißen inzwischen get_(warehouse|bin)_id
"WebDAV" einheitlich schreiben
Kosmetik: Alignment
Mandantenkonfig: Gewichtsoptionen nur anzeigen, wenn Gewichtseinheiten definiert sind
Nicht versuchen DESTROY mit AUTOLOAD zu dispatchen.
Commit nach DB-Upgrade auch, wenn AutoCommit aus ist
Fehlende Einträge in SL/DB/Helper/{ALL,Mappings}.pm
Kopieren nach WebDAV: $form->{tmpfile} immer als lokalen Namen in $form->{tmpdir} interpretieren
Temporäre Datei zum richtigen Zeitpunkt in WebDAV-Ordner kopieren
Beim Drucken immer zuerst in temporäre Datei speichern
Datei vor Kopieren schließen
Refactoring: weniger Funktionen importieren; Pfade nicht mehrfach joinen
Refactoring: Verwendung von POSIX::strftime anstelle von localtime() + sprintf
Ergebnis von File::stat nur dereferenzieren, wenn Datei existiert
Existiert sie nicht, gibt die Funktion nun mal undef zurück.
Kosmetik/Refactoring
Auth: Support für Verbindung zur Unit-Test-Datenbank
DBUpgrade2: Option zum Zurückgeben eines Fehlers bei DB-Upgrades anstelle von print&exit
TransNumberGenerator: mit leerer Sequenzstartnummer klarkommen
SL::DBUpgrade2::add_print_templates: Anpassung auf Mandantenumstellung
MetaSetup: Spalten- und Fremdschlüsselnamen alphabetisch sortieren
Fehlendes 'not null' in MetaSetup CsvImportReport
Nicht mehr benötigte Rose-Models löschen: DptTrans, TranslationPaymentTerm
SL::DB::AuthClient: WebDAV-Flag nicht mehr prüfen, immer Links anlegen
Da die WebDAV-Konfiguration nun innerhalb des Mandanten ein- undausgeschaltet wird, kann man aus dem Admin-Bereich heraus nicht mehrprüfen, ob für diesen Mandanten WebDAV gewollt ist oder nicht. Daher...
InstanceConfiguration: Nur dann Daten aus Client-DB auslesen, wenn $::auth->client gesetzt ist
Template-Parameter "conf_xyz" durch "INSTANCE_CONF.get_xyz" ersetzt
Ansonsten haben wir ein Henne/Ei-Problem: Form::parse_html_templatewill die Variablen "conf_xyz" anhand der Werte in $::instance_confsetzen, ruft also dort die Funktionen auf. Wurde aber das dazugehörige...
Nicht mehr benötigte MetaSetups löschen: DptTrans, TranslationPaymentTerm
Beide korrespondierenden Tabellen wurden in der Zwischenzeit entfernt.
In SL::InstanceConfiguration keine Rose-Objekte nutzen
Die Klasse muss ihre Daten laden, noch bevor die Datenbankupgradesdurch sind. Das bedeutet, dass gerade SL::DB::MetaSetup::Default nochnicht dem Datenbankschema entspricht und das Laden damit fehlschlägt.
InstanceConfiguration durch Verwendung von AUTOLOAD vereinfacht
In Login-Maske Versionsnummer wieder anzeigen
deutsche kommentare und blogposts entfernt.
Conflicts: bin/mozilla/do.pl bin/mozilla/ir.pl bin/mozilla/oe.pl
Trac 2300 / 2301 zweiter Versuch;-)
$::request->layout->focus() größtenteils durch class="initial_focus" ersetzen
Eindeutiger und freundlicher Hinweis, wenn Session abgelaufen ist
Nicht "Sie sind abgemeldet." in Fehlerfarben.
Datenbankhandles in IC nicht disconnecten
Datenbank löschen: auch benutzte auswählbar, dann aber mit Sonderwarnung
Fixt #2312.
Rose::DB::Object 0.788 ist Mindestversion; Doku aktualisiert
foreign keys gefixt
MetaSetup: Folgerun um die Foreign Keys umzudrehen
initialize in SL::DB::Objects statt im MetaSetup
MetaSetup neu generiert
Warnungen gefixt
Metasetup für taykeys aus tax_constraints.pl
Metasetup für tax aus tax_constraints.pl, steuerfilterung.pl
MetaSetup update für gl aus add_fk_to_gl.sql
MetaSetup update für scv_import_report_status aus csv_import_report_cache.sql
Fehlende Dateien in SL::DB::Helper::ALL
MetaSetup update für csv_import_profiles aus csv_import_report_cache.sql
MetaSetup update für contacts
MetaSetup update für acc_trans
Fehlendes Upgrade für chart
CustomVariables: modules nicht mehr zur Compilezeit inferieren
Um module zu inferieren müssen die Zielobjekte bekannt sein, das kann aber zuzirkulären Includes mitten im RDBO initialize führen.
Nachlagern geht auch nicht, weil die Daten für relationships benötigt werden....
AM nicht aus SL::DB::Object laden
Unnötige Relationship (ist schon FK)
kein use SL::DB::Object in SL::DB::Object
kein use SL::DB::Object aus SL::DB::Object
Zirkuläres Include TaxKey -> Chart -> TaxKey aufbrechen