SL::Controller::CustomerVendor::action_new in action_add umbenannt
SL::Controller::Customer entfernt
ct.pl als Controller
SL::DB::CustomVariable::value an Customer angepasst
als getter gibt die Methode ein SL::DB::Customer-Objekt zurück.als setter wird eine Customer-ID erwartet.
Relation zw. Note und FollowUp eingetragen
CustomVariables-Helper registrieren von neu erstellen CVars
SL::DB::Helper::CustomVariables::cvars_by_config fügt neue CVarsdem ursprünglichen Objekt hinzu.
CVar-Accessor für Optionen und Flags
Validity-Accessor für CVars
frame_header.css auch für JavaScript im Layout angeben, und nicht direkt in Form
Fixt #2329.
CRM-Menü automatisch einlesen, falls es existiert
Siehe #2328.
LoginScreen: im Check auf "schon angemeldet?" Client setzen
Beim Einlagern die letzte gewählte Einheit merken
mini_stock auch direkt nach dem einlagern anzeigen.
Nicht benutzte Action entfernt
Erst testen, dann committen Sven...
Einlagern: Journal nicht abstürzen lassen, wenn noch nichts umgelagert wurde
Merge branch 'master' of github.com:kivitendo/kivitendo-erp
Conflicts: SL/Template/Plugin/JavaScript.pm
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
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.
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