kivitendo-erp.git
9 years agoMenus: ICON ohne .png
Sven Schöling [Mon, 22 Jun 2015 14:44:32 +0000 (16:44 +0200)]
Menus: ICON ohne .png

9 years agomigrate script für menu
Sven Schöling [Mon, 22 Jun 2015 14:35:50 +0000 (16:35 +0200)]
migrate script für menu

9 years agoMenu: ICON property
Sven Schöling [Mon, 22 Jun 2015 14:35:30 +0000 (16:35 +0200)]
Menu: ICON property

9 years agoMigrationsscript das Iconmappings enthält
Sven Schöling [Mon, 22 Jun 2015 13:15:07 +0000 (15:15 +0200)]
Migrationsscript das Iconmappings enthält

9 years agoIcons strukturunabhängig benannt.
Sven Schöling [Mon, 22 Jun 2015 13:14:36 +0000 (15:14 +0200)]
Icons strukturunabhängig benannt.

9 years agoweblogo entfernt
Sven Schöling [Mon, 22 Jun 2015 09:11:04 +0000 (11:11 +0200)]
weblogo entfernt

9 years agoBei Kontenabgleich Differenz der ausgewählten Zeilen richtig berechnen
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

9 years agoSammelaufträge - fehlerhaftes Verhalten
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 .

9 years agoBelegpositionen nicht mehr mit ordnumber, transdate, cusordnumber speichern
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.

9 years agoEinheitliche displayable_name Methode für ar/ap/oe/do Objekte
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

9 years agoEinheitliche Methode record_number für ar/ap/oe/do Objekte
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

9 years agoMethode displayable_type auch für Lieferscheine
G. Richardson [Mon, 29 Jun 2015 11:09:46 +0000 (13:09 +0200)]
Methode displayable_type auch für Lieferscheine

9 years agorecord Aliase für Items
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

9 years agoItems in Belegen können durch LinkedRecords angesprochen werden
G. Richardson [Thu, 25 Jun 2015 15:32:48 +0000 (17:32 +0200)]
Items in Belegen können durch LinkedRecords angesprochen werden

9 years agokivi.js: Support für jQueryUI-ToolTips wegen ToolTipster entfernt
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.

9 years agowzToolTip durch jQuery ToolTipster ersetzt
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.

9 years agoSL::DB::CustomVariable->value für Typ Nummer auch wirklich Nummer zurückgeben
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.

9 years agoProjektliste in Detailsanzeige bei Angeboten, Aufträgen und VK-Rechnungen füllen...
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.

9 years agoRevert "Projektliste in Detailsanzeige bei Angeboten und Aufträgen füllen"
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.

9 years agoLieferscheinsuche: initialer Fokus auf Kunden-/Lieferantenname
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.

9 years agoFocus: »erstes fokussierbares Element« nicht »Element mit initial_focus« überschreiben
Moritz Bunkus [Wed, 15 Jul 2015 09:25:36 +0000 (11:25 +0200)]
Focus: »erstes fokussierbares Element« nicht »Element mit initial_focus« überschreiben

9 years agoProjektliste in Detailsanzeige bei Angeboten und Aufträgen füllen
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.

9 years agoKontenabgleich: Gesamtsummen unten in richtigen Spalten anzeigen
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.

9 years agoRB Druckvorlagen - Anpassungen für Brieffunktion
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.

9 years agoGetModels: Optional die action setzen.
Sven Schöling [Fri, 10 Jul 2015 12:16:52 +0000 (14:16 +0200)]
GetModels: Optional die action setzen.

9 years agoGetModels Filtered: gelaunderten Filter nicht mehr in Controller schreiben
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

9 years agoGetModels Filtered: manuelles Setzen von launder_to entfernt
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.

9 years agoGetModels Filtered: gelaunderten Filter im Plugin zur Verfügung stellen
Moritz Bunkus [Thu, 9 Jul 2015 12:32:23 +0000 (14:32 +0200)]
GetModels Filtered: gelaunderten Filter im Plugin zur Verfügung stellen

