Sven Schöling [Mon, 20 Jul 2015 14:13:41 +0000 (16:13 +0200)]
DBUpgrade: locales parsen
Sven Schöling [Fri, 17 Jul 2015 15:32:30 +0000 (17:32 +0200)]
crm locales
Sven Schöling [Fri, 17 Jul 2015 12:46:39 +0000 (14:46 +0200)]
Locale: zusätzliche Locales parsen
Sven Schöling [Fri, 17 Jul 2015 12:46:22 +0000 (14:46 +0200)]
iconmap update
Sven Schöling [Thu, 16 Jul 2015 15:10:19 +0000 (17:10 +0200)]
Menu: Doku in 00-erp.yaml
Sven Schöling [Thu, 16 Jul 2015 13:29:05 +0000 (15:29 +0200)]
menus: menu.pl links entfernt
Sven Schöling [Thu, 16 Jul 2015 13:28:41 +0000 (15:28 +0200)]
Javascript Menü: typos
Sven Schöling [Thu, 16 Jul 2015 13:26:48 +0000 (15:26 +0200)]
Menu: menu.pl links entfernt
Sven Schöling [Thu, 16 Jul 2015 13:25:29 +0000 (15:25 +0200)]
migrate_menu: trailing whitespace im yaml dump
Sven Schöling [Thu, 16 Jul 2015 12:03:07 +0000 (14:03 +0200)]
Menu: Rechtschreibung
Sven Schöling [Thu, 16 Jul 2015 11:02:17 +0000 (13:02 +0200)]
Menu: Caching und access korrekt clearen
Sven Schöling [Wed, 15 Jul 2015 16:42:24 +0000 (18:42 +0200)]
Menu: YAML::XS benutzen wenn vorhanden
Sven Schöling [Wed, 15 Jul 2015 16:22:51 +0000 (18:22 +0200)]
Menu: Fehlermeldungen Update
Sven Schöling [Wed, 15 Jul 2015 16:20:23 +0000 (18:20 +0200)]
Alte Menüdateien entfernt
Sven Schöling [Wed, 15 Jul 2015 15:54:07 +0000 (17:54 +0200)]
Menüstruktur auf YAML geändert
Sven Schöling [Wed, 15 Jul 2015 14:15:11 +0000 (16:15 +0200)]
Erste Version migrate_menu
Sven Schöling [Thu, 9 Jul 2015 14:52:56 +0000 (16:52 +0200)]
Layout/empty: empty.json und emty.html ermöglichen
Sven Schöling [Thu, 9 Jul 2015 13:46:13 +0000 (15:46 +0200)]
Dispatcher: FCGI Finish -> 10ms schneller im Browser
Sven Schöling [Thu, 9 Jul 2015 13:09:19 +0000 (15:09 +0200)]
Menu: Bei einzelner erp.ini nicht alles umkopieren.
Sven Schöling [Wed, 24 Jun 2015 14:10:43 +0000 (16:10 +0200)]
Layout: Icons in Javascript Menü gefixt
Sven Schöling [Tue, 23 Jun 2015 14:08:46 +0000 (16:08 +0200)]
Menu: HTML Menü parsing n+1 beseitigt
Sven Schöling [Tue, 23 Jun 2015 14:08:06 +0000 (16:08 +0200)]
Inifile: alten Schrott beseitigt
Sven Schöling [Tue, 23 Jun 2015 09:50:34 +0000 (11:50 +0200)]
Imagemaps generiert.
Sven Schöling [Tue, 23 Jun 2015 09:50:10 +0000 (11:50 +0200)]
Layout: MenuLeft auf neue Maps angepasst
Sven Schöling [Tue, 23 Jun 2015 09:49:39 +0000 (11:49 +0200)]
Menu: kleinere Fixes an den Icons
Sven Schöling [Tue, 23 Jun 2015 09:48:47 +0000 (11:48 +0200)]
Image Maps ohne GD
GD verliert bei Palette pngs die Transparenz, und Stackoverflow findet
ad hoc nichts wie das zu fixen ist.
Sven Schöling [Mon, 22 Jun 2015 14:44:50 +0000 (16:44 +0200)]
migrate update
Sven Schöling [Mon, 22 Jun 2015 14:44:32 +0000 (16:44 +0200)]
Menus: ICON ohne .png
Sven Schöling [Mon, 22 Jun 2015 14:35:50 +0000 (16:35 +0200)]
migrate script für menu
Sven Schöling [Mon, 22 Jun 2015 14:35:30 +0000 (16:35 +0200)]
Menu: ICON property
Sven Schöling [Mon, 22 Jun 2015 13:15:07 +0000 (15:15 +0200)]
Migrationsscript das Iconmappings enthält
Sven Schöling [Mon, 22 Jun 2015 13:14:36 +0000 (15:14 +0200)]
Icons strukturunabhängig benannt.
Sven Schöling [Mon, 22 Jun 2015 09:11:04 +0000 (11:11 +0200)]
weblogo entfernt
G. Richardson [Mon, 20 Jul 2015 12:23:04 +0000 (14:23 +0200)]
Bei Kontenabgleich Differenz der ausgewählten Zeilen richtig berechnen
Bei round_amount muß man immer die nötige Anzahl der Stellen als
Parameter mitgeben, ansonsten wird auf 0 Stellen gerundet.
behebt #66
G. Richardson [Wed, 15 Jul 2015 14:32:05 +0000 (16:32 +0200)]
Sammelaufträge - fehlerhaftes Verhalten
Standardmäßig wird der Sammelauftrag, zusammen mit den Positionen, per
RecordLinks verlinkt. Eine Ausnahme besteht wenn der Sammelauftrag aus
genau einem Auftrag entstanden ist, in dem Fall wird angenommen, daß
"als neu speichern" gemeint ist, und es gibt keine Verlinkung.
Dies entspricht dem eigentlich gewünschten Verhalten aus Commit
d40a8e2 .
G. Richardson [Wed, 1 Jul 2015 09:28:27 +0000 (11:28 +0200)]
Belegpositionen nicht mehr mit ordnumber, transdate, cusordnumber speichern
stattdessen für das Drucktemplate der Rechnung ordnumber_oe, transdate_oe und
cusordnumber_oe aus Recordlinks auslesen, und auch entsprechende
Druckvariablen für Angebot und Lieferschein bereitstellen.
Diese Informationen sollen in Zukunft nur noch aus record_links bestimmt
werden, aus Kompatibilitätsgründen werden die alten Werte aber vorerst
noch in der DB belassen, aber eben nicht mehr bei neuen Aufträgen oder
Lieferscheinen gespeichert. Dadurch werden sie auch nicht mehr im Rahmen
des Workflows weitergereicht.
Ursprünglich wurden diese Datenbankfelder wahrscheinlich für
Sammelaufträge konzipiert, d.h. sie sollten nur befüllt werden, wenn man
einen neuen Auftrag aus mehreren bestehenden Aufträgen erstellt hat.
Das passt insofern, als daß diese Felder beim initialen Speichern eines
Auftrags nicht gefüllt wurden. Allerdings wurden die Felder schon
gefüllt, wenn man einen Auftrag zum zweiten Mal gespeichert hat, es war
also nicht allein auf das Zusammenfügen von Aufträgen beschränkt.
Außerdem wurden diese Felder im Rahmen des Workflows von Auftrag zu
Lieferschein oder Auftrag zu Rechnung dann in delivery_order_items oder
invoice gefüllt.
Bei "als neu speichern" eine Auftrags wurde auch noch die alte
Auftragsnummer in die neue Position übernommen.
Weiterhin wurde nicht berücksichtigt, daß man mittlerweile auch aus
mehreren Lieferscheinen eine Rechnung erstellen kann, die auch
unterschiedliche Aufträge haben können.
Für das Rückverfolgen der ursprünglichen Belege ist generell nun
record_links eine gute Möglichkeit, die Rückverfolgung von Positionen zu
ermöglichen. Das Verhalten, daß die Variablen nur dann gefüllt sind,
wenn sie aus Sammelaufträgen stammen, ist nun nicht mehr vorgesehen (und
hat vorher auch nicht richtig funktioniert).
In der Druckvorlage gibt es für Rechnungspositionen nun auch neue
Druckvariablen, nämlich die Angebotsnummer, Angebotsdatum,
Lieferscheinnummer und Lieferscheindatum für die Belege, aus denen die
Positionen im Rahmen des Workflows ursprünglich stammten. Siehe Doku.
G. Richardson [Mon, 29 Jun 2015 15:13:18 +0000 (17:13 +0200)]
Einheitliche displayable_name Methode für ar/ap/oe/do Objekte
Bestehend aus Dokumentenname und Dokumentennummer, z.B.
Rechnung 12
Gutschrift 20
Verkaufslieferschein 15b
G. Richardson [Mon, 29 Jun 2015 11:08:48 +0000 (13:08 +0200)]
Einheitliche Methode record_number für ar/ap/oe/do Objekte
entspricht jeweils invnumber/ordnumber/donumber
G. Richardson [Mon, 29 Jun 2015 11:09:46 +0000 (13:09 +0200)]
Methode displayable_type auch für Lieferscheine
G. Richardson [Mon, 29 Jun 2015 09:37:22 +0000 (11:37 +0200)]
record Aliase für Items
damit man von DeliveryOrderItem, OrderItem und InvoiceItem direkt auf
das 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];
alle dorthin verknüpften Items (wenn aus Angebot, Auftrag und Lieferschein generiert)
my $linkeditems = $item->linked_records( direction => 'from', recursive => 1 );
in was für records befinden sich diese verknüpften Positionen:
foreach ( @$linkeditems ) { print $_->record->type, "\n" };
sales_quotation
sales_order
sales_delivery_order
G. Richardson [Thu, 25 Jun 2015 15:32:48 +0000 (17:32 +0200)]
Items in Belegen können durch LinkedRecords angesprochen werden
Moritz Bunkus [Fri, 17 Jul 2015 07:29:35 +0000 (09:29 +0200)]
kivi.js: Support für jQueryUI-ToolTips wegen ToolTipster entfernt
Siehe Commit
c0713b6. Damit nur ein ToolTip-System genutzt wird, und da
jQueryUI-ToolTip bisher nirgends in Templates verwendet wird, fliegt nun
der Support aus kivi.js. Grund ist auch, dass jQueryUI-ToolTip kein HTML
in ToolTips kann.
Moritz Bunkus [Fri, 17 Jul 2015 07:21:29 +0000 (09:21 +0200)]
wzToolTip durch jQuery ToolTipster ersetzt
wzToolTip hat ein uraltes, ist in der Benutzung ausgesprochen
unkomfortabel und unflexibel und muss zwingend in jedem benutzenden
Template manuell _nach_ dem <body>-Tag eingebunden werden. Dadurch kann
es z.B. nicht im Layout mit ausgegeben werden.
Moritz Bunkus [Thu, 16 Jul 2015 15:04:54 +0000 (17:04 +0200)]
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 von
Rose als String eingelesen. Das bedeutet, dass ->number_value z.B. der
Wert '0.00000' liefert, was im Booleschen Kontext trueish ist – nicht
das, was der Programmierer erwarten würde.
Statt dessen erwartet der Programmierer, dass !$zahl für den Wert 0 auch
wirklich zutrifft.
Daher sollte ->value für CVars vom Typ Nummer auch wirklich eine Zahl
zurückgeben, was durch ein * 1 erzwungen wird. Ausnahme: undef, was
weiterhin undef bleibt.
G. Richardson [Wed, 15 Jul 2015 10:24:29 +0000 (12:24 +0200)]
Projektliste in Detailsanzeige bei Angeboten, Aufträgen und VK-Rechnungen füllen (v2)
oe und is speichern die Projekt-Dropdowns, die im jeweiligen form_header
zusammengebaut werden, in $TMPL_VAR{ALL_PROJECTS}.
Das Projekt-Dropdown in io.pl für die Detailsanzeige (zweite
Positionszeile) greift hingegen für alle Belege auf
$form->{ALL_PROJECTS} zu, daher werden die Elemente nochmal gesondert in
$form gespeichert.
G. Richardson [Wed, 15 Jul 2015 08:57:53 +0000 (10:57 +0200)]
Revert "Projektliste in Detailsanzeige bei Angeboten und Aufträgen füllen"
This reverts commit
fd71c09ec391d9ae8c9276597d0f0e574cc0b4c1.
Moritz Bunkus [Wed, 15 Jul 2015 09:28:48 +0000 (11:28 +0200)]
Lieferscheinsuche: initialer Fokus auf Kunden-/Lieferantenname
Dadurch ist die Maske konsistent mit allen anderen Suchmasken im Verkauf
und Einkauf.
Moritz Bunkus [Wed, 15 Jul 2015 09:25:36 +0000 (11:25 +0200)]
Focus: »erstes fokussierbares Element« nicht »Element mit initial_focus« überschreiben
G. Richardson [Wed, 15 Jul 2015 07:20:47 +0000 (09:20 +0200)]
Projektliste in Detailsanzeige bei Angeboten und Aufträgen füllen
Das Projekt-Dropdown in der Detailsanzeige bei den Positionen war leer.
G. Richardson [Tue, 14 Jul 2015 10:07:53 +0000 (12:07 +0200)]
Kontenabgleich: Gesamtsummen unten in richtigen Spalten anzeigen
Summen für "Betrag Bank" and "Betrag Buchungen" waren um eine Spalte
verschoben.
G. Richardson [Mon, 13 Jul 2015 12:25:26 +0000 (14:25 +0200)]
RB Druckvorlagen - Anpassungen für Brieffunktion
Straße hinzugefügt
Ihr Zeichen und Referenz optional anzeigen, nur wenn nicht leer.
Übersetzt.
Sven Schöling [Fri, 10 Jul 2015 12:16:52 +0000 (14:16 +0200)]
GetModels: Optional die action setzen.
Moritz Bunkus [Thu, 9 Jul 2015 13:24:56 +0000 (15:24 +0200)]
GetModels Filtered: gelaunderten Filter nicht mehr in Controller schreiben
Statt dessen kann der gelaunderte Filter über das Filtered-Plugin
abgefragt werden, z.B. im Controller:
$self->models->filtered->laundered
oder im Template:
SELF.models.filtered.laundered
Moritz Bunkus [Thu, 9 Jul 2015 13:03:37 +0000 (15:03 +0200)]
GetModels Filtered: manuelles Setzen von launder_to entfernt
Dies ist ein Zwischenschritt. Das Ziel ist, den gelaunderten Filter nur
noch im Filtered-Plugin selber zu speichern und ihn von dort abzuholen.
Da launder_to bisher noch nirgends benutzt wird, sondern immer nur der
Default, kann es problemlos entfernt werden.
Moritz Bunkus [Thu, 9 Jul 2015 12:32:23 +0000 (14:32 +0200)]
GetModels Filtered: gelaunderten Filter im Plugin zur Verfügung stellen
Moritz Bunkus [Fri, 3 Jul 2015 14:25:31 +0000 (16:25 +0200)]
AttrDuration-Test: Anzahl Testcases gefixt
Moritz Bunkus [Fri, 3 Jul 2015 14:20:53 +0000 (16:20 +0200)]
ParseFilter: Komplexe Methoden ermöglichen, die auch den Key ändern
Moritz Bunkus [Fri, 3 Jul 2015 13:13:07 +0000 (15:13 +0200)]
ParseFilter: re-factor das Parsen von Filter- und Methodennamen
Moritz Bunkus [Fri, 3 Jul 2015 12:46:27 +0000 (14:46 +0200)]
ParseFilter: re-factoring des Anwendens von Filtern und Methoden
Moritz Bunkus [Fri, 3 Jul 2015 08:23:14 +0000 (10:23 +0200)]
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 a
> falsish value as first argument will disable the plugin.
Das bisherige Verhalten war aber, dass bei Übergabe von
undef (z.B. »paginated => undef«) die Standardeinstellungen gegriffen
haben.
Moritz Bunkus [Fri, 3 Jul 2015 08:08:27 +0000 (10:08 +0200)]
AttrDuration: Implementation für Spalten, die Dauer in Minuten speichern
Moritz Bunkus [Wed, 1 Jul 2015 08:34:33 +0000 (10:34 +0200)]
DBConnect-Cache: undefined-Warnungen vermeiden
Treten z.B. beim Aufsetzen der Testdatenbank auf.
G. Richardson [Wed, 1 Jul 2015 16:21:35 +0000 (18:21 +0200)]
Bankerweiterung - bei Rechnung zuweisen Verkaufsrechnungen anzeigen
Das Feature war kaputt, offene Verkaufsrechnungen wurden nicht angezeigt.
G. Richardson [Wed, 1 Jul 2015 16:14:56 +0000 (18:14 +0200)]
Skonto - korrekte Variablenprüfung payment_term
für den Fall, daß kein payment_term bei den ausgewählten Rechnungen gesetzt ist.
G. Richardson [Wed, 1 Jul 2015 16:11:42 +0000 (18:11 +0200)]
Revert "Banktransactions - beim Speichern der Rechnung Zahlungsart prüfen"
This reverts commit
8809a4d1a4b4d3e5b3de31af94c0679dabfacc28.
Das funktioniert so nicht.
G. Richardson [Wed, 1 Jul 2015 13:34:36 +0000 (15:34 +0200)]
Typos in Doku
Moritz Bunkus [Wed, 1 Jul 2015 08:34:21 +0000 (10:34 +0200)]
kivitendo/main.css: Encoding auf UTF-8
Bernd Bleßmann [Mon, 29 Jun 2015 13:47:07 +0000 (15:47 +0200)]
VK-Rechnungsmaske: "zurück"-Link hinzugefügt, um z.B. zur Berichtsliste zurückzukehren
Dieser Link ruft das gespeicherte callback auf, falls vorhanden.
Bernd Bleßmann [Mon, 29 Jun 2015 10:21:00 +0000 (12:21 +0200)]
R&B-Briefvorlage: Seitenumbruch ermöglichen und Kopfzeile ab zweiter Seite.
Body war in minipage verpackt. Damit fand kein Seitenumbruch innerhalb des
Body-Textes statt.
Bernd Bleßmann [Mon, 29 Jun 2015 10:04:15 +0000 (12:04 +0200)]
R&B-Briefvorlage: mit Logo und Fußzeile, wie bei den anderen Vorlagen.
Bernd Bleßmann [Mon, 29 Jun 2015 09:28:12 +0000 (11:28 +0200)]
Revert "RB-Druckvorlagensatz: abweichende Lieferadresse für Kunden- Lieferantenauftrag"
This reverts commit
f167d00fa21c107f8f5c3b636d7031a739ea3ca5.
Aufträge sollten nicht an die Lieferadresse, sondern an die Stammdaten-Adresse
gehen. Zudem sind seit commit
b6213d3539ccd179cd1f21b9afc54b8de8970774
"Einkauf/Verkauf: Lieferadressenfelder nie aus Stammdaten vorbelegen" die sipto-
Felder leer, wenn keine Lieferadresse angegeben ist.
Moritz Bunkus [Mon, 29 Jun 2015 11:22:31 +0000 (13:22 +0200)]
ClientJS: Ziel-Argument bestimmter Funktionen vorne trimmen
jQuery kann aus HTML-Strings DOM-Objekte bauen:
$("<p>stuff</p>"). Beginnt der HTML-String mit Leerzeichen, so croakt
jQuery daran. Daher bei den betroffenen Funktionen, die immer auf einem
so gebauten DOM-Objekt hantieren, das Ziel-Argument um führende
Leerzeichen bereinigen.
Moritz Bunkus [Mon, 29 Jun 2015 10:49:57 +0000 (12:49 +0200)]
ClientJS: cosmetics (alignment/indentation)
Moritz Bunkus [Mon, 29 Jun 2015 10:48:58 +0000 (12:48 +0200)]
ClientJS: Kommentar korrigiert
G. Richardson [Thu, 25 Jun 2015 15:31:49 +0000 (17:31 +0200)]
Typos in Kommentaren
G. Richardson [Thu, 25 Jun 2015 15:21:22 +0000 (17:21 +0200)]
history - Vereinheitlichung von what_done für is/ir/ap/gl
Es wird nun immer "invoice" dort gespeichert.
G. Richardson [Mon, 29 Jun 2015 07:54:00 +0000 (09:54 +0200)]
Kreditorenbuchung: Stornos korrekt in history speichern
invnumber statt ordnumber
G. Richardson [Thu, 25 Jun 2015 15:04:56 +0000 (17:04 +0200)]
history für Zahlungen ar/ap/is/ir und Zahlungsein- und ausgang
Die Spalte "addition" in history_erp hat jetzt einheitlich den Eintrag
"PAYMENT POSTED", übersetzt als "Zahlung gebucht".
Bei Verkaufsrechnungen, Kreditor- und Debitorenbuchung wird jetzt zum
ersten Mal die Zahlung in history protokolliert, zumindest via "Zahlung
buchen".
G. Richardson [Thu, 25 Jun 2015 14:40:26 +0000 (16:40 +0200)]
history - bei parts what_done mit abspeichern
Verhalten von what_done an andere history-Einträge angepasst.
G. Richardson [Thu, 25 Jun 2015 14:39:17 +0000 (16:39 +0200)]
Bank - Reiter 'Set cleared entfernen' im Kontenabgleich
nicht mehr benötigter Entwicklungsstand.
G. Richardson [Thu, 25 Jun 2015 09:59:10 +0000 (11:59 +0200)]
Typos in Doku
Sven Schöling [Thu, 25 Jun 2015 15:10:28 +0000 (17:10 +0200)]
Preisgruppenüberbleibsel entfernt
Aus der Preisgruppenumstellung
Moritz Bunkus [Mon, 22 Jun 2015 10:52:43 +0000 (12:52 +0200)]
SL::DB::{Invoice,DeliveryOrder}->new_from: manuelles Filtern von Items via coderef
Sven Schöling [Fri, 19 Jun 2015 15:17:14 +0000 (17:17 +0200)]
DB-Handle Caches: DATESTYLE korrekt setzen
G. Richardson [Fri, 19 Jun 2015 14:22:24 +0000 (16:22 +0200)]
Payment - falsche geschweifte Klammer bei Skonto Zahlungsvorschlag
Moritz Bunkus [Tue, 16 Jun 2015 14:17:51 +0000 (16:17 +0200)]
Zahlungsbedingungen: Flag »Fälligkeitsdatum automatisch berechnen«
G. Richardson [Wed, 17 Jun 2015 21:25:42 +0000 (23:25 +0200)]
Bankbewegungsimport - detailliertere Fehlermeldungen
bei Fehlern oder nicht zuordbaren lokalen Bankdaten
G. Richardson [Wed, 17 Jun 2015 20:04:36 +0000 (22:04 +0200)]
Banktransactions - beim Speichern der Rechnung Zahlungsart prüfen
ob es einem gültigen payment type entspricht.
Außerdem korrekte Variablenprüfung, für den Fall, daß kein payment_term
gesetzt ist.
Moritz Bunkus [Thu, 18 Jun 2015 11:50:27 +0000 (13:50 +0200)]
Zahlungsbedingungen bei Lieferscheinen; veraltete Spalte »terms« entfernt
Moritz Bunkus [Tue, 16 Jun 2015 13:47:50 +0000 (15:47 +0200)]
Kosmetik: Ausrichtung
G. Richardson [Wed, 17 Jun 2015 13:28:41 +0000 (15:28 +0200)]
Typos in Doku
Sven Schöling [Thu, 26 May 2011 11:19:14 +0000 (13:19 +0200)]
$&, $' und $` grösstenteils entfernt.
Sven Schöling [Fri, 5 Jun 2015 16:00:17 +0000 (18:00 +0200)]
Dispatcher: Client DB Handles cachen.
Spart etwa ein Drittel an Requestoverhead, von 27ms auf 17ms.
G. Richardson [Wed, 17 Jun 2015 11:13:09 +0000 (13:13 +0200)]
Banktransactions Import - bessere Fehlermeldung wenn BLZ nicht stimmt
Beim Import wird sowohl Kontonummer oder IBAN als auch die BLZ geprüft.
Für den Fall, daß ein Konto anhand der importierten Kontonummer gefunden
wurde, die importierte BLZ aber nicht mit der dazu gespeicherten BLZ
übereinstimmt, gibt es nun eine aussagekräftigere Fehlermeldung.
Wahrscheinlich ist in diesem Fall die BLZ in den Bankkonteneinstellungen
falsch und muß dort aktualisiert werden.
Zumindest für den Fall, daß die IBAN übergeben wird, könnte man auf die
BLZ Prüfung wahrscheinlich auch verzichten.
Sven Schöling [Mon, 15 Jun 2015 13:47:29 +0000 (15:47 +0200)]
Indirekte Objektnotation fixen
Sven Schöling [Mon, 15 Jun 2015 13:46:59 +0000 (15:46 +0200)]
Tests: Indirekte Objektnotation für Instanzierung verbieten.
G. Richardson [Fri, 12 Jun 2015 12:49:42 +0000 (14:49 +0200)]
Rechte für Bankbewegungen in Bankerweiterung setzen
Als sinnvollen Default erhalten beim Upgrade Gruppen, die schon das
Recht für "Zahlungseingang, Zahlungsausgang, Kontenabgleich" (cash)
besitzen, auch alle Rechte für die Bankerweiterung, also die Arbeit mit
den importierten Bankbewegungen.
Moritz Bunkus [Wed, 3 Jun 2015 15:16:26 +0000 (17:16 +0200)]
SL::DB::Helper::TransNumberGenerator: alle beteiligten Spalten aufführen
Moritz Bunkus [Wed, 3 Jun 2015 12:35:23 +0000 (14:35 +0200)]
SL::DB::Helper::TransNumberGenerator: Belegnummern einmal direkt auslesen
Es werden alle vorhandenen Belegnummern benötigt. Diese wurden bisher so
ausgelesen, dass die Belege vom Rose-Manager via ->get_all komplett
geladen wurden und dann jeweils die Belegnummernspalte davon genommen
wurde. Das ist sehr langsam, vor allem da es potenziell sogar gleich ein
zweites Mal gemacht wurde.
Die Umstellung hier nutzt dafür ein direktes SQL-Query und umgeht Rose
dafür. Außerdem werden die nur einmal ausgelesen.
Moritz Bunkus [Wed, 3 Jun 2015 10:46:00 +0000 (12:46 +0200)]
SL::DB::Helper::TransNumberGenerator: Tabellen und Zeilen locken
Die Tabelle, aus der die Liste der bereits benutzten Belegnummern
ausgelesen wird, muss exklusiv gelockt werden, um zu verhindern, dass
danach zwischen dem Auslesen und der Vergabe der neuen Belegnummer eine
andere DB-Verbindung dasselbe macht und dieselbe Nummer verwendet.
Dieses Locking muss daher vor dem Auslesen der Daten geschehen.
Weiterhin müssen die Zeilen in den Nummernkreistabellen (defaults
bzw. business) gelockt werden. Hier reicht aber das Locking der
entsprechenden Zeile.
Beide Locks müssen analog zu SL::TransNumber gehandhabt werden, um einen
potenziellen Deadlock zu vermeiden, sprich zuerst die Belegtabelle,
danach die Zeile in der Nummernkreistabelle.