Brieffunktion erste Version
Verkaufsbriefe können jetzt auch mit LaTeX erstellt werden.Ferner gibt es eine Briefentwurfs-Funktion, die aussieht wie drafts, aberzumindestens auf einer eigenen Tabelle beruht. Zusätzlich wurden zwei neue Rechtegesetzt
Auth: nicht auskommentieren, sondern richtig dokumentieren
Auth - experimentell: $::auth dbh wieder cachen.
Auth.pm: Rechte nur dann laden, wenn User & Client gesetzt sind
Seit f6ed86e wird im Menü-Template-Code auf Rechtegetestet (AUTH.assert(…)). Im User-Bereich ist das kein Problem, weildie Menü-Templates nur dann benutzt werden, wenn tatsächlich ein User...
Auth.pm cosmetics: Entfernen von $::lxdebug->enter_sub/leave_sub
Neuer Bericht: LieferwertberichtErweiterung DeliveryPlan.pm um Modusweiche Lieferplan oder LieferwertberichtImplementierungstand Lieferwertbericht: - Alle offenen Verkaufsaufträge werden berücksichtigt - Beim CSV-Export wird die Einheit als Extra-Spalte exportiert und die...
SL::Auth: Überflüssige Zeichen entfernt
Pflichtenhefte: eigenes Recht einführen
Eigenes Recht für Lieferplan und "sales_all_edit" berücksichtigen
Neue Rechte für Anzeige der Debitoren- und Kreditorenbuchungen
Damit kann man in den Berichten für Einkaufs- und Verkaufsrechnungen dieDebitoren- und Kreditorenbuchungen herausfiltern, so daß z.B. dieEinkäufer nicht mehr Kreditorenbuchungen aus dem Fibu-Bereich sehen...
Überprüfung vom API-Token gefixt
Neues Recht für Anzeige von Artikeldetails/-berichten
Statt nur ein Recht für die Bearbeitung von Artikeln zu haben, das gleichzeitig auch das Rechtfür die Anzeige von Details und Berichten über Artikel umfasst, wurde nun ein neues Recht eingeführt.Das alte Recht "Artikel, Dienstleistungen, Erzeugnisse erfassen und bearbeiten" wurde also in zwei...
Auth: Support für Verbindung zur Unit-Test-Datenbank
Beschreibung der Rechte 'config' und 'admin' konkretisiert
Unterstützung für andere Datenbankencodings als Unicode/UTF-8 entfernt
Bei Clientanmeldung Zuweisung Gruppen<->Mandanten berücksichtigen
Userlogin mit Mandanten gefixt (erster Schritt)
SL::Auth: Client-Properties aus Auth-DB lesen und in $::auth->client speichern können
Admin: Teile von admin.pl in neuen Controller Admin verschoben; Mandanten anzeigen
Recht für Anzeige der Produktivität
Um die Produktivität einzusehen, ist jetzt ein Recht erforderlich.Standardmäßig wird dieses Recht gegeben, um den gleichen Zustandwie vor dem Commit zu garantieren.
Weiterhin gibt es nun auch das Recht für Anzeige des Administrationslinks...
Revert "Recht für Anzeige der Produktivität"
This reverts commit a27cd427a2689b49a7642884edd2d24555305a4b.
cleanup Methode und Manager für CsvImportReport
Lx-Office heißt nun kivitendo
Automatische Authentifizierung bestehender Sessions über Session-ID + API-Token
Wird für CRM-Menü benötigt.
Stylesheet Win2000.css gelöscht
Menüsysteme v3 & v4 verschmolzen (Stil von v4, Name & Code von v3)
Fallback auf Sprache aus kivitendo.conf, falls vom Benutzer selektierte Sprache nicht existiert
Hinweise auf lx_office.conf in kivitendo.conf geändert
Fixt #2031.
Konfigurationsoption für Wartezeit nach fehlgeschlagenen Logins
User-Login auf Controller umgestellt
Administrationsoberflaeche: aktive User anzeigen
implementiert #1853
Keine Passwörter mehr in Sessions speichern.
Der vorherige Mechanismus hat Passwörter in der Session hinterlegt, um beijedem Request überprüfen zu können, ob die Zugriffsrechte immernoch bestehen.Gedacht war das vor allem für LDAP Authetifizierung, wo der Admin den Zugang...
Admin-Passwort in Closure speichern, um versehentliche Ausgabe beim Dumpen zu vermeiden
Neue Version podchecker erkennt leere Setions und fehlende Leerzeilen
Usermaske im Adminbereich vor logins aus sessions geschützt.
Notwendigerweise zusätzlich User->new und Auth->read_user auf %paramsumgeschrieben.
Neues Recht "admin" für Administration aus Useraccounts heraus
Recht hinzugefügt: Nur eigene Kunden (Verkäufer gleich Mitarbeiter) editieren
Zusätzliches Recht alle Kunden / Lieferanten editieren, war bisher standardmäßig IMMER so und kann jetzt deaktiviert werden.Falls es deaktiviert wird, kann man den Kunden / Lieferanten nur editieren wenn man selber als Verkäufer eingetragen ist.
Das XUL-/XML-Menü entfernen
Das alte XUL-/XML-Menü war von der Benutzung her zwar beliebt, hatteaber aush administrativer Sicht diverse Probleme. Früher konnteFirefox XUL von beliebigen Webservern ausführen, heute seit Firefox 4nicht mehr -- aus Sicherheitsgründen. Daher musste man bereits ein...
LDAP Authentifikation zwischen requests korrekt resetten.
Programmlogik für Recht 'Schreibgeschützte Preise' (s.a. Commit davor)Details: Vergessen bei dem Commit von gerade, die entsprechenden Programmänderungen auch zu committen, betrifft: Übersetzungen, Recht in Auth.pm sowie die entsprechende neue Logik in io.pl->display_row
Anlegen der Auth-DB fixen
Auth.pms Session-Management kam nicht damit zurecht, wenn die Auth-DBbzw. das "auth"-Schema darin noch nicht existiert haben. Das passiertz.B., wenn die Auth-DB gerade über den Admin-Bereich angelegt werdensoll.
Warnung wenn kein cookie übergeben wurde
$::cgi entfernt.
Verfahren:- Für alle Vorkommen von "my $cgi = $::cgi;": ersetzt durch my $cgi = $::request->{cgi}->new({}) ersetzt
- Wenn in einer Datei alle my $cgi rausgefallen sind auch use CGI entfernt.
- Initialisierung von $::cgi in scripts und Dispatcher entfernt und in dei...
Prozess-ID & Uhrzeit nicht sichtbar in Session-Keys verwenden
Nicht immer alle Session-Werte automatisch laden und parsen
Durch das Speichern ganzer Forms in der Session wurde das Laden sehrlangsam, weil bei jedem Request alle Session-Werte geladen und mitYAML geparst wurden. Rief man z.B. ein Erzeugnis mit 50 Einzelteilen...
Passwort-Änderungen auch in der Session speichern
Fall 'kein Hash-Algorithmus angegeben' bei alten Passwörtern richtig behandeln
create_unique_session_value hat immer falsch auf Eindeutigkeit der Nummer geprüft
flash_later durch Auto-Restore von 'FLASH' von Session nach $::form gefixt
Bug wurde in c90b4dcd implementiert. Hintergrund:
c90b4dcd sollte ermöglichen, dass Werte in der Session gespeichertwerden, die aber nicht automatisch nach $::form zurück kopiert...
Feature "Lizenzen" entfernt
Hat grob gesehen niemand benutzt, es funktionierte nicht, und wurdeseit gefühlten 20 Jahren nicht weiter entwickelt.
Admin-Passwort immer gehasht speichern, auch wenn LDAP-Authentifizierung aktiv ist
Das Admin-Passwort nicht im Klartext in Session-Tabelle ablegen
Das Benutzer-Passwort nicht im Klartext in Session-Tabelle ablegen
Session-basierte Dateien (die also bei Ablauf gelöscht werden)
Conflicts:
SL/Auth.pm
Nur Session speichern, wenn Auth-Tabellen vorhanden sind
Und nochmal den richtigen.
Peinlicher Syntaxfehler beim Laden von Gruppenrechten.
Wenn keine session_id vorhanden ist, zum Beispiel nach dem Abmelden, nicht versuchen die Session zu speichern.
Hoffentlich Fix für Bug 1653.
assert darf login nicht asu form holen, weil das vom User überschrieben werden kann.
assert kosmetik.
auto_restore ist gar nicht implementiert
Löschen von usern ermöglichen, wenn die Datenbank nicht existiert oder falsch eingetragen ist.
Serverfehler beim Löschen von Benutzern behoben.
Das globale $form kann im admin.pl Environment nicht auf die User DB connecten, also muss das von Hand gemacht werden.
Skalarkontext erzwingen
Regex-Matches geben im Listenkontext eine leere Liste zurück. Perloptimiert leere Listen innerhalb von Listen komplett weg. Somit hatfolgendes Hash nur einen Key und einen Value, nämlich "a" und "123" respektive:
my %h = ( a => $unicorn =~ /Charlie/,...
Session nur einmal pro Request speichern, und zwar danach.
Vorher wurde die Session mindestens zweimal vor dem Request gespechert. Unnötig.
enter_sub/leave_sub in Auth::save_session
Auth::load_group_rights - etwas aufgeräumt.
$::auth nicht löschen sondern nur resetten. (Experimentell)
Merge branch 'master' of git@lx-office.linet-services.de:lx-office-erp
typo: $::from
Alle Datenbankverbindungen über DBIx::Log4perl laufen lassen, sofern dies in der Konfiguration aktiviert ist
Fünf-Sekunden-Verzögerung bei falschem Login auch bei nicht existierendem Benutzernamen erzwingen
Methoden zum Speichern von eindeutigen Keys in der Session
Außerdem: Form dumpen und wiederherstellen; Werte nur für einenbestimmten Zeitraum speichern.
Session immer am Ende des Requests speichern
Momentan wird eh am Anfang der Session einmal gespeichert, wennBenutzername und Passwort überprüft wurden. Somit erspart man sichspäteres Speichern.
Bei Auth-DB-Verbindung nur Transaktionen starten, wenn tatsächlich Dinge verändert werden; dann explizit locken
Fix für Bug 1565.
Konfigurationsdatei config/authentication.pl nach config/lx_office.conf(.default) gemerget
Globale Variablen für Systemeinstellungen und Features nach %::lx_office_conf verschoben
Betroffen sind: $webdav $vertreter $lizenzen $show_best_before $parts_show_image $parts_image_css $parts_listing_images $eur $dbcharset $language
Umstellung auf SL::DBUpgrade2-API: process_query ist nicht mehr in SL::User
Nur dann Cookie setzen, wenn eine Session-ID vorhanden ist
Andernfalls wird bei einigen Fehlern (z.B. "action not defined") dasCookie auf 'NO_SESSION' zurückgesetzt, weil in dem Moment die Sessionnoch nicht wiederhergestellt wurde. Erschwert die Entwicklung...
Einige enter_sub/leave_sub-Paarungen gefixt
bin/mozilla/oe.pl
Laden von ge-YAML-dumpten Session-Inhalten gefixt
Das Löschen von Session-Keys auch außerhalb von create_or_refresh_session() implementiert
Speichern des Session-Inhaltes in eigene Funktion ausgelagert
Session-Inhalt als YAML-Dump speichern und laden
Merge branch 'master' of ssh://lx-office/~/lx-office-erp
Fehler im Bootstrapping besser handhaben.
Konkret, wenn config/authentication.pl nicht richtig geladen wird.
Fix für Bug 1472.
Neue Berechtigung batch_printing (Bugzilla 1493)
Damit kann der Menüpunkt "Druck" komplett ausgeblendet werden, wenn dies füreine Gruppe nicht freigeschaltet wurde. Für die Unterpunkte gelten weiterhindie alten Berechtigungen.
Die vorhandenen Gruppen werden nicht angepasst, d.h. diese Option muß für die...
Bei falschem Passwort fünf Sekunden vor nächstem Versuch warten.
Druckeradministration in die Adminumgebung verschoben.
Printercommands werden mit webuser Rechnten ausgeführt, deshalb darf ein Userkeine anlegen. Da die Umgebung da völlig anders ist, geht das mit einem Rewriteder Masken einher.
Bei Datenbankverbindung pg_enable_utf8 je nach Charset setzen
Auth Konstanten ausgelagert in ein eigenes Package.
Dadurch keine Probleme mit zirkulären Includes mehr. Ausserdem DBI an der richtigen Stelle eingebunden.
falsche Debug-Meldungen korrigiert.
leave_sub statt enter_sub.
Benutzerverwaltung im Bereich Verkauf > Ansicht nur auf eigene Verkaufsdokumente erweitert. Standardmässig bleibt alles wie vorher (Db-Upgrade-Skript was dieses Recht für alle vorhandenen Gruppen setzt) Sobald das Recht für die Gruppe nicht gesetzt wird, wird entsprechend bei den Verkaufsberichten auth>assert('sales_all_edit') auf employee_id geprüft. Bei Stammdaten->Kunden->Lieferung wird zusätzlich auf dieses Recht geprüft
Und wieder ein Schwung strict.
sramd mit diesem Aufruf ist tatsächlich unsicherer als garkein srand Aufruf, also weg damit.
Mehrere Sanity Checks um zu verhindern, dass $group->{members} Dublikate enthält.
Hoffentlich Fix für Bug 1057.
Aus Versehen ging das Feld 'login' beim Auslesen von Benutzern in Commit 4258 verloren.
In der Funktion Auth::read_user() auch die User-ID zurückgeben.