9 years agoAttrDuration-Test: Anzahl Testcases gefixt
Moritz Bunkus [Fri, 3 Jul 2015 14:25:31 +0000 (16:25 +0200)]
AttrDuration-Test: Anzahl Testcases gefixt

9 years agoParseFilter: Komplexe Methoden ermöglichen, die auch den Key ändern
Moritz Bunkus [Fri, 3 Jul 2015 14:20:53 +0000 (16:20 +0200)]
ParseFilter: Komplexe Methoden ermöglichen, die auch den Key ändern

9 years agoParseFilter: re-factor das Parsen von Filter- und Methodennamen
Moritz Bunkus [Fri, 3 Jul 2015 13:13:07 +0000 (15:13 +0200)]
ParseFilter: re-factor das Parsen von Filter- und Methodennamen

9 years agoParseFilter: re-factoring des Anwendens von Filtern und Methoden
Moritz Bunkus [Fri, 3 Jul 2015 12:46:27 +0000 (14:46 +0200)]
ParseFilter: re-factoring des Anwendens von Filtern und Methoden

9 years agoGetModels: Disablen von Plugins auch für undef
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.

9 years agoAttrDuration: Implementation für Spalten, die Dauer in Minuten speichern
Moritz Bunkus [Fri, 3 Jul 2015 08:08:27 +0000 (10:08 +0200)]
AttrDuration: Implementation für Spalten, die Dauer in Minuten speichern

9 years agoDBConnect-Cache: undefined-Warnungen vermeiden
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.

9 years agoBankerweiterung - bei Rechnung zuweisen Verkaufsrechnungen anzeigen
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.

9 years agoSkonto - korrekte Variablenprüfung payment_term
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.

9 years agoRevert "Banktransactions - beim Speichern der Rechnung Zahlungsart prüfen"
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.

9 years agoTypos in Doku
G. Richardson [Wed, 1 Jul 2015 13:34:36 +0000 (15:34 +0200)]
Typos in Doku

9 years agokivitendo/main.css: Encoding auf UTF-8
Moritz Bunkus [Wed, 1 Jul 2015 08:34:21 +0000 (10:34 +0200)]
kivitendo/main.css: Encoding auf UTF-8

9 years agoVK-Rechnungsmaske: "zurück"-Link hinzugefügt, um z.B. zur Berichtsliste zurückzukehren
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.

9 years agoR&B-Briefvorlage: Seitenumbruch ermöglichen und Kopfzeile ab zweiter Seite.
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.

9 years agoR&B-Briefvorlage: mit Logo und Fußzeile, wie bei den anderen Vorlagen.
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.

9 years agoRevert "RB-Druckvorlagensatz: abweichende Lieferadresse für Kunden- Lieferantenauftrag"
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.

9 years agoClientJS: Ziel-Argument bestimmter Funktionen vorne trimmen
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.

9 years agoClientJS: cosmetics (alignment/indentation)
Moritz Bunkus [Mon, 29 Jun 2015 10:49:57 +0000 (12:49 +0200)]
ClientJS: cosmetics (alignment/indentation)

9 years agoClientJS: Kommentar korrigiert
Moritz Bunkus [Mon, 29 Jun 2015 10:48:58 +0000 (12:48 +0200)]
ClientJS: Kommentar korrigiert

9 years agoTypos in Kommentaren
G. Richardson [Thu, 25 Jun 2015 15:31:49 +0000 (17:31 +0200)]
Typos in Kommentaren

9 years agohistory - Vereinheitlichung von what_done für is/ir/ap/gl
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.

9 years agoKreditorenbuchung: Stornos korrekt in history speichern
G. Richardson [Mon, 29 Jun 2015 07:54:00 +0000 (09:54 +0200)]
Kreditorenbuchung: Stornos korrekt in history speichern

invnumber statt ordnumber

9 years agohistory für Zahlungen ar/ap/is/ir und Zahlungsein- und ausgang
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".

9 years agohistory - bei parts what_done mit abspeichern
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.

9 years agoBank - Reiter 'Set cleared entfernen' im Kontenabgleich
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.

9 years agoTypos in Doku
G. Richardson [Thu, 25 Jun 2015 09:59:10 +0000 (11:59 +0200)]
Typos in Doku

