Presenter: hidden ist ein value_less attribut
Warenauswahl: EAN in »Andere Treffer« nur ausweisen, wenn nach Artikelnummer gesucht wird
Letter: Aussagekräftigere Fehlermeldung, wenn Vorlage nicht gefunden wird.
js/switchmenuframe.js entfernt
seit dem letzten Layout rework ist das nicht mehr benutzt,also weg damit
Letter Controller rewrite
Jetzt auf einigermassen aktuellem technischen Stand.
SelfTest: Datenbanknamen gefixt; Client-Namen auch mit ausgeben
SL::DB::Buchungsgruppe: Relationsnamen inventory_account gefixt
Aus irgend einem Grund registriert Rose keine neue Relationship, wenn esbereits eine (mit leicht anderem Namen) als Foreign Key für dieselbeSpalte gibt.
Revert "JavaScript-Plugin: auch als Filter einsetzen können"
Dies revertet Commit 20d730acdbb52b5b75af783aa010609e25b73024. Grundist, dass aus bisher nicht zu analysierenden Gründen in manchenSituationen der Template-Toolkit-Compiler oder eine andere Komponente...
Passwörter: Unterstützung für crypt, MD5 und SHA-1 entfernt
Diese Algorithmen gelten allesamt als unsicher.
Falls die Datenbank jemals in falsche Hände geraten sollte, so würdenzumindest die mit crypt und MD5 gehashten Passwörter schnell zu knackensein. Die mit SHA-1 gehashten dürften etwas länger dauern, aber auch sie...
Passwörter: Hash-Verfahren PBKDF2 unterstützen und als Standard nutzen
Der aktuelle Stand der Technik sind die SHA-*-Varianten schon langenicht mehr. In der Zwischenzeit wurden der PBKDF2-Mechanismusentwickelt, um schnelles Berechnen zu erschweren. Noch neuer und in...
Drucker im Adminbereich ändern - Bug behoben
Im Drucker-Fall enthält $::form die Drucker-id in $::form->{id} und dieclient-ID in $::form->{client}->{id}, beim init_client Code für den Fallmuß also erst auf id in $::form->{client}->{id} geprüft werden,ansonsten wird der Client mit der id des Druckers gesucht und nicht...
SEPA: bei Liste noch zu erledigender Rechnungen Skonto berücksichtigen
swiss: Datenbankupgrades verschoben
DBUpgrade: form komplett zurückspeichern
country_mode entfernt.
Flags sollten unabhängig funktionieren, ausserdem in das im adminbereich der hass.
Admin: create_dataset Änderungen für neue Eingenschaften
Erfolgsrechnung: von pos_eur auf pos_er gelegt.
Schweizer Modus
DefaultManager
Belege runden, und Rundungsdifferenzen auf Extrakonten buchen.
Erfolgsrechnung
Form: round_amount precision support
Typo: BUSINESSES statt BUSINESSS
Fehlende Dateien in Helper/ALL ergänzt
Lagerberichte auf shippingdate statt itime umgestellt
Die beiden Lagerberichte Lagerbestand und Lagerbuchungen prüfen aufitime statt auf shippingdate. Normalerweise sind diese beiden Datenidentisch (bis auf den Zeitanteil von itime), da man bei den meisten...
SelfTest: Bei overpaid auch invnumber ausgeben, zur besseren Analyse
Copy & Paste Fehler, bei Fehlertext SelfTest #11
Task-Server: Mandantenfähigkeit
Bei Kunden/Lieferanten Recht customer_vendor_all_edit prüfen 2
Nachschlag zu 826f6eb2b3e , das Wichtigste wurde vergessen.
Beim Öffnen / Verändern / Speichern von Kunden prüfen, ob Verkäufer mitBearbeiter übereinstimmt, wenn Benutzer nicht das Rechtcustomer_vendor_all_edit hat.
Merge branch 'master' of github.com:kivitendo/kivitendo-erp
Revert "retrieve_items in IR.pm bzgl. notes überarbeitet"
This reverts commit 8ce157d5872ae618bddee07147e0f902a3b3e31d.
Die DB-Aliase werden doch benötigt.
LXDebug: Prozess-ID des kivitendo-Prozesses ausgeben, nicht die des Parents
JavaScript-Plugin: auch als Filter einsetzen können
rose_auto_create_model.pl: --all behandelt auch auth-Tabellen
Csv-Import-Hintergrund-Job: Als Ergebnis einen Text zurückgeben, nicht das Job-Objekt.
Die implizite Rückgabe des Job-Objekts führte beim Speichern der Job-Historie zueinem DB-Fehler, der nichts mit dem Import zu tun hat.
Csv-Import-Controller: Fehlermeldung des Csv-Helper mit ausgeben.
Csv-Helper: Fehlermeldung, wenn Header nicht erkannt wird (Multiplex-Dateien).
Rose-Schema für fbf7532 aktualisiert
Mea culpa :)
Typos in Doku
Form: parse_html_template: AUTH_RIGHTS_ syntax entfernt
AUTH.assert im template benutzen bitte.
Form: parse_html_template: DEBUG_ syntax entfernt
Hat auf lx_office_config.debug.options getriggert. Undokumentiert undnicht genutzt -> raus damit.
Form: parse_html_template - myconfig_jsc syntax entfernt
Form: parse_html_template: myconfig. Syntax entfernt
Form: parse_html_template: myconfig_ syntax entfernt
Form: parse_html_template lobals analog zu Presenter::render
jetzt auch in Form verfügbar:
- AUTH- LOCALE- LXCONFIG- LXDEBUG- MYCONFIG
Form: parse_html_template - DEBUG handling entfernt
olles legacy zeug, weg damit
Bei Kunden/Lieferanten Recht customer_vendor_all_edit prüfen
Wenn man das Recht hat, nur eigene Kunden/Lieferanten (wo man selber derVerkäufer ist) zu bearbeiten:Bisher war es noch möglich Kunden und Lieferanten zu öffnen und zubearbeiten, wenn man die Datenbank-ID kannte. Jetzt wird nach dem Laden...
Customerpicker berücksichtigt Recht customer_vendor_all_edit
Wenn man nicht das Recht hat, alle Kunden / Lieferanten anzuzeigen / zubearbeiten, dann sollen die auch nicht vom Picker auswählbar / anzeigbarsein. Im neuen Ordercontroller mit Picker kann man dann auch nur die...
FinancialControllingReport - sales_all_edit berücksichtigen
Wenn der Bearbeiter nur die eigenen Belege sehen soll, bzw. die Belege,wo er als Verkäufer eingetragen ist, also das Recht "sales_all_edit" nicht hat, dann sollen auch die angezeigten Aufträge im...
PriceSource: Doku Update
Locale::parse_date_to_object: "yesterday" und "today" als Angaben unterstützen
Kosmetik
FlattenToForm: item_ids berücksichtigen.
FlattenToForm: Preis- und Rabatt-Quellen berücksichtigen.
convert_to_delivery_order um record_links auf item-Ebene erweitert
Bisher wurden nur die Belege verknüpft und nicht die einzelnenItems. Analoge Implementierung wie bei convert_to_invoice.Sinnvoll wäre ein Auslagern, dieser "zu ähnlichen" Verfahren in beiden...
io/select_item um optional part.notes erweitert
Standard: Konfigurierbar in Mandatenkonfiguration. Entsprechend Flagfür parse_template usw.Einziger nicht optionaler Punkt: p.notes wird zusätzlich als Column inretrieve_items geholt, kann ggf. auch noch optional geholt werden
retrieve_items in IR.pm bzgl. notes überarbeitet
notes wurde mit verschiedenen Aliasen (longdescription, partnotes)geholt. In IS.pm sind diese Einträge nicht vorhanden. Die IR->retrieve_itemwird auf den ersten Blick auch nur für die $form->{item_list} verwendet,...
Abteilungsname für DATEV-Checks bei Einkaufsrechnungen setzen
If we filter DATEV transaction via department we need also a name for export.At least if we have DATEV checks activated and force a valid department inDATEV filter (currently customer extension)
Einlagern: Bei einem Fehler die eingebenen Werte in der Maske wieder herstellen
Zwei Dinge:Zum einen einen $::form->error abfangen und Fehler auch mit flash ausgeben,wenn das Speichern der Lagerbewegung fehl schlägt (passiert z.B. wenn man einfalsches Datumsformat beim Mindesthaltbarkeitsdatum eingibt)....
indentations
Überflüssiges load entfernt
Projektzwang bei Verkaufsaufträgen - auch Kunden verlinken
mininmal Kosmetik
Testing Code bei Kontenabgleich entfernt (LIMIT 6)
MassRecordCreationAndPrinting: SessionFiles für TaskServer Fix
SessionFile: vim syntaxhighlighting fix
Kosmetik für Feature Projektpflicht bei Verkaufsaufträgen
Mandantenkonfiguration für Auftragsnummern mit Projekten speichern
Verkaufsauftrag immer mit neuem Projekt speichern
sofern kein Projekt angegeben wurde. Die Projektnummer entspricht derAuftragsnummer.
Aufträge immer mit Projektnummer speichern.
Feature kann in der Mandantenkonfiguration aktiviert werden.
Abteilungsname an Druckvorlagen-System übergeben
Betrifft Einkaufs- und Verkaufslieferschein, sowie die Verkaufsrechnung
css: common vor main/menu einbinden
So kann man common styles in den Stylesheets überlagern.
Email-Journal standardmäßig nach Datum absteigend sortieren
Berechnung des nächsten Arbeitstages aus oe.pl und OE.pm in DateTime-Helper …
… verschoben, damit der Code nicht doppelt in OE.pm und oe.pl ist und auch vonwoanders verwendet werden kann.
Beim jedem Speichern von Kunden/Lieferanten prüfen, ob der Name angegeben ist.
Vorher wurde das nur beim reinen Speichern geprüft, nicht beim Speichern undSchließen oder Fortfahren mit einem Beleg.
Behebt #84 (redmine).
EmailJournal: Typo in Klassennamen gefixt
Einkaufsrechnungen: Neu buchen SQL Fehler behoben
Fehler trat auf, wenn Aufwandsmethode eingestellt war, und eineEinkaufsrechnung, für die bereits eine Verkaufsrechnung existiertegeändert wurde. Dann wurde fälschlicherweise beim Umkehren der Rechnungversucht die Warenbestandsbuchungen zu ändern....
Form->format_amount: Warnung über negativen repeat count vermeiden
Warnung erscheint, wenn bei Konstrukten wie »'str' x $anzahl« die$anzahl negativ ist.
DATEV: Falsche Variable für Nachkommastellen gefixt
Fun fact: das war seit Refactoring in 2008-12-15 kaputt (Commit40d52f50).
DATEV: Dateinamen richtig in EV-Datei schreiben
Ein foreach über ein Array weist der Iteratorvariablen die Inhalte zu,nicht die Indizes ins Array. Also die Variable nicht noch mal ans Indexnutzen.
Fun fact: das war mindestens seit dem perltidy-Commit in 2005 kaputt.
DATEV: Benutzung undefinierter Werte vermeiden
Wenn der DATEV-Export vom Payment-Helfer mit aktivierten DATEV-Checksheraus aufgerufen wird, so sind diverse Felder wie die KNE-Kopfdatennicht gesetzt (werden auch nicht benötigt).
Hash-Zuweisung mit ungerader Anzahl Elemente vermeiden
In einem Hash wird eine leere Liste im ternären Ausdruck nun mal imListenkontext ausgewertet… und dadurch ist bei so einem Konstrukt dierechte Seite potenziell leer (sie enthält kein Argument):
my %h = ( whatever => test() ? 1 : () );
Benutzung undefinierter Werte vermeiden
SL::DB::Project: displayable_name-Methode
Überflüssigen mode aus DeliveryValueReport entfernt
Details: Diese Variable wird nicht mehr verwendet und braucht demnach auch nicht initialisiert zu werden.
SelfTest um Testfall ac.amount ar.netamount ergänzt
In Ergänzung zu #7915128c einen ähnlich sinnvollen Testfall fürSelftest ergänzt.Im Datenbestand muss zwingend ar.netamount acc_trans.amount für TypAR_amount identisch sein.Ansonsten kommt / kam es in der Vergangenheit immer zu cent Differenz in...
ReportGenerator Doku verbessert
Typos / style in Doku
round_amount: Anzahl Stellen nicht zu hoch werden lassen
format_amount - negative 0 vermeiden
Ist eine Zahl z.B. -0.002, und wird auf 2 Stellen gerundet, so wird erstdas Minuszeichen gemerkt, dann gerundet (0.00), und schießlich wird dasMinus wieder hinzugefügt, dadurch bekommt man -0.00. Mit diesem Patchwird das Minus-Zeichen entfernt wenn die gerundete Zahl genau 0 ergibt.
PriceSources: Fehlerbehandlung in PriceRules.
PriceSources: discount_from_source analog zu price_from_source implemeniert.
Wenn keine zur Rabatt-Quelle passende Klasse gefunden werden kann, wird auchhier ein spezieller leerer Rabatt zurückgeliefert.
PriceSources: Namen der Quellen für Kunden- und Lieferantenrabatt berichtigt.
Die Klassen SL::PriceSource::Customer und Vendor verwenden als name'customer_discount' bzw. 'vendor_discount' während SL::PriceSource::ALL'customer' und 'vendor' benutzte.Dadurch ließen sich z.B. diese Rabattquellen nicht deaktivieren.
Revert "POD zu update_attributes ergänzt"
This reverts commit 2271551b46c84fa256c7a2e0a46c04cddf31e89e.
Standardlagerplatz in Stammdaten beim Umlagern ändern
Scheinbar hat dies bisweilen immer nur bei gleichbleibenden Lagern funktioniert(s.a. Ergänzung POD in Object.pm->update_attributes)Ferner, sinnvollerweise das bestehende Part-Objekt verwenden und kein neues...