Zahlungsbedingungen: Unterscheidung zwischen Angeboten/Aufträgen und Rechnungen
Dies führt ein neues Attribut »payment_terms.description_long_invoice«und dazugehörige Übersetzungen in »generic_translation« ein.
Die Druckvariable »payment_terms« wird nun in Abhängigkeit vom...
Verkaufspreisinformationen: Preisentwicklung der Stammdaten anzeigen
Verkaufspreisinformationen: Typfilter in der Überschrift anzeigen
Dadurch wird auf einen Blick etwas klarer, was die Tabelle anzeigt.
Verkaufspreisinformationen: »Seite:« nicht anzeigen, wenn es nur eine gibt
In dem Fall ist $self->{pages}{cur} 0 oder undef und nicht 1.
ProjectPicker: Die (Un)-Gültigkeits-Spalte/Methode heißt valid, nicht obsolete.
Der Fehler führte dazu, dass bei Eindeutigen Eingaben im Picker dennoch keinErgebnis ausgewählt wurde, sondern der ajax-Call einen Fehler meldete, der dannunterging.
ProjectPicker: SL::DB::Manager::Project hat (noch) keinen type_filter.
Es gibt zwar einen project_type, aber der ist als Filter noch nichtimplementiert.
Dieser Fehler führte dazu, dass bei eindeutigen Eingaben im Picker dennochkein Projekt ausgewählt wurde. Der ajax-Call lieferte einen Fehler zurück,...
Drafts: gl auch eingebunden
Projektliste: Kundenname bei PDF-/CSV-Export richtig ausgeben
Der Controller-Helfer für den ReportGenerator muss aus Objekten Wertemachen können. Wie das geschieht, wird über die Spaltendefinitionfestgelegt. Für Nicht-HTML-Anzeige wird entweder eine zur Verfügung...
Übersetzung für Buchungsgruppe -> Booking group
Nicht-übersetzte Deutsche Begriffe entfernt und übersetzt
Shopartikel, Steuersatz, Abteilung, Preisgruppe (gab es auch alsPreisklasse).
Drafts: Ausgelagert in Controller
Kontoauszug verbuchen, Startdatum der Verbuchung greater/equal
Wie bei fromdate und auch sonst überall im Programm, entsprechenddas Startdatum der Kontoverbuchung noch als gültigen Wert mitnehmen.
Dispatcher: end_of_request() sub aus main namespace verbannt
Brieffunktion: Umstellung Druck auf Template Toolkit
Damit wird auch alter Backendcode wie IS->get_customer() nicht mehrbenötigt.
Brieffunktion: Löschen von Entwürfen gefixt
Brieffunktion: unbenutzte Tabellenspalten entfernt, vc_id → customer_id umbenannt
Brieffunktion: WebDAV-Verzeichnisinhalt anzeigen
Brieffunktion: Versand per E-Mail implementiert
Brieffunktion: Nutzung von SL::Webdav zur Speicherung im Webdav
Common::copy_file_to_webdav_folder ist alter Code, der bei neuem Codenicht mehr benutzt werden sollte.
Brieffunktion: Drucken auf Drucker gefixt
1. Drucker wurden nicht geladen. Daher gab's die Option zum Drucken direkt auf einen Drucker nicht.
2. Temporäre Druckedateien wurden anschließend nicht gelöscht.
3. Der anschließende Redirect nutzte falsche Variablen und hat daher de...
SL::DB::Printer: »Dokument an Drucker schicken« zentralisiert
Die neue Funktion print_document übernimmt das Spawnen des externenProzesses und schickt das Dokument an den Drucker. Das Dokument kannentweder direkt als Inhalt oder als zu sendender Dateiname übergeben...
Brieffunktion: Löschen von Briefen gefixt
Brieffunktion: beim Drucken im WebDAV speichern
(I)LIKE-Argumente immer mit Funktion SL::DBUtils::like erstellen
5.10 compat: mehr yada-yada ops
(nach ... acken ist nicht trivial)
perl5.10 compat: ellipsis (yada-ayada) ist da syntax error
SL::Controller->send_file: trueish zurückgeben
send_file meldet Fehler (z.B. »kann Datei nicht öffnen«) durchcroak(). Im Erfolgsfall sollte die Funktion aber regulär einen wahrenWert zurückgeben, um ordentlich in eval{} benutzt werden zu können.
CVars: Lieferadressen-CVars in Stammdaten bearbeiten
CVars: Konfigurationen für Lieferadressen anlegen können
CustomerVendor: CVar-Aufbereitungs- und -Speicher-Code in eigene Subs ausgelagert
Reapply "country_mode entfernt."
Mit mit neuem Autor neu.
Revert "country_mode entfernt."
Originalcommit: b05b5075ac0f3cbb0823c2f513cdbcacfb17bede.
ParseFilter: neuer Filter "trim"
Ausserdem autotrim bei substr, head und tail Filtern
TopQuickSearch: Bei CustomerVendor redirects immer db mitgeben
TopQuickSearch für Kunden und Lieferanten
TopQuickSearch: Auftrag, Angebot, Lieferauftrag, Preisanfrage
Typos und spellcheck.t
TopQuickSearch: Doku
TopQuickSearch: Konfiguration in client_config
TopQuickSearch: qw() -> liste, zum einfachen auskommentieren
TopQuickSearch: locales aufgeräumt, debug entfernt
TopQuickSearch: Alle Part Varianten for free
TopQuickSearch: GL controller kann weg
TopQuickSearch: erste version
warnings: diverse nicht initialisierte hash keys in CsvImport
CsvImport/ARTransactions: fehlerhafter check auf undefinierte tax_id
warnings: SL::Controller::CsvImport::num_imported auf 0 initalisieren
Beschriftung im Lieferwertbericht korrigiert
Auftrags-Controller: POD - hauptsächlich Todos
Auftrags-Controller: unbenutzte action "update" entfernt.
Auftrags-Controller: javascript-Code in eigene Datei auslagern
Auftrags-Controller: event bindings nicht mehrfach hinzufügen.
Dazu event handler für die Positions-Zeilen mit run_once_for registrieren undin eine eigene Funktion init_row_handlers() ausgelagert. Damit kanninit_row_handlers() gefahrlos immer nach dem Hinzufügen neuer Positionen...
Auftrags-Controller: Preisfaktor berücksichtigen
Auftrags-Controller: Mehrfach-Artikelauswahl: Verbesserungen
- ungültige Artikel nicht anzeigen.- Artikel nicht mehrfach hinzufügen, wenn ausversehen mehrfach Enter gedrückt oder der Weiter-Knopf mehrfach angeklickt wird.
Auftrags-Controller: Druck-Möglichkeit mit Options
Todos/Anmerkungen- im Moment werden nur PDF/Bildschirm und PDF/Drucker unterstützt- Sprache kann die Vorlage steuern, aber nicht das Hinzufügen von übersetzten Artikeln- es kann sicher noch mehr ausgelagert werden, entweder in den...
Auftrags-Controller: longdescription
Auftrags-Controller: Sortieren der Positionen
Auftrags-Controller: Positions-Spalte anzeigen und renummerieren bei Änderungen.
Auftrags-Controller: vorhandene orderitems vor Neu-Schreiben nicht löschen …
Hintergrund: Wird einem Rose-Object eine Relationship als Array übergeben (z.B.$order->orderitems(@items), so löscht Rose dei DB-Einträge und schreibt sie neu.In dem Fall werden allerdings auch DB-Trigger ausgelöst, was hier zum...
Auftrags-Controller: Einheiten per Select ändern können und sellprice anpassen.
Auftrags-Controller: Mehrfach-Artikelauswahl mit Mengeneingabe.
Auftrags-Controller: Webdav
Auftrags-Controller: Abteilungen
Auftrags-Controller: Liefertermin
Auftrags-Controller: PriceSources
Auftrags-Controller: css-Klasse: reformat_number zum Neuformatieren von Zahlen
Auftrags-Controller: Funktion "Speichern und Lieferschein".
Auftrags-Controller: Drucken und E-Mail
Auftrags-Controller: Option für "Steuer im Preis inbegriffen"
Auftrags-Controller: Bemerkungen und interne Bemerkungen
Auftrags-Controller: Zahlungs- und Lieferbedingungen
Auftrags-Controller: Auftrag löschen können.
Auftrags-Controller: neue Eingabemakse für Aufträge basierend auf Controller
DeliveryPlan: Entfernt Einstellung, um nur ausgelagerte Lieferscheine zu berücksichtigen.
Diese Option lieferte hier ungenaue Ergebnisse, da dennoch auch Positionenangezeigt wurden, für die überhaupt kein Lieferschein erstellt wurde.
DeliveryPlan: optional auch mit verlinkten Positionen suchen.
Pflichtenheft: keine Fehlermeldung »template not found« bei Click auf »Abschnitte«
Debitorenbuchungen als CSV importieren
Ähnlich wie der Auftragsimport wird hier gemultiplexed, d.h. es gibt separateZeilen für die Debitorenbuchung (ar) und die Buchungszeilen (acc_trans).
Es handelt sich allerdings nicht exakt um acc_trans-Zeilen, die direkt...
Auftragsimport - Methoden ausgelagert
für Prüfung von Abteilung, Projekt, Bearbeiter und Verkäufer
Vorbereitung für Debitorenbuchungsimport
ReportGenerator-Helper: (wiederholten) Export bei "Zurück" verhindern.
Dazu export-actions nach Aufruf aus form löschen. Da die form-Variablen alshidden in die Options-Maske übergeben werden, war auch immer dieexport-action dabei. Drückte man "Zurück", dann waren beiden actions (für export...
GLN: CsvImport Kunden u. Lieferanten und Lieferadressen.
GLN: Speichern und Anzeigen in den Stammdaten (Rechnungs- u. Lieferadressen).
Briefe mit anderen Dokumenten verknüpfen können
Brieffunktion: Verwendung von HTML im Body
CustomerVendor-Controller: Callback nicht 2x escapen
url_for() escapet die Parameter bereits, daher ist es schädlich, dasvorher auch noch manuell zu tun.
Behebt #128.
Letter-Controller: benutzte Pakete auch einbinden
In Nicht-FCGI-Umgebungen ist CT ansonsten nicht geladen.
Letter: Fehler beim Druck
Letter: model sortierung benutzen
Letter: Anzeigesicherheit gegen nicht mehr existierende Kunden
Letter: Nur Druckoptionen anzeigen, die momentan unterstützt werden.
Drucken geht nur mit PDF und Bildschirm.
Letter: PrintOptions-Helper verwenden.
Letter: Aussagekräftigere Fehlermeldung, wenn Vorlage nicht gefunden wird.
Letter Controller rewrite
Jetzt auf einigermassen aktuellem technischen Stand.
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...
country_mode entfernt.
Flags sollten unabhängig funktionieren, ausserdem in das im adminbereich der hass.
Admin: create_dataset Änderungen für neue Eingenschaften
Schweizer Modus
Typo: BUSINESSES statt BUSINESSS
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.
Csv-Import-Controller: Fehlermeldung des Csv-Helper mit ausgeben.