edit_e_mail auf templates umgestellt
$form->{path} entfernt und hardcodiert auf bin/mozilla gesetzt.Vorlagen sind nicht betroffen, aber locales.pl schon.
Jahresberechnung
Auf gar keine Fall nicht ueberkomplizierte Logik nicht leichter gemacht...
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).
Formulardaten für Datumsangabe gequoted, da hier sonst onBlur... im value stand.
$form->{snumber} durch $form->{snumbers} ersetzt, da dies eigentlich so vorgesehen war. :/
Anpassung an die Historiensuchmaschiene
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}; )
Überprüfen auf korrekte Eingaben eingepflegt. (common.js check_right_date_format usw)
Anpassen an common.js (Datumsüberprüfung und Nummerüberprüfung)
Eine Funktion zum "sicheren" Aufrufen von Unterfunktionen eingebaut, damit &{ $form->{nextsub} }(); nicht ungeprüft aufgerufen werden muss.
Anpassung an check_right_number_format und check_right_date_format aus der common.js
Den Code für das Bearbeiten von Vorlagen in eine eigene Datei ausgelagert. Zusätzlich den HTML-Code in eine HTML-Vorlage ausgelagert.
Kleine Codevereinfachung.
Die Funktionen zum Bearbeiten von HTML-, LaTeX-Vorlagen und Stylesheets neu geschrieben.
Beim Verschicken von Sammelrechnungen per Email einen besseren Namen für den Dateianhang wählen.
Beim Verschicken von Emails auch die Variable $form->{EMAIL_RECIPIENT} als Empfaenger benutzen, falls in $form->{email} z.B. die Emailadresse des Kunden steht. Bei der Sammelrechnung genau deswegen $form->{EMAIL_RECIPIENT} benutzen.
Checkbox "geliefert" auch anzeigen, wenn der Verkaufsbeleg noch nicht gespeichert wurde.
Kosmetik
$form->{printers} ist ein Array, und kein Hash. Außerdem die Drucker-Drop-Down-Box nur dann anzeigen, wenn Drucker angelegt wurden.
Umstellung der Form.pm auf die Verwendung parametrisierter Queries zur Vermeidung von SQL injection. Zusätzlich etwas Kosmetik (trailing whitespace, TABs entfernt).
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.
Noch ein Schreibfehler.
Schreibfehler.
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.
Gequotete Werte auch in Anführungszeichen ausgeben.
onclick gegen onchange ausgetauscht
Fehler Widergutmachung (cgi parameter usw)
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.
Mehr Umformatierungen.
Bessere Einrückung. Kleinen Fehler beseitigt, der letztens durch Umstellung auf $cgi->hidden() reingekommen ist (selected_unit_* muss als unit_old_* übergeben werden).
Bei der Drop-Down-Box für die Drucker wieder den Druckernamen anzeigen.
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 Kunden/Lieferanten mit \n und/oder \r im Namen hinzugefügt. (bug 543)
Ersatzmuster für Lieferanten/Kundennamen, welche \n und/oder \r enthalten, hizugefügt (bug 543)
Ersatzmuster für Lieferanten/Kundennamen, die \n und/oder \r enthalten eingefügt (bug 543)
Einen Filter für den Kunden-/Lieferantentypen bei Berichten über Kunden-/Lieferantenstammdaten implementiert.
shiptodepartment_1 und 2 als hiddentag hinzugefügt
Bei den Kunden- und Lieferantenstammdaten werden in den Berichten standardmäßig nur noch die gültigen angezeigt; die ungültigen können über Radiobuttons trotzdem angezeigt werden.
Bei Einkaufs- und Verkaufsmasken ermöglichen, dass kein Ansprechpartner ausgewählt wird.
syntax in hidden tags w3c conform gestalltet (bug 272)
Mahnwesen: Die Tabelle dunning so umgebaut, dass gemeinsam gestartete Mahnungen auch später gemeinsam erneut ausgedruckt werden können. Dafür auch die Listenansicht bereits gestarteter Mahnungen verbessert.
Vermeidung von SQL injection durch Verwendung von parametrisierten Queries. Zusätzlich die Optik beim Bericht über laufende Mahnungen verbessert. Fehler beseitigt, dass das erneute Ausdrucken von Mahnungen alle Mahnungen zusammengefasst hat, auch über Kundengrenzen hinaus.
Bugfix: Erzeugnisse muessen ihre Einheiten aus dimensions suchen.
Printer_id kann 0 sein
Bug 608.(Feldergroessen im Ansprechpartner Dialog)Datenbank und Bildschirm haben ja Platz, also passen auch groessere Felder hin.
Bug 614.Auch copy&paste Programmierung will gelernt sein... :/
CP.pm auf die Verwendung von parametrisierten Queries zur Vermeidung von SQL injections umgestellt.
Funktion get_config aus ustva.pl nach USTVA.pm verschoben, damit sie auch aus rp.pl aufgerufen werden kann.
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.
Weitere Vorkommen von GIFI entfernt. GIFI müsste bis auf Spalte chart.gifi_accno und Tabelle chart komplett entfernt sein.
Verweise auf GIFI entfernt.
Restfunktionalität von customertax und vendortax entfernt.
template arrays noch leermachen
io.pl print_options auf templateing umgeschireben.
Soweit ich weiss ist das eine der ersten frontend Funktionen aus SQL Ledger die auf templating umgeschrieben wurde.Funktionalitaet wurde eins zu eins erhalten, die einzige gewollte Aenderung betrifft die Moeglichkeit...
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.
Beim Ausdruck die Variablen für den Verkäufer (salesman_*) füllen.
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.
Bei Kunden-/Lieferantentypen das Feld "Vertreter" ausblenden.
Überflüssigen Code bzgl. salesman entfernt (wird eh nicht benutzt, wenn Auswahl über Drop-Down-Box erfolgt).
Speichern von Verkäufern bei Kundenstammdaten.
is.pl->post entwirrt.emails speichern/buchen nun rechnungen/auftraege vor dem aufrufen der maske
Bug 603: Interne Bemerkungen bei Workflow aus Lieferanten heraus
Bug 603 - intnotes werden nicht übernommen wenn vom Kunden aus Auftraege/Buchungen erstellt werden
perltidy aenderungen rueckgaengig gemacht, der lesbarkeit zuliebe
kleine codeverbesserungen
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.
Link fuer neues Fenster in der Uhrzeitlinie beim Menü v2 und v3. Patches von Frank Eichentopf frei () hap-bb ! de (siehe Bug 595).
Die Fehlermeldung "Customer not on file or locked!" übersetzt ausgeben.
Kreditorenrechnungsmaske: Drop-Down-Boxen für Konten werden jetzt bei jedem Seitenaufbau richtig aufgebaut (kein Mitschleppen der HTML-gecodeten Drop-Down-Box im Formular) analog zu ar.pl. Behebt außerdem ein paar Bugs mit Auswahl der Steuerschlüssel.
Checkbox "Entwurf löschen" auch bei Debitorenrechnungen anzeigen.
Nach Speichern einer Vorlage die Checkbox "Vorlage löschen" aktivieren.
Überflüssiger Code.
Nicht Hashfelder sowohl als Skalar als auch als Hash benutzen. Führt zu merkwürdigem Verhalten, z.B. dass zu viele Keys herauskommen etc.
Debitorenrechnungen: Beim Erstellen einer neuen Debitorenrechnung das richtige Steuerkonto für die erste Zeile auswählen, auch wenn das ausgewählte Konto nicht das erste Konto in der Liste ist.
Dialogbuchen: Bei neu hinzugefügten Zeilen das Steuerkonto richtig initial setzen.
Durch ständige Maskenveränderungen waren die Tab-Indices nicht mehr richtig, doppelt vergeben oder fehlten. Dadurch wurde die Bedienung deutlich komplizierter und verwirrender, vor allem, weil die durch den Browser vorgegebene Reihenfolge der Eingabeelemente eh schon die intuitive ist.
Dialogbuchen, Debitorenbuchungen: Wird das transdate verändert, so wird eventuell auch der Steuerschlüssel geändert. Auch in diesem Fall müssen die ausgewählten Konten beibehalten werden. Die Steuerkonten werden in so einem Fall aber auf das mit dem ausgewählten Konto verknüpften Steuerkonto gesetzt. Fix für Bug 577.
Den Storno-Button wirklich nur dann anzeigen, wenn die Rechnung noch nicht storniert wurde.
Codeduplikation vermeiden.
Einkaufsrechnungen: Vor dem Stornieren die Daten aus der Datenbank holen und nicht die aktuellen Formulardaten für das Storno benutzen.
Kontendarstellung: Steuersatz Prozentsatz fehlte
Definitiv verhindern, dass Einkaufsrechnungen doppelt storniert werden können.
Teilung durch 0 vermeiden.
Stornieren einer Verkaufsrechnung: vor dem Stornieren die Rechnungsdaten aus der Datenbank laden und nicht die gerade in der Maske aktuell gültigen Daten benutzen.
Steuerschlüssel-Drop-Down braucht für das JavaScript eine ID.
Rechnungsfunktionen gehören natürlich nach IS und nicht nach IC.
Das mehrmalige Stornieren von Kundenrechnungen definitiv verhindern.
Eine Variable $qty_readonly gibt es ansonsten nicht.
show_history.js in header eingebunden
Rechnungs- und Gutschriftsnummern werden nun direkt innerhalb der Backend-Routinen innerhalb der gleichen Transaktion vergeben, in der auch die eigentliche Rechnung etc gespeichert wird. Damit soll besser verhindert werden, dass sich Löcher in den Nummernkreisen ergeben.
Diese Datei wird gar nicht benutzt. Gutschriften werden über is.pl abgewickelt.
Dialogbuchen: Weitere Drop-Down-Boxen werden bei jedem Aufbau aus der Datenbank ausgelesen und durch das CGI-Modul ausgegeben.
Debitorenrechnungen: Drop-Down-Box für Steuerschlüssel bei jedem Formularaufruf aus der Datenbank aufbauen und nicht mehr in versteckten Form-Feldern mitschleppen.
Dialogbuchen: Beim Aufrufen bestehender Buchungen die Projektnummern richtig in der Drop-Down-Box vorauswählen.
Dialogbuchen: Die Drop-Down-Boxen bei jedem Formularaufbau aus der Datenbank heraus aufbauen und nicht in $form mitschleifen. Behebt auch den Fehler, dass das Steuerkonto beim initialen Aufbau nicht richtig ausgewählt wurde.
Firefox malt bei Bildern mit Link einen Rahmen um das Bild, was hiermit verhindert wird.