Moritz Bunkus [Tue, 4 Jun 2013 13:21:21 +0000 (15:21 +0200)]
Perl-Upgrade-Files: Nach Exception Rollback & bei Erfolg immer 1 zurückgeben
Exceptions sind vorher nach oben gebubblet, da $result undef
war. $result // 1 ist nun mal 1, was überhaupt keinen Sinn ergibt --
und dadurch wurde kein Rollback gemacht (geschweige denn die
Fehlermeldung wie gewünscht ausgegeben).
Resultat war bei Perl-DB-Upgrades der Auth-Datenbank, dass trotz
Exception später beim Speichern der Session ein Commit gemacht wurde
-- und damit alle Änderungen vor der Exception mit übernommen
wurden (sofern es da keinen Datenbankfehler gab sonder nur eine von
Perl selber ausgelöste Exception).
Moritz Bunkus [Tue, 4 Jun 2013 10:03:45 +0000 (12:03 +0200)]
JS-Multiselect2Side: Namen der temporären Controls von Original-ID und nicht -Name ableiten
Der Name ist nicht zwangsläufig eindeutig, vor allem, wenn mehrere
Elemente dieser Art auf einer Seite vorhanden sind. Beispiel:
name="client[].users[]" mehrfach in einer Schleife ausgegeben.
Jan Büren [Wed, 5 Jun 2013 06:50:06 +0000 (08:50 +0200)]
Migration Freitext-Lagerfeld nach wirklichen Lager verbessert.
Automatisches Durchsuchen war unsauber, hier wurde nur der erste Treffer gefunden.
Leer-Auswahl von einzelnen Lagerplätze nachdem schon ein Lagerplatz ausgewählt wurde,
aktualisiert nicht den Lagerplatz richtig. Zumindestens beim Anlegen abgefangen und
ein Hinweis bei dem Migrationsdialog geschrieben.
Wenn die Anzahl gültiger Kunden mit der Zahl für die Auswahllisten-
begrenzung übereinstimmt, wurden bisher alle Kunden von kivitendo
als ungültig erkannt. Ist nun behoben.
Jan Büren [Thu, 30 May 2013 12:14:57 +0000 (14:14 +0200)]
Nachtrag zum Commit von eben zu für 2284
Copy / Paste Fehler in form_header.html
Copy / Paste Fehler in Default.pm
Vergessene ausgelagerte common select_warehouse_bin.html
hinzugefügt.
Unnötige Hiddens entfernen
Anzeigekonfiguration von Gewichten
Gewichte in Druckvorlagen
Durch diesen Commit werden
1. unnötige Hidden-Variablen aus html-templates entfernt, die mit
Gewichten zu tun haben.
2. die Anzeige von Gewichten konfigurierbar gemacht.
3. Gewichte in Druckvorlagen zur Verfügung gestellt. Es stehen ein
Zeilengewicht (lineweight), Einzelgewicht des Artikels (weight) und
Gesamtgewicht (totalweight) zur Verfügung, die letzten beiden auch
als unformatierte Variablen (weight_nofmt und totalweight_nofmt).
Keine Ahnung, warum das ein Problem ist, aber es gibt folgende Fehlermeldung
bei CSS-Menü-Variante oben (nicht bei seitlichem Menü):
Modification of a read-only value attempted at /usr/local/src/lxoffice-git-bernd/SL/Inifile.pm line 56
Beim Erstellen oder Bearbeiten von Konten, konnte man bisher ein
Konto gleichzeitig als Sammelkonto für sowohl Verkauf, Einkauf und
Inventar verwenden. Durch die Verwendung von Radiobuttons wird dies
nun eingeschränkt.
Jan Büren [Fri, 24 May 2013 08:26:24 +0000 (10:26 +0200)]
Vergessene hiddens für Offene Forderungen / Verbindlichkeiten zum Stichtag
Sowohl das eigentlich Datum (fordate), als auch den Berichtstyp (reporttype) muss für den CSV-Export übergeben werden.
Sven Schöling [Wed, 22 May 2013 09:08:26 +0000 (11:08 +0200)]
perl5.18.0 Kompatibilität: t/helper/csv.t
Betrifft um genau zu sein nicht perl5.18.0 sondern PerlIO::scalar 0.16, das ab perl5.18.0 im core ist. Eine der Änderungen ist, dass bei memory-mapped file Zugriffen immer byte Kontext erzwungen wird, und ein Fehler geworfen wird, wenn der String bereits utf8 ist.
aus perldelta:
PerlIO::scalar has been upgraded to 0.16.
The buffer scalar supplied may now only contain code pounts (sic) 0xFF or lower. [perl #109828]
Grundstein für Gewicht in Auftrag/Lieferschein/Rechnung
In allen VK- und EK-Masken soll bald auch das Gewicht angezeigt
werden. Grundsätzlich ist das mit diesem Commit schon für alle
VK-Masken möglich, allerdings sind noch kleine Verbesserungen nötig.
Bisher hat der DATEV-Check nach Erstellung einer Buchung immer den
ganzen Tag geprüft. Jetzt wird nur noch die Buchung selbst auf
DATEV-Kompatibilität geprüft.
Vorher gibt es mal den Rückgabewert von $code_ref, mal den von
Rose::DB::do_transaction. Nun ist es immer der von $code_ref, sofern
alles OK, und undef/() andernfalls -- inklusive Berücksichtigung des
Aufrufkontextes.
Sven Schöling [Wed, 15 May 2013 09:32:34 +0000 (11:32 +0200)]
Request::flatten sortiert jetzt Hashes nach keys.
Die Änderung war notwendig, weil in perl 5.18 die Hashrandomisierung deutlich
aggressiver ist. Flatten war vorher schon auf dem Papier nicht deterministisch,
das ist aber durch die Randomisierung von perl 5.10 bis 5.16 nie aufgefallen.
Der neue Algorithmus sorgt dafür dass die Datenstruktur
a => [
{
b => 1,
c => 2,
}
]
sowohl als
a[+].b = 1
a[].c = 2
als auch als
a[+].c = 2
a[].b = 1
zurückkommen kann, je nach Reihenfolge die keys zurückgibt.