9 years agoPreisgruppenüberbleibsel entfernt
Sven Schöling [Thu, 25 Jun 2015 15:10:28 +0000 (17:10 +0200)]
Preisgruppenüberbleibsel entfernt

Aus der Preisgruppenumstellung

9 years agoSL::DB::{Invoice,DeliveryOrder}->new_from: manuelles Filtern von Items via coderef
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

9 years agoDB-Handle Caches: DATESTYLE korrekt setzen
Sven Schöling [Fri, 19 Jun 2015 15:17:14 +0000 (17:17 +0200)]
DB-Handle Caches: DATESTYLE korrekt setzen

9 years agoPayment - falsche geschweifte Klammer bei Skonto Zahlungsvorschlag
G. Richardson [Fri, 19 Jun 2015 14:22:24 +0000 (16:22 +0200)]
Payment - falsche geschweifte Klammer bei Skonto Zahlungsvorschlag

9 years agoZahlungsbedingungen: Flag »Fälligkeitsdatum automatisch berechnen«
Moritz Bunkus [Tue, 16 Jun 2015 14:17:51 +0000 (16:17 +0200)]
Zahlungsbedingungen: Flag »Fälligkeitsdatum automatisch berechnen«

9 years agoBankbewegungsimport - detailliertere Fehlermeldungen
G. Richardson [Wed, 17 Jun 2015 21:25:42 +0000 (23:25 +0200)]
Bankbewegungsimport - detailliertere Fehlermeldungen

bei Fehlern oder nicht zuordbaren lokalen Bankdaten

9 years agoBanktransactions - beim Speichern der Rechnung Zahlungsart prüfen
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.

9 years agoZahlungsbedingungen bei Lieferscheinen; veraltete Spalte »terms« entfernt
Moritz Bunkus [Thu, 18 Jun 2015 11:50:27 +0000 (13:50 +0200)]
Zahlungsbedingungen bei Lieferscheinen; veraltete Spalte »terms« entfernt

9 years agoKosmetik: Ausrichtung
Moritz Bunkus [Tue, 16 Jun 2015 13:47:50 +0000 (15:47 +0200)]
Kosmetik: Ausrichtung

9 years agoTypos in Doku
G. Richardson [Wed, 17 Jun 2015 13:28:41 +0000 (15:28 +0200)]
Typos in Doku

9 years ago$&, $' und $` grösstenteils entfernt.
Sven Schöling [Thu, 26 May 2011 11:19:14 +0000 (13:19 +0200)]
$&, $' und $` grösstenteils entfernt.

9 years agoDispatcher: Client DB Handles cachen.
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.

9 years agoBanktransactions Import - bessere Fehlermeldung wenn BLZ nicht stimmt
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.

9 years agoIndirekte Objektnotation fixen
Sven Schöling [Mon, 15 Jun 2015 13:47:29 +0000 (15:47 +0200)]
Indirekte Objektnotation fixen

9 years agoTests: Indirekte Objektnotation für Instanzierung verbieten.
Sven Schöling [Mon, 15 Jun 2015 13:46:59 +0000 (15:46 +0200)]
Tests: Indirekte Objektnotation für Instanzierung verbieten.

9 years agoRechte für Bankbewegungen in Bankerweiterung setzen
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.

9 years agoSL::DB::Helper::TransNumberGenerator: alle beteiligten Spalten aufführen
Moritz Bunkus [Wed, 3 Jun 2015 15:16:26 +0000 (17:16 +0200)]
SL::DB::Helper::TransNumberGenerator: alle beteiligten Spalten aufführen

9 years agoSL::DB::Helper::TransNumberGenerator: Belegnummern einmal direkt auslesen
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.

9 years agoSL::DB::Helper::TransNumberGenerator: Tabellen und Zeilen locken
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.

9 years agoSL::TransNumber: Belegtabelle vor Auslesen locken
Moritz Bunkus [Wed, 3 Jun 2015 09:33:47 +0000 (11:33 +0200)]
SL::TransNumber: Belegtabelle vor Auslesen 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.

