Kosmetik
Debugcode entfernt.
Doppeltes Umwandeln von " in " verhindern.
Lieferscheine im Einkauf und Verkauf. Bisher nur gemerget, noch nicht getestet.
Zwei neue Features:1. Beliebige Notizen für Kunden und Lieferanten können angelegt werden. Solche Notizen können auf Wiedervorlage gelegt werden, was durch 2. implementiert ist.2. Einkaufs- und Verkaufsbelege können auf Wiedervorlage gelegt werden. Wiedervorlagen können für beliebige Nutzer erstellt werden (Aufgabe an andere Nutzer deligieren). Anstehende Wiedervorlagen und abgelaufene Angebote werden auf der Startseite in einer Aufgabenliste angezeigt.
creditlimit und creditremaining werden nicht mehr formatiert übergeben, sondern unformatiert.
Umstellung der Benutzerverwaltung von Dateien im Verzeichnis "users" auf die Verwendung einer Authentifizierungsdatenbank.Es ist erforderlich, die Dateien doc/UPGRADE und doc/INSTALL/index.html zu lesen und die angesprochenen Punkte auszuführen, um nach einem Upgrade weiter arbeiten zu können.
Um die Benutzung des Template Systems mal ein wenig zu foerdern.
Die bin/mozilla/oe.pl noch einmal umgeschrieben, so dass jetzt noch mehr Funktionen ins Frontend ausgelagert sind.
Ein neues Highlight ist die template/generic/multibox.html, die es erlaubt aus wenigen Steuerkommandos ein HTML-Eingabefeld zu erstellen, was bei kleinen Datenmengen als Dropdownbox erscheint, udn bei grossen asl Textfeld, mit dazugehörigem Popup-Button, um eine Auswahlliste aufzumachen. Saemtliche Funktionen lassen sich ueber Perlfunktionsreferenzen wieder zurück ins Backend leiten, und dort wieder mit komplexer Logik füllen. Dokumentation ist im Template direkt enthalten....
Die Funktion Form::parse_html_template2() in Form::parse_html_template() umbenannt (letztere wurde in Revision 2923 entfernt).
Umstellung weiterer Vorlagen von HTML::Template auf Template. Zusätzlich Bugfix: Sobald die Checkbox "Details anzeigen" einmal aktiviert war, konnte sie nicht mehr deaktiviert werden.
Umstellung einiger Vorlagen von HTML::Template auf Template.
Fix zu Bug 769
Diese Patch ist ein Merge der Revisionen2866, 5349, 5365, 5370, 5408, 5413, 5470, 5473, 5475, 5519, 5520, 5521, 5524, 5526, 5591, 5618, 5622, 5814, 5881, 5882 und 5961in das Unstable.
Hintergrund ist die Auslagerung der OE-Masken, das heisst aller Masken, die fuer Auftraege, Angebote und teilweise Rechnungen zustaendig sind....
Kreditlimit wurde doppelt geparsed, wenn Kundenauswahl nicht eindeutig
Die versteckte Variable "customer_klass", die die beim Kunden hinterlegte Preisgruppe enthält, muss bei oe.pl immer übergeben werden, wenn es sich um Verkauf handelt.
Verkauf->Berichte: Auftrag und Angebot Suche nach Salesman implementiert.
Preisfatkoren implementiert.
Kosmetikmerge aus Revisionen 5187, 5191, 5193, 5194, 5218, 5219, 5222, 5228, 5229
1. Wenn ein Artikel bei Einkauf/Verkauf nicht gefunden und die Maske "Dieser Artikel ist nicht in der Datenbank" angezeigt wird, so werden die eingegebene Artikelnummer, Beschreibung, Einheit und Verkaufspreis wieder in die "Ware erfassen"-Maske übernommen. Fix für Bug 721....
Vermeiden, dass versucht wird, durch 0 zu teilen.
In Berichten ar und oe auch die prozentuale Marge bei Zwischensummen und Gesammtsummen ausgeben
Kosmetik, merge aus -r5105,5106,5118,5120,5124
Beim Verschicken von Emails aus oe.pl heraus immer vorher speichern, weil nach dem Verschicken das Formular via 'edit' aufgerufen wird. 'edit' wiederum holt sich die Daten aus der Datenbank.
Filtermaske für Berichte: Checkbox für Bearbeiter nicht doppelt anzeigen. Fix für Bug 711.
Webdav: Die Links werden nicht mehr wortwörtlich angezeigt, sondern der Typ (Datei oder Verzeichnis) wird ausgegeben und als Link hinterlegt.
Die Margen nur bei Verkaufsmasken anzeigen, und auch nur in Zeilen, in denen schon ein Artikel ausgewählt wurde.
Den "Nein"-Button, der nur mit Javascript zurückgehen soll, auch als <button> darstellen. Wenn er ein <input type="submit"> ist, dann schickt Firefox das Formular trotzdem ab. Fix für Bug 701.
Kosmetik: Debugausgaben und eine überflüssige if-Zeile entfernt.
Wenn ein Auftrag noch nicht gespeichert wurde, dann ergibt es auch keinen Sinn, Workflow-Buttons dafür anzuzeigen. Zusätzlich sicherstellen, dass OE->close_orders() nur aufgerufen wird, wenn wir tatsächlich einen gespeicherten Beleg haben. Fix für Bug 700.
report_generator.pl in reportgenerator.pl umbenannt.
Erweiterung um Anzeige des Ertrages im Verkauf
Funktion Drucken ohne erstmaliges Speichern hat nur gespeichert und nicht danach automatischgedruckt
bei oe suche wurde der Mitarbeiter nicht im callback mitgefuehrt
ReportGenerator: Einen Indikator aktiviert, der anzeigt, nach welcher Spalte gerade sortiert ist.
Die Berichtsoptionen in oe.pl (Anfragen, Aufträge, Angebote) auf die Verwendung von ReportGenerator umgestellt.
Kundenauftrag/Lieferantenbestellung: Wenn alle Positionen vollständig geliefert wurden (also in allen Positionen der Lagerein-/-ausgang == Anzahl ist), so wird beim Speichern das Flag "Gelifert" automatisch gesetzt.
Weitere Feinheiten zum Patch "Verkaeufer und Bearbeiter wurden beim Umwandeln nicht uebernommen"
Probleme mit mehreren Währungen und Wechselkursen behoben.
Verkaeufer und Bearbeiter wurden beim Umwandeln nicht uebernommen
Es ermöglichen, dass bei den Berichtsfunktionen nicht nach Bearbeitern gefiltert wird.
Das Label für die Kunden-/Lieferantencheckbox richtig ausgeben.
Zerschossenes Layout durch Verwendung der gleichen Variablen für unterschiedliche Dinge behoben.
Bindestriche und ID aus den PopupMenus entfernt und in der FOrm.pm die Speicherung der Historie angepasst, damit nur der aktuell eingeloggte Bearbeiter gespeichert wird und somitManipulationen vermieden werden können.
fix von salesmen und employee bzw. split in zwei eigenständige Funktionen durch get_list aufgerufen. Fixing von Bug 658
Durch einen der letzten Commits wurde die Funktion "yes" überschrieben. Die Ursprungsfunktion wurde umbenannt. Sie wird nun aus der neuen "yes" aufrufen. Fix für Bug 656. Zusätzlich gibt es bei der Rückfrage, ob ein Angebot/ein Auftrag gelöscht werden soll, einen Button "Nein".
Beim Erstellen eines Lieferantenauftrages aus einem Kundenauftrag wird überprüft, ob eine Lieferadresse ausgewählt oder eingegeben war. Wenn ja, so wird der Benutzer gefragt, ob er diese Lieferadresse beibehalten will, damit der Lieferant direkt an den Kunden liefern kann.
Einkaufs- und Verkaufsmasken: Die potenziell langen Drop-Down-Boxen auf der linken Seite haben alle die selbe Breite.
Anzeige von weiteren Details in den Lieferadressendropdownboxen: Name, Abteilung, Straße, Ort.
Mehr Kosmetik:1. In mehr Masken die Beschreibungsspalte gefüllt (wieder mit "höchstes Mahnlevel" und "Kundentyp"/"Lieferantentyp").2. "Firma" in "Lieferantentyp" bzw. "Kundentyp" umbenannt.3. Kunden-/Lieferantentyp und Rabatt nach links angeordnet.
Nicht Kosmetik sondern Funktion: Die Höchste Mahnstufe und die gemahnte Summe werden im Formular mitgeschleift, damit sie auch nach "Erneuern" noch angezeigt werden.
Bei Einkaufs-/Verkaufsmasken sowie bei Debitoren- und Kreditorenbuchungen wird ein Button angezeigt, der ein Popupfenster öffnet, das zum ausgewählten Kunden/Lieferanten alle Stammdaten inklusive Ansprechpartner und Lieferadressen anzeigt.
Lx-Office verlangt inzwischen an sehr vielen Stellen, dass Javascript zwingend angeschaltet ist, weil es ansonsten schlicht nicht mehr funktioniert. Deswegen sind Abfragen auf die Verwendung des Javascript-Kalenders reine Platzverschwendung und blähen den Code unnötig auf.
Optik in den Einkaufs- und Verkaufsformularen etwas verbessert:1. Drop-Down-Boxen "Ansprechpartner" und "Lieferadresse" werden direkt unterhalb der Kunden-/Lieferantenauswahlbox/-zeile angezeigt.2. Die Zeile "Kreditlimit" wird wie alle anderen Zeilen auch in der linken Spalte (der "Beschreibungsspalte") angefangen und erstreckt sich nur über eine Zeile....
Die customer_id/vendor_id muss auch mitgeschleppt werden, weil sie ansonsten in der Datenbank leer bleibt! Problem wurde mit 2322 eingeführt.
Filterkriterium "Kunden-/Lieferantenname" in Berichten auch beim Umsortieren beibehalten. Fix für Bug 638.
Die Kunden-/Lieferantenfilterauswahl bei den Berichten war verschwunden.
vclimit-Vergleich korrigiert
Anständig quoten.
Zwei Fixes:1. Bei Angeboten/Aufträgen wird ständig wieder das Formular angezeigt, wenn die Drop-Down-Box zur Auswahl der Kunden/Lieferanten angezeigt wird (weil check_name() in arap.pl auf jeden Fall oldcustomer/oldvendor überprüft, was aber seit einem der letzten Commits nicht mehr gesetzt ist; in ir.pl und is.pl wird es noch gesetzt)....
Neues PopupMenu für Zahlungsbedingungen eingefügt und Änderungen an deren Varibale abgefangen.
Lieferanten-/Kundenauswahlmenu angepasst, so dass nicht immer die komplette Auswahlliste mitgeschleppt werden muss.
Bei Kundenangeboten, Kundenaufträgen, Lieferantenbestellungen und Lieferantenanfragen ein Feld "Vorgangsbezeichnung" implementiert.
currencies-popup angepasst
Währungs-popup auf cgi umgestellt
$form->{path} entfernt und hardcodiert auf bin/mozilla gesetzt.Vorlagen sind nicht betroffen, aber locales.pl schon.
In allen Einkaufs- und Verkaufsmasken die Drop-Down-Box für die Steuerzone bei jedem Formularaufbau neu generieren. Dadurch bleibt auch der bisher selektierte Eintrag selektiert, was er vorher nicht tat (sprang immer auf "Inland" zurück).
$form->{snumber} durch $form->{snumbers} ersetzt, da dies eigentlich so vorgesehen war. :/
history_search auf Buchungsnummern etcpp angepasst, so dass man auch gelöschte Daten in der Historie suchen kann.
Anpassungen innerhalb der Variablenübergabe:$form->{snumbers} muß beim speichern der history gesetzt werden (z.B. $form->{snumbers} = qq|invnumber_| . $form->{invnumber}; )
Anpassen an common.js (Datumsüberprüfung und Nummerüberprüfung)
Checkbox "geliefert" auch anzeigen, wenn der Verkaufsbeleg noch nicht gespeichert wurde.
Nach dem Auslagern der Druckoptionen in eigene HTML-Vorlagen wurden nach dem Drucken eines Beleges die Druckoptionen nicht wieder angezeigt. Grund ist, dass die Funktion print_options() meist in der Form "&print_options;" aufgerufen wird. Wenn die Klammern nicht angegeben werden, dann übergibt Perl aber die Argumente, die der aufrufenden Funktion übergeben wurden, weiter an die aufgerufene Funktion. print_options() benutzt die Parameter aber, um festzulegen, ob die Druckoptionen gleich mit print() ausgegeben oder nur mit "return" an die aufrufende Funktion zurückgegeben werden.
Beim Umwandeln von Lieferantenauftrag in Kundenauftrag und umgekehrt die Auftragsnummer löschen, damit eine neue vergeben werden kann, ohne dass der Benutzer dafür etwas tun muss.
onclick gegen onchange ausgetauscht
Einkaufs-/Verkaufsmasken, Debitoren-/Kreditorenmasken: Wenn in der Drop-Down-Box für Kunden/Lieferanten ein anderer Eintrag ausgewählt wird, dann automatisch die Anzeige erneuern lassen.
Beim Verschicken von Einkaufs- und Verkaufsbelegen per Email nur dann speichern, wenn der Beleg noch gar nicht gespeichert war. Dann auch auf geparste/nicht geparste Zahlen achten. Fix für Bug 619.
Ersatzmuster für Lieferanten/Kundennamen, die \n und/oder \r enthalten eingefügt (bug 543)
Bei Einkaufs- und Verkaufsmasken ermöglichen, dass kein Ansprechpartner ausgewählt wird.
Bug 614.Auch copy&paste Programmierung will gelernt sein... :/
tabindex-Attribute entfernt, damit der Browser die Tabreinhenfolge selber vergibt, da die Reihenfolge, in der sie im HTML-Code vorkommen, auch diejenige ist, in der der Benutzer sie intuitiv erwartet.
OE.pm: Keine Daten aus $form direkt in SQL-Anfragen einsetzen und statt dessen parametrisierte Anfragen benutzen. Außerdem einen SQL-Fehler behoben, wenn mehrere Auftrage zu einem zusammengefasst werden. Behebt Bug #609.
Speichern und Anzeigen eines Verkäufers bei Verkaufsmasken.
In der Verkaufsmasken die Drop-Down-Box "Verkäufer" in "Bearbeiter" umbenannt, weil eine separate Drop-Down-Box für den Verkäufer folgen wird.
is.pl->post entwirrt.emails speichern/buchen nun rechnungen/auftraege vor dem aufrufen der maske
Bug 603 - intnotes werden nicht übernommen wenn vom Kunden aus Auftraege/Buchungen erstellt werden
perltidy aenderungen rueckgaengig gemacht, der lesbarkeit zuliebe
Bei "Als Neu Speichern" nur dann eine neue Anfrage-/Auftragsnummer vergeben, wenn der Benutzer die bisherige nicht manuell verändert hat; ansonsten die veränderte übernehmen. Fix für Bug 598.
show_history.js in header eingebunden
Fix für r1967 (und r2002) : Steueranzeige unterhalb von Rechnungen, Angeboten, etc. an die neuen Taxkeys angepasst.Der Steuersatz wird nicht mehr in der 'description' redundant gefuehrt, sondern aus der'rate' generiert. Getestet bei den EingabemaskenVerkauf: Rechnung, Gutschrift, Auftrag, Angebot...
Prozentangaben in der Steuerbeschreibung wieder hinzugefuegt
Der Button für die Historie wird nur angezeigt, wenn der Beleg bereits gespeichert wurde.
Speichern der Historie nach Speichern des Belegs selber.
Steueranzeige unterhalb von Rechnungen, Angeboten, etc. an die neuen Taxkeys angepasst.Der Steuersatz wird nicht mehr in der 'description' redundant gefuehrt, sondern aus der'rate' generiert.
Die verloren gegangenen Checkboxen "Offen"/"Geschlossen" bei den Berichtsfunktionen wiedererweckt.
Historie eingefügt
Bei Berichtsfunktion nach Projekten suchen und sich Projekte ausgeben lassen (bisher nur OE; IR und IS folgen).
Anzeige und Auswahl von Projektnummern bei Einkaufs- und Verkaufsbelegen nur noch per Drop-Down-Box.
Bei Projekten ein Flag "aktiv" hinzugefügt.
Globale Projektnummer in Einkaufs- und Verkaufsbelegen.
Mehr Codeteile entfernt, die zur Vorbereitung von Mehrlagerfähigkeit in SQL-Ledger gedient haben und nie benutzt wurden.