Typo-Fix und kleine Verbesserungen in deutscher Übersetzung.
Nachtrag Steuerzone - Tests angepasst
Steuerzone: in Upgrade-Datei customer/vendor angepasst

Macht man eigentlich nachträglich nicht, aber da das Update noch so
frisch ist...

Beim Umstellen von taxzone wurde vergessen, auch die Einträge der
Standardsteuerzone bei den Kunden und Lieferanten anzupassen. Im Zuge
der Umstellung, wo bei taxzone keine 0 mehr erlaubt ist, und diese auf 4
umgemapped wurde, müssen auch die hinterlegten Daten bei Kunden und
Lieferanten konvertiert werden.
In diesem Schritt wurden dann auch gleich Fremdschlüssel für die
Steuerzone bei Kunden und Lieferanten angelegt.

Ist das Update schon durchgelaufen und muß man manuell nachbessern wären
dies die Schritte (unter der Voraussetzung, daß id 0 auch zu id 4
geworden ist):

UPDATE customer SET taxzone_id=4 WHERE taxzone_id=0;
UPDATE vendor SET taxzone_id=4 WHERE taxzone_id=0;
ALTER TABLE customer ALTER COLUMN taxzone_id DROP default;
ALTER TABLE vendor ALTER COLUMN taxzone_id DROP default;
ALTER TABLE customer ADD FOREIGN KEY (taxzone_id) REFERENCES tax_zones (id);
ALTER TABLE vendor ADD FOREIGN KEY (taxzone_id) REFERENCES tax_zones (id);
Steuerzone - Sortierreihenfolge bei Customer/Vendor

Sortierreihenfolge im Dropdown bei den Stammdaten einhalten.
Dadurch ist die Steuerzone mit der höchsten Sortierpriorität immer als
Defaults bei neuen Kunden/Lieferanten eingestellt (standardmäßig
Inland).
convert_taxzone - Fall keine Buchungsgruppen berücksichtigen

Für den Fall, daß in dem Mandanten gar keine Buchungsgruppen
konfiguriert sind (z.B. bei einem frischen Schweizer Kontenrahmen), wird
die Umwandlung der Buchungsgruppen übersprungen.
Steuerzone - korrekter Name von Warenbestand in Template
Benutzerdef. Variablen f. Waren per Voreinstellung für Belege aktivieren/deaktivieren.
Benutzerdef. Variablen in Belegen als Tabelle rendern ...

... im Moment mit fester Spaltenzahl.
Spaltenzahl f. benutzerdef. Variablen in Belegen in Benutzereinstellungen ...

.. angeben können. Default ist 3.
PartPicker: Im Popup dem letzten Suchstring übernehmen
Merge branch 'master' of github.com:kivitendo/kivitendo-erp
CsvImport: Bei Imports ohne cvars nicht die cvars klobbern.
Erste Version Preisquellen

- Preisgruppen und Stammdaten sind implementiert
- Persistenz in allen Belegen funktioniert
- Rudimentäre Visualisierung funktioniert
- Klassen sind alle da

- Doku fehlt
- Verkauf/Einkaufweiche fehlt
- best_price ungetestet
- Preisgruppen hängen noch nicht von Verkäufer ab
- dependancy system fehlt
- verhalten bei fehlerhaften sources
- pricegroup -> active_source migration
PriceSource:

record + record_item verfügbar gemacht
best_price für pricegroups
Price: spec/source entzerrt
PriceSource:

- Einkaufs/Verkauf abgedeckt
- Klarere Regeln für price_from_source, available_prices und best_price
- makemodels unterstützung
- bugfixes für Rechnungen und neue Belege
- best_price jetzt getestet
- Verkäuferabhängigkeit von makemodels und pricegroup implementiert und getestet
PriceSource: pricegroup migration
Doku
PriceSource: depends_on entfernt
db upgrade erst nach 3.1.0 einspielen
Preisselektion auf Popup umgestellt.

- Logik für geänderte Preise implementiert
- Visualisierung verbessert
- fix für emptied rows
- nachricht wenn invalid und missing
- benachrichtigung für höher/niedriger
- js ausgelagert
- best price benachrichtigung

noch offene bugs:
- preise mit mehr als 2 stellen werden abgeschnitten
- interaktive preise noch nicht möglich
- symbol für "besser preis" ist nicht schön
- beide make_record_item implementierungen sind leicht unterschiedlich
- pricesource controller grösstenteils ungetestet
- performance ist im moment mies