9 years agoTask-Server: vor Schlafen aufräumen
Moritz Bunkus [Wed, 3 Jun 2015 09:15:56 +0000 (11:15 +0200)]
Task-Server: vor Schlafen aufräumen

Dabei werden unter Anderem potenziell noch laufende Transaktionen
beendet und zumindest das Standard-DBH (nicht das von Rose)
geschlossen. Dadurch sollten alle Locks, die durch die Jobs
evtl. entstanden sind, wieder aufgelöst worden sein.

9 years agoTask-Server: Initialisierung vereinheitlicht
Moritz Bunkus [Wed, 3 Jun 2015 08:59:39 +0000 (10:59 +0200)]
Task-Server: Initialisierung vereinheitlicht

9 years agoMerge branch 'master' of github.com:kivitendo/kivitendo-erp
Sven Schöling [Tue, 2 Jun 2015 15:35:35 +0000 (17:35 +0200)]
Merge branch 'master' of github.com:kivitendo/kivitendo-erp

9 years agoio.pl::display_row: Felddefinitionen vereinheitlicht.
Sven Schöling [Tue, 2 Jun 2015 15:33:57 +0000 (17:33 +0200)]
io.pl::display_row: Felddefinitionen vereinheitlicht.

Ob eine Zelle eine volle Spalte bekommt oder in der zweiten Zeile landet
wird jetzt nur noch durch @header_sort und @row2_sort bestimmt.

9 years agoHTML::Util: "nbsp" als HTML-Entity durch " " (space) ersetzen.
Bernd Bleßmann [Mon, 1 Jun 2015 18:53:10 +0000 (20:53 +0200)]
HTML::Util: "nbsp" als HTML-Entity durch " " (space) ersetzen.

"nbsp" wird hier zu space, obwohl U+00A0 (non-breaking space) richtig wäre.
non-breaking space kann allerdings zu schwer zu findenden Fehlern zum Beispiel
beim CSV-Export führen, wenn ein Benutzer dieses nicht sichtbare Zeichen dann
per cut-and-paste irgendwo einfügt.

9 years agot/002goodperl: TODO für strict DBUpgrades entfernt.
Sven Schöling [Mon, 1 Jun 2015 14:13:05 +0000 (16:13 +0200)]
t/002goodperl: TODO für strict DBUpgrades entfernt.

Die müssen seit langem in packages liegen und strict sein.

9 years agoClientJS: Values nicht trimmen
Sven Schöling [Mon, 1 Jun 2015 14:07:32 +0000 (16:07 +0200)]
ClientJS: Values nicht trimmen

Wenn numerische Werte (also IVs und NVs) per Regex getrimmt werden,
wird dabei das POK Flag gesetzt, das anzeigt, dass der Scalar auch ein
valider String ist.

JSON kann dann nicht mehr unterscheiden welcher Typ der Scalar ist, und
nimmt String. Das führt aber dazu, dass _alle_ Zahlen als Strings
encodiert werden.

Auch das wäre prinzipiell kein Problem, ausser dass Javascript keine
separaten Operatoren für Strings und Zahlen hat.

  json.val1 + json.val2

wird also immer als concat aufgefasst und nicht als Addition, und

  json.val ? true : false

ist immer true, weil "0" und "1" beide true in Javascript sind.

9 years agoTests: 2 Tests in db_helper/payment.t auf TODO gesetzt
Sven Schöling [Fri, 29 May 2015 15:27:48 +0000 (17:27 +0200)]
Tests: 2 Tests in db_helper/payment.t auf TODO gesetzt

9 years agoConventionManager: foreign_key Benennung
Sven Schöling [Fri, 29 May 2015 14:36:46 +0000 (16:36 +0200)]
ConventionManager: foreign_key Benennung

Der Standard Conventionmanager von Rose versucht irgendwelche
singular/plural Magic um aus dem key einen guten Namen zu kriegen.

Das klappt antürlich mal wieder nicht.

Wir haben aber einen besseren Mechanismus dafür,
SL::DB::Helper::Mappings.

Also werden jetzt die dafür benutzt.

9 years agoMappings: Direktzugriff auf package names Methode
Sven Schöling [Fri, 29 May 2015 14:35:34 +0000 (16:35 +0200)]
Mappings: Direktzugriff auf package names Methode

