DeliveryOrder: stock roundtrip
DeliveryOrder: stock info im dom speichern
DeliveryOrder: Beistelllieferschein im Einkauf
DeliveryOrder: serialize stock to yaml
DeliveryOrder: erste Version Lager-Dialog
DeliveryOrder: in_out auch bei einzelnen Zeilen übergeben
DeliveryOrder: Übergabe in/out verbessert
DeliveryOrder: fix array conversion in calculate_stock_in_out
DeliveryOrder: Einlagern/Auslagern
Order: Workflow Beistelllieferschein erstellen
DeliveryOrder: Lagermengen Spalte
DeliveryOrder: inout an templates übergeben
DeliveryOrder: fix validate on save
DeliveryOrder: type roundtrip safety
DeliveryOrder: type_data nach SL/DB verschoben, damit das model auch drauf zugreifen kann
DeliveryOrder: neue Typen: supplier_delivery_order und rma_delivery_order
DeliveryOrder: javascript referenzen
DeliveryOrder: type data is_customer
DeliveryOrder: neue typen für Lieferschein
DeliveryOrder: type data zentralisiert um das verhalten besser generalisieren zu können
DeliveryOrder: package, namespace, template und controller referenzen angepasst
DeliveryOrder: exchangerate
DeliveryOrder: taxes und recalc Mechanismus entfernt
DeliveryOrder: remove periodic invoices support
DeliveryOrder: Initialkopie des Order-Controllers
Controller::Base: init_p jetzt überall verfügbar
Auftrags-Controller: Warnung bei nicht vorhandener Kundenbestellummer …
… kann in der Mandantenkonfiguration eingeschaltet werden.
Auftrags-Controller: Warnung bei fehlendem Transportkosten-Artikel …
bei VK-Angebot und -Auftrag, wenn in der Mandanten-Konfiguration angegeben.
Employee::current statt manuell an weiteren Stellen
CsvImport Lieferscheine: Zusammenfassen von Lieferpositionen
Wenn in mehreren Positionen Teilmengen einer Position eines Auftragsgeliefert werden, dann diese Zusammenfassen.
CsvImport Lieferscheine: ShippedQty-Helper für Prüfung, ob komplett geliefert
PPI: Offenbar typo in Fehlermeldungstext
kam mit "Auch escapte DTVF Namen erkennen" rein.
PPI: Auch escapte DTVF Namen erkennen
Scheinbar kann die Kopfzeile des CSV-Format noch Hochkommatas enthaltenoder ggf. wurde diese mit einer Tabellenkalkulation geöffnet.
Auftrags-Controller: Reihenfolge Histore/Wiedervolage (Menüpunkt mehr) geändert
Ist nun so, wie in den anderen Masken (alte OE, Lieferscheine und Rechnungen)
Waren: Nur gültige Preisgruppen anzeigen
S:C:PayPostingImport Bei Erfolg, importierte Buchungen anzeigen
S/C/PayPostingImport Prototyp
Verarbeitet DATEV Lohnbuchungen aus einer CSV-Datei
DeliveryPlan: Berechnung nur noch über verlinkte Positionen
Auftrags-Controller: Debug-Statment raus
Developer Recht und neue Menüeinträge für Testcontroller
ImageUpload: nur mime-type image/* akzeptieren
ImageUpload: resolve
ImageUpload: local storage erste Version
MaterialComponents: modal test page
ImageUpload: erste Version
MaterialComponents Presenter
Erstmal für die wichtigsten Elemente:
- buttons- submit- input felder- icons
Zusammen mit einem Testcontroller zum rendern
Mobile Layout: Loginscreen für mobile User
Revert "ShopConnector get_part in WooCommerce implemented"
This reverts commit 875ae0f6f2ec3de097926910f64d9e6c214e0e82.
ShopConnector get_part in WooCommerce implemented
Auftrags-Controller: neuen Artikel aus Maske heraus anlegen können
S/C/BankTransaction Vorschlagsliste auch für Sammelüberweisungen berechnen
Part Controller: Aktion save_as_new wird nicht verwendet, sondern use_as_new
Part Controller: Kosmetik: einzelnes ';' weg
Auftrag-Controller: Aufträge manuell auf nicht-/geliefert setzen können.
Erzeugnisse: Gewicht aus einzelnen Bestandteilen ermitteln und speichern.
CsvImport: Aufträge: Modul SL::TransNumber wird nicht mehr gebraucht
zu "CsvImport Aufträge: Auftragsnummer nicht mit SL::TransNumber setzen, …"
CsvImport: Aufträge: Preise/Rabatte aus Preisquellen ermitteln, …
… wenn in der CSV-Datei nicht angegeben. Und Preisquelle auch setzen.
Csv-Import-Controller: Richtiges Feld f. Zeile bei Fehlermeldung des Csv-Helper
Evtl. war hier tatsächlich das erste Feld [0] gemeint, das wäre der"raw_input", aber der ist oft leer. Da ergibt die Zeilenummer mehr Sinn.
Revert "Csv-Import-Controller: Fehlermeldung des Csv-Helper mit ausgeben."
This reverts commit 63183d06c5d1631c93068ac4cd3b373b08714c31.
Neues Kundenattribut Rechnungsversand per Post -> Deaktiviert E-Mail für Rechnung
Zeiterfassung: als gebucht markieren: Manager-Methode update_all statt Schleife
Zeiterfassung: Eingabe: geschlossene Aufträge von bestehenden Einträgen anzeigen
Zeiterfassung: Im Bericht Einträge als gebucht markieren können, …
… wenn man das Recht hat, alle zu ändern.
Zeiterfassung: Auch beim Laden entsprechende Eingabe-Felder sperren:
- wenn Auftrag ausgewählt. so ist Kunde und Projekt gesperrt- wenn Projekt ausgewählt, und Projekt einen Kunden hat, so ist Kunde gesperrt
Zeiterfassung: Eingabe: keine Angebote in Auftragsliste anzeigen
E-Mail-Versand: CC an andere kivi-Benutzer per Auswahlliste
Zeiterfassung: Summe der Dauern mit Kontroll-Zeile anzeigen
S:C:H:ReportGenerator: Interface und Impmentierung von Kontroll-Zeilen
Es wurde eine Schnittstelle geschaffen, um Kontroll-Zeilen an denReportGenerator-Helfer zu übergeben.Umgesetzt sind Kontroll-Zeilen für einen Separator und für eigene Daten.
Zeiterfassung: Bei Projekten nur Projektnummer und Beschreibung anzeigen
Projekt-Picker: Stil der Beschreibung angeben können
dem Picker kann mit "description_style" mitgegeben werden, wie dieErgebnisse angezeigt werden. Mögliche Werte: "both", "number","description" und "full" (in SL::DB::Project->full_description)definiert).
Zeiterfassung: Bericht: Filter f. Auftragsnummer, Projekt und Beschreibung
Zeiterfassung: Eingabe: Einträge f. andere Mitarbeiter erlauben, wenn berechtigt
Hier reicht es, beim init_time_recording den Mitarbeiter für neue Einträgeauf den akuellten Bearbeiter zu setzen, wenn kein anderer Mitarbeiter aus derForm/Maske kommt.Die Rechte-Prüfung wird dann ohnehin im run_before-Hook 'check_auth_edit'...
Zeiterfassung: Placeholder-String im Template ermitteln
Zeiterfassung: Dauer und Min mit Attribut Placeholder vorbelegen
Zeiterfassung: Eingabe: Dauer auf 0 setzen können
Zeiterfassung: Eingabe: Aufträge nur mit Nummer und Kunden anzeigen
Zeiterfassung: Bei Projektauswahl ggf. Kunde daraus setzen
Wenn ein Projekt ausgewählt wird und dieses einen Kunden zugeordnet hat,so wird der Kunde daraus gesetzt und das Kunden-Feld gesperrt.
Wenn kein Projekt gewählt ist (oder eines wieder abgewählt wird,...
Zeiterfassung: Eingabemaske: Dauer auch in Stunden angeben können
Zeiterfassung: Controller: falsche Methodennamen korrigiert
Zeiterfassung: Eingabemaske und Bericht: Reihenfolge erst Projekt, dann Artikel
Zeiterfassung: Auftrag im Bericht anzeigen
Zeiterfassung: Auftrag auswählen können, Kunden und ggf. Projekt daraus setzen
Auftrag hat Vorrang und setzt Kunde und Projekt. Diese Felder sind danngesperrt.Wenn kein Auftrag gewählt ist (oder einer wieder abgtewählt wird,dann ist Kunde und Projekt wieder frei.
Zeiterfassung: Datum/Dauer statt Start/Ende wählbar (Benutzereinstellung)
Zeiterfassung: Erweiterung f. Datum und Dauer: DB-Upgrade/Rose; Berichtsanzeige
Zeiterfassung: Bericht: Titel auch im Browser-Titel
Zeiterfassung: Bericht: "gebucht" anzeigen und danach filtern können
Zeiterfassung: Artikel beim Erfassen wählen können und mit auflisten
Zeiterfassung: SimpleSettings für Artikel
Zeiterfassung: Keine Zeiterfassungstypen mehr
Revert "Zeiterfassung: SimpleSystemSettings für Typen"
This reverts commit d01aad90ec0e0f0800037e9753acbacccf819a0c.
Conflicts: menus/user/10-time-recording.yaml
Zeiterfassung: Mitarbeiter ändern können bei entspr. Recht
Zeiterfassung: Filtereinstellungen f. callbacks merken
Zeiterfassung: Recht f. Bearbeitung aller Einträge berücksichtigen
Zeiterfassung: Beim Bearbeiten fremder Einträge, Mitarbeiter behalten
Zeiterfassung: Recht berücksichtigen, Einträge von anderen (nicht) zu sehen
Zeiterfassung: Defaultfilter: aktueller Benutzer, letzte 2 Wochen
Zeiterfassung: Nur nicht-gelöschte Mitarbeiter angezeigen
Zeiterfassung: Ein Recht dafür
Zeiterfassung: Controller
Zeiterfassung: SimpleSystemSettings für Typen