9 years agoReconciliationLink: acc_trans relationship fixen
Sven Schöling [Fri, 29 May 2015 14:29:29 +0000 (16:29 +0200)]
ReconciliationLink: acc_trans relationship fixen

9 years agoLocale: Bei parase_date_string undef sofort undef zurückgeben.
Sven Schöling [Fri, 29 May 2015 13:37:09 +0000 (15:37 +0200)]
Locale: Bei parase_date_string undef sofort undef zurückgeben.

9 years agoparse_amount: Bei amount undef sofort 0 zurückgeben.
Sven Schöling [Fri, 29 May 2015 13:36:40 +0000 (15:36 +0200)]
parse_amount: Bei amount undef sofort 0 zurückgeben.

9 years agoRDBO Update: Tax
Sven Schöling [Fri, 29 May 2015 13:34:15 +0000 (15:34 +0200)]
RDBO Update: Tax

9 years agoRDBO Update: Letter
Sven Schöling [Fri, 29 May 2015 13:32:01 +0000 (15:32 +0200)]
RDBO Update: Letter

9 years agoRechnungen: amount, netamount, paid NOT NULL DEFAULT 0
Sven Schöling [Fri, 29 May 2015 13:26:58 +0000 (15:26 +0200)]
Rechnungen: amount, netamount, paid NOT NULL DEFAULT 0

9 years agoTests: Hilfreiche aber false positive warning unterdrücken
Sven Schöling [Fri, 29 May 2015 12:56:31 +0000 (14:56 +0200)]
Tests: Hilfreiche aber false positive warning unterdrücken

9 years agoBankTransactions: typo in deref
Sven Schöling [Fri, 29 May 2015 12:55:38 +0000 (14:55 +0200)]
BankTransactions: typo in deref

9 years agoDrafts: keys auf hashref ist experimental
Sven Schöling [Fri, 29 May 2015 12:55:07 +0000 (14:55 +0200)]
Drafts: keys auf hashref ist experimental

9 years agoDBUpgrade2: Warnings in Tests unterdrücken
Sven Schöling [Fri, 29 May 2015 12:54:51 +0000 (14:54 +0200)]
DBUpgrade2: Warnings in Tests unterdrücken

9 years agoDBUpgrade: Warnings in Tests unterdrücken
Sven Schöling [Fri, 29 May 2015 12:54:19 +0000 (14:54 +0200)]
DBUpgrade: Warnings in Tests unterdrücken

9 years agoDBUpgrade: Bei 3 alten Upgrades print Noise entfernt
Sven Schöling [Fri, 29 May 2015 09:56:14 +0000 (11:56 +0200)]
DBUpgrade: Bei 3 alten Upgrades print Noise entfernt

Im Fall einer leeren Datenbank schreiben die jetzt keine
Statusnachrichten mehr nach STDOUT, das verwirrt sonst die Tests.

9 years agorose_auto_create_model: Optional auf frischer Datenbank arbeiten
Sven Schöling [Fri, 29 May 2015 09:42:39 +0000 (11:42 +0200)]
rose_auto_create_model: Optional auf frischer Datenbank arbeiten

Beim mergen hat man öfter das Problem, dass die Datenbank schon weit
mehr Upgrades enthält aber trotzdem aktuelle MetaSetups fixen muss.

Mit
  scripts/rose_auto_create_model.pl --test-client --all

werden jetzt alle Operationen auf einer frisch angelegten Testdatenbank
gemacht. Nachteil ist natürlich, dass das Anlegen gute 20s extra dauert.

9 years agoTypos
G. Richardson [Wed, 27 May 2015 20:43:02 +0000 (22:43 +0200)]
Typos

9 years agoDoku zu RB-Vorlagen erweitert
G. Richardson [Tue, 26 May 2015 19:29:28 +0000 (21:29 +0200)]
Doku zu RB-Vorlagen erweitert

9 years agoTypos in Dokumentation angepasst
G. Richardson [Tue, 26 May 2015 19:26:57 +0000 (21:26 +0200)]
Typos in Dokumentation angepasst