Liste aller merge requests
| Titel | Beschreibung | |
| Feature/training start behaviour | Determine Chapter & TrainingItem for the UCP to start/continue/repeat the Training | Details |
| Feature/training start behaviour | Determine Chapter & TrainingItem for Training start/continue/repeat within the UCP | Details |
| Feature/add content title | please confirm this feature: MYC-130 -Titel von Lernbausteinen Beim Upload der Lernbausteine wird der Dateiname als "Name" abgelegt. Hierbei wird der ursprüngliche Dateiname gedoppelt angezeigt. Die Generierung der Wertes für "Name" muss geprüft werden. Außerdem sollte das Feld als "Titel" deklariert werden und der ursprüngliche Dateiname separat angezeigt werden.(Während "Titel" editiert werden kann, sollte der Dateiname nur angezeigt werden.) + MYC-145 - Suche der Zuweisung + MYC-144 - Anpassung Backend + MYC-143 - Erweiterung der Lernbaustein-Info (SQL) | Details |
| Feature/track password update date | + Feld "password_updated_at" wurde angelegt + Anzeige im Profil wurde umgestellt + Wenn das Passwort geändert wird, so wird "password_updated_at" aktualisiert s. http://jira.learningsystem.de/browse/MYC-121 | Details |
| Feature/resend confirmation | Admin user should be able to resend confirmation emails for other users, if that users did not confirmed yet | Details |
| Feature/grouping of training items | Created Topics for grouping training items | Details |
| This change should solve problem of creation of new address on bitnami server | Details | |
| Feature/checkout upgrade | Details | |
| Feature/preview urls | Details | |
| Feature/watchlist and basket bubbles | Details | |
| WIP: Feature/profile alter password dialog | Please do all appropriate steps to merge password change dialog feature | Details |
| Feature/optimize filter bar | Details | |
| Feature/generate initial training slug | Details | |
| Feature/training duration formating | changed format of duration display for training, module and contents | Details |
| Added "Buy It" button to Training-Sticky-Box and storeAndBuy controller to handle it | Implementierung von MYC-193 - "Sofort-Kaufen-Button" | Details |
| Feature/upgrade catalog cards | Added markings for "is on watchlist", "is in basket" and "is already owned". The ones about the basket and the watchlist are colored orange and the indicator for owned trainings is colored green (for now - I personally like the orange more... maybe exchanging the colors against each other is an idea) Also to mention: Beforehand we still had `$canStartTraining = auth()->check() && auth()->user()->trainings()->setEagerLoads([])->where('training_id', $training->id)->exists()`. Now the views make use of `$training->isOwned`, and this property determines it's status via `auth()->check() && auth()->user()->trainings->contains($this);` | Details |
| Pagination added to Admin/Contents | Details | |
| Feature/marketing mail | Job: Benutzer werden nach Fertigstellung eines gekauften Trainings durch eine E-Mail zur Abgabe einer Bewertung aufgefordert (etwa 24 Stunden nach erfolgreichem Abschluss des Trainings). Die Funktion kann sowohl im persönlichen Kundenprofil, als auch auf Basis einzelner Trainings oder global für das ganze System aktiviert/deaktiviert werden, sodass eine genaue Einstellung möglich ist und Kunden nicht negativ benachrichtigt werden, wenn sie keine Bewertung abgeben wollen | Details |
| Feature/link to bought trainings | MYC-213 Besseres Feedback nach abgeschlossenem Kaufvorgang | Details |
| MYC-220 Backend: CMS/Pages > New Column "Status" in Overview added | MYC-220 Backend: CMS/Seiten > Neue Spalte "Status" in der Übersicht Die Tabelle um die neue Spalte Status erweitern. Die neue Spalte soll zwischen "URL-Name" und "veröffentlicht ab". Mögliche Werte sind "Veröffentlicht", "Entwurf", "Wartend" englische Werte: "published", "preview" und "waiting", die ersten beiden stehen so in der DB "wartend" bedingt "published" und ein "veröffentlicht ab" in der Zukunft (in der DB) die Werte bitte per Badge in darstellen "published" = success "preview" = info "waiting" = warning Habe noch den Status "Expired" (Abgelaufen) implementiert. | Details |
| MYC-212: Feature/add back to catalog link to watchlist | Details | |
| fields disabled for fixed pages | Details | |
| Feature/form error feedback | MYC-206 Fehlende Zusammenfassung 1. die Fehlertexte und die Feldnamen in den Fehlertexten wurden auf der Profilseite der Stammdaten in Deutsch bereitgestellt 2. Eine allgemeine Fehlermeldung wird nun eingeblendet zusätzlich mit Links Ausgestattete Detail-Fehlermeldungen 3. Nach dem Speichern wird zur allgemeinen Fehlermeldung gescrollt, so dass diese präsent präsentiert wird | Details |
| Feature/linking pages via slug | Details | |
| Feature/replace datepicker | Details | |
| Feature/import export trainings | MYC-223 neue Funktion "Trainingsimport" im Backend Zusätzlich zum Button "neue Trainings hinzufügen" soll die neue Funktion "Trainings importieren" in der Trainings-Übersicht (Backend) eingefügt werden. Der Import soll eine CSV-Datei oder Excel Tabelle annehmen und die darin enthaltenen Stammdaten in die Datenbank eintragen. Die zu importierende Datei soll dabei folgende Daten enthalten (können): Externe ID (optional) Titel Kurztitel (optional) Kategorie (siehe unten) Trainingsanbieter (siehe unten) Zielgruppen (siehe unten) Schwierigkeitsgrad (optional, Default 'Einsteiger') Sprache (optional, Default 'deutsch') Preis Beschreibung Kurzbeschreibung (optional) Detailbeschreibung (optional, siehe unten) Bannerbild (URL) Vorschaubild (URL) Vorschau-URL (optional) aktualisiert am (optional, Default 'now()') Verfügbar, Kaufbar und Startseite werden nicht benötigt, da die Lernbausteine noch nachgepflegt werden müssen. Für die Kategorien, Zielgruppen und den Trainingsanbieter ist etwas mehr Logik notwendig: Kategorien nur bestehende Kategorien möglich Eintrag der Kategorie-ID oder des Namens Direktzuweisung per ID oder via String-Vergleich keine Übereinstimmung bedeutet Kategorie 1 (Standard-Trainings) Zielgruppen Kommaseparierte Liste in der Import-Datei beim Import prüfen, ob die einzelnen Werte bereits vorhanden sind, wenn nicht anlegen. Trainingsanbieter soll nur das Kürzel enthalten nur bestehende Anbieter möglich beim Import nach dem Kürzel suchen und Verknüpfung herstellen wird keine Übereinstimmung gefunden, wird kein Anbieter gesetzt Eine Beispiel-Import Datei findet sich unter http://jira.learningsystem.de/secure/attachment/14803/Training_Export.xlsx | Details |
| voucher table, and fix for invoice details | Details | |
| adjusting the mails | condition needs to be checked for the sub headline table header alignment is not clearly adjustable the table missing a border line before the sum | Details |
| Feature/catalog trainings empty state | Details | |
| Feature/registration add terms of use | Details | |
| Feature/certificate enhancements | MYC-253 Verbesserung Teilnahmebescheinigung ⌥ MYC-255 Medien-Dialog integrieren ⌥ MYC-254 Vorschau integrieren Bitte den Dialog zur Mediathek integrieren, der auch für die CMS-Seiten genutzt wird. Der Dialog soll einen kompletten <img>-Tag einfügen und die gewählte Datei verlinken. Da die Vorlagen für die Zertifikate per HTML gebaut werden, sollte es möglich sein, eine Vorschau der Vorlage zu liefern. Hierfür in die Bearbeitungs-Seite einen passenden Button einfügen, der ein neues Fenster öffnet, in dem der Inhalt dargestellt wird. es ist nicht nötig, die Platzhalter mit Daten zu füllen. Ein derartiger Vorschau-Button ist bereits bei den CMS-Seiten (bearbeiten / anlegen der Seite) vorhanden. Bitte das HTML der Vorschau dahingehend manipulieren, dass das HTML korrigiert wird: fehlen , und , müssen dieser für die Vorschau hinzugefügt werden. der benötigt die Klassen "print-preview" und "print-a4", hierbei ist egal, ob es sich um den bestehenden oder den neu angelegten handelt. bitte nicht die Daten die in der DB liegen manipulieren | Details |
| Feature/new vue rating component | Details | |
| Feature/more catalog filters | Die Filter die in MYC-256 hinzugekommen sind müssen funktional gemacht werden. Bitte alle Funktionen anklemmen, sobald der obige Design- und Frontend-Task abgeschlossen ist. - Nutzung der Repository-Klassen bitte überprüfen | Details |
| Change external_id to string and make it optional | Details | |
| Feature/dynamic content upload fields | Details | |
| Save training filters in URL | Details | |
| Feature/reorganize admin users | Die Seite der Benutzerdetails soll auf 2 Reiter aufgeteilt werden: "Stammdaten" und "Einstellungen/Rechte"
Unter Stammdaten finden sich alle personenbezogenen Daten - d.h. die bisherigen Daten ohne die Felder:
•Kommentare automatisch freischalten
•Anzeigename
•Reminder zur Bewertung
•Superadmin
•Rollen
•Berechtigungen
Die obigen Felder rücken auf den neuen Reiter, in der Reihenfolge:
Superadmin, Rollen, Rechte
Kommentare automatisch freischalten, Anzeigename Reminder zur Bewertung Bitte die Daten zur Registrierung (bisher nur "abgeschlossen seit") anpassen und ergänzen: •Die Registrierungsdaten per von den vorhergehenden Stammdaten optisch trennen •Der Button zum erneuten Versenden der Bestätigungsmail soll ebenfalls hierher verschoben werden. |
Details |
| Add training pagination | Der Branch fügt dem Trainingskatalog eine Pagination hinzu. Es ist mittlerweile schon relativ langsam, wenn man mehr als 100 Trainings auf einmal lädt. Wichtig ist, dass es aktuell nicht ohne großen Aufwand möglich ist, eine Pagination bei "Meine Trainings" anzuzeigen. Bei "Meine Trainings" sortieren wir nicht in der Datenbank, sondern müssen in der Collection sortieren (nach Fortschritt und zuletzt zugewiesenem Training). Da ein Benutzer aber aller Voraussicht nach keine 100 Trainings kaufen wird, können wir das meiner Meinung nach erstmal ignorieren. Sobald das Feature der Trainings-Filter URLs gemerged ist, passe ich das Feature hier noch einmal an, um auch die aktuelle Pagination-Seite mit in der URL zu speichern. | Details |
| Feature/make footer address editable | Details | |
| Sign and encrypt participation certificates | Mit diesem PR ist es möglich, Teilnahmezertifikate zu verschüsseln und signieren. In der `config/setasign.php` sind alle relevanten Informationen und Einstellungen enthalten. **Wichtig:** Dieser PR nutzt die composer Abhängigkeit von Setasign. Da es sich hierbei um ein kommerzielles PHP Package handelt, ist der Zugriff nur mit gültigem Benutzernamen/Passwort möglich. Damit composer das Package herunterladen kann, muss eine Datei namens `auth.json` im Hauptordner des Projektes angelegt werden. Diese Datei hat folgenden Inhalt: ``` { "http-basic": { "www.setasign.com": { "username": "hello@beyondco.de", "password": "kZKzxZ9WQYxVgLLg3dQf" } } } ``` Die `auth.json` ist in der `.gitignore` enthalten und darf aus Sicherheitsgründen **nicht** eingecheckt werden. Zur Signierung der PDF Dateien wird ein Zertifikat und ein Private Key auf dem Server benötigt. Um diese Dateien lokal zu erzeugen, kann dieser Befehl genutzt werden: ``` openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout storage/keys/key.pem -out storage/keys/cert.pem -subj "/C=DE/ST=NRW/O=Mycompetence/OU=/CN=mycompetence.de" ``` Auch diese Dateien sind **nicht** im Git Repository enthalten und sollten aus Sicherheitsgründen nicht eingecheckt werden. Als letzte Voraussetzung muss noch ein Passwort für den PDF Schutz vergeben werden. Dies wird aus der `PDF_OWNER_PASSWORD` Umgebungsvariable gelesen. Um den PR zu testen, muss ein Teilnahmezertifikat erzeugt werden - im Anschluss kann dieses nun nicht mehr mit Adobe Acrobat oder ähnlicher Software bearbeitet werden. | Details |
| Modify training detail url | Dieser PR enthält die Anpassung der Trainings-Detail URLs. Vorher: `/e-learnings/training-name` Mit diesem PR: `/e-learning/standard-kategorie/training-name` Die "Meine Trainings" URLs bleiben davon unberührt. | Details |
| Google Tag Manager integration | Details | |
| Feature/cms training widget | Dieser Merge Request fügt im WYSIWYG Editor für CMS Seiten einen neuen Button für "Trainings" hinzu.
Über diesen Button können auf CMS-Seiten wie zB Landingpages entweder einzelne Trainings oder Filter für Trainings definiert werden, welche dann in der Frontend-Kachel Ansicht auf der Landingpage dargestellt werden.
Screen_Shot_2018-11-28_at_1.11.05_PM Screen_Shot_2018-11-28_at_1.11.40_PM |
Details |
| Feature/ui content type | Details | |
| Feature/invoice adress name dialog | Nach der Anmeldung wird der Nutzer nicht "gedrängt" seinen Namen anzugeben. Lediglich für die Bestellung wird eine Rechnungsadresse samt Namen verlangt. Da der Rechnungsempfänger aber abweichen darf, wird (korrekterweise) keine Verknüpfung vorgenommen. Nun soll eine lose Verknüpfung erfolgen: - Existiert in den pers. Daten kein Name, soll der Nutzer bei Speicherung der Rechnungsadresse per Dialog gefragt werden, ob der Name der Rechnungsadresse in seinen persönlichen Daten gespeichert werden soll. (Gespeichert werden "Anrede", "Name" und "Vorname") - Ist der Name in der persönlichen Daten vorhanden, soll beim Erstellen der ersten Rechnungsadresse Die Felder "Anrede", "Name" und "Vorname" für eine Vorbelegung genutzt werden. - als weitere Sicherheit, soll eine Teilnahmebestätigung nur dann druckbar sein, wenn die persönlichen Daten soweit ausgefüllt wurden wie nötig. ("Anrede", "Name" und "Vorname"). Hierzu soll beim Klick eine entsprechende Meldung kommen (Mit Link ins Profi) wenn die Daten fehlen. Hierfür bitte die gleiche Dialog-Bibliothek wie für das Thema "Rückgaberecht" verwenden. Bitte auch daran denken, Unit-Tests zu schreiben bzw. für die Teilnahmebescheinigung bestehende Test zu erweitern! + Das ist jetzt so umgesetzt es fehlen noch zusätzliche Unit-Tests. Die bisherigen Unit-Tests funktionieren weiterhin | Details |
| Feature/order export upgrade | Der Export der Bestellungen benötigt eine zeitliche Auswahl, genau wie der Rechnungsexport. | Details |
| added import for training class | Details | |
| return empty search if no user is present | Wenn man sich ausgeloggt hat, aber noch auf "meine trainings" war, wurde bei der Suche ein Fehler geworfen. Ziemlicher Edge-Case, trat aber in Tideways auf. | Details |
| Fix global scope issue when trying to open discussions in the backend | Details | |
| fixed typo in view | Details | |
| added missing translations | Details | |
| Feature/show cart for guests | fixed css and template to display cart for guest. npm-generated files are not included. | Details |
| Asset Cache Busting | added version function to laravel mix and replaced asset loading function in templates | Details |
| Feature/invoice address name dialog discuss | Details | |
| Feature/cookie warning | Details | |
| redirect csrf errors instead showing a huge error page | Um das zu testen lokal in MYC einloggen, danach unter storage/framework/session die session löschen (sofern session driver=file ist). Anschließend versuchen auszuloggen. Es sollte die vorher besuchte Seite gezeigt werden, sofern diese öffentlich war, andernfalls der Login. | Details |
| changed routes and recompiled laroute and frontend assets | Details | |
| Feature/training meta title | Details | |
| added correct canonical for trainings | Details | |
| MYC-384: merge topics & tags | Details | |
| Feature/remove empty cms h1 | wie ist uns das denn passiert? | Details |
| Rating comments are no longer required and can be deleted MYC-387 | Details | |
| Feature/seo identify free trainings | Dieser Merge Request beinhaltet die von Herrn Pohle angeforderten Änderungen zum tracking von kostenlosen Trainings. Ausserdem werden nun die Trainingskatalog-Seiten mit erfasst, sowie die erfolgreiche Anmeldebestätigung der Benutzer. | Details |
| Feature/disable local asset building myc 366 | Endlich keine Merge Konflikte mehr :tada: | Details |
| Allow custom meta title suffix toggles and added meta title preview | Details | |
| Allow Content-Blocks to use CMS template functions | Die genutzten Twig Funktionen liegen jetzt gesammelt in einer Extension Klasse. Ausserdem wird diese Extension nun auch für Content-Blöcke genutzt, damit diese auch URL und Slider Funktionen aus dem CMS nutzen können. | Details |
| Feature/add successor callback to wbt list | Details | |
| Feature/maximize upc configuration | MYC-342 Konfigurationsoptionen des UCP mit aufnehmen Konfigurationsoptionen des UCP mit aufnehmen Benötigt werden die Properties: "showNavigation": true, "showTitle": true, "showSidebar": false, "openSidebar": false, aus dem Konfigurations-Objekt. Die Optionen müssen im Backend verfügbar sein und für den jeweiligen Element erster Ebene (Kapitel bzw. Lernbaustein ohne übergeordnetes Kapitel) eingestellt werden können. | Details |
| Add missing page redirector | Details | |
| Feature/finetune training import | Lernmanagementsystem 17 - LL-25 Anpassung am Trainingsimport Teil 1 - Externe ID: In MYC ist die externe ID nicht eindeutig - für TEOX soll diese aber eindeutig identifizierbar bleiben. Bitte in der DB, als auch im Backend (Trainingserfassung) dafür sogen, dass die Externe ID eindeutig ist. Die aktuelle Funktion zur Identifizierung von Trainings soll unberührt bleiben! (im Gegensatz zu MYC) Teil 2 - ID-Pattern: Bei der Identifizierung der ID bitte beachten, dass die ID's im Backend mit dem Pattern ###.### angezeigt werden. Bitte die im Excel übergebene ID bitte von `.` befreien und in Integer konvertieren. Damit sollte es möglich sein die ID als Ziffer oder als Pattern anzugeben. (Teil 2 ist die gleiche Anpassung wie in MYC-437) Die externe ID muss unique sein, sofern sie gesetzt wurde. Für die Mandantenfähigkeit muss noch geschaut werden, wie sich das dort verhalten soll. Demensprechend für jetzt die Eindeutigkeit softwareseitig sicherstellen, statt in der DB. | Details |
| MYC-342 übertragen - Konfigurationsoptionen des UCP mit aufnehmen | Details | |
| transplanted from MYC-401 | Details | |
| ratings MYC-449 --->LL-45 | Details | |
| Feature/training assignment myc 433 to ll 43 | Details | |
| transplanted MYC-470-448 --> LL-41 | Details | |
| merged timeframe validation | Details | |
| assign user action added to training list | Details | |
| Feature/move certificates from training to user ll 49 | Details | |
| reverted the changes for seo optimization in myc from nov. 15th 2018 and nov. 21st 2018. | Ich habe die Anpassung der URL von trainings in e-learning rückgängig gemacht. Dazu habe ich micht die Commits vom 15. Nov und 21. Nov angeschaut und das Einfügen der Category wieder entfernt und die Routen umgestellt. Die Funktion getURL() am Training habe ich inhaltlich angepasst, aber an sonsten beibehalten, da das kürzer als vorher ist und die Inhalte vom CMS teilweise darauf zugreifen. Bitte prüfen, ob noch alles funktioniert und dann zeitnah in develop überführen. Aktuell geht der Katalog in der seventeen nicht korrekt (kein Aufruf von Details möglich) | Details |
| transplanted MYC-485 --> LL-56 | Details | |
| Feature/filter user training list myc 485 ll 56 | Details | |
| transplanted MYC-526 LL-59 | Details | |
| added organization units tab LL-61 | Details | |
| certificate filter added ll-50 | Details | |
| Hotfix/fix broken catalog route | Details | |
| Feature/myc 508 patch integriert | Patch applied | Details |
| Taken fix from certification generation | Details | |
| Feature/laravel update 5.6 to 5.8 | Bitte einmal bei dir ausführen, composer update / install nicht vergessen und schauen, ob grundlegend alles noch läuft. | Details |
| Feature/ll 70 take necessary bugfixes from myc | Übernahme aller irgendwie SCORM-relevanter Fixes in die Seventeen | Details |
| wording changed ll-86 | Details | |
| Feature/ll 95 refactor header | enthält LL-82, LL83 und LL-95. Bitte Sichtprüfung ob irgendwelche Fehler auffallen, insbesondere zwischen frontend und backend. | Details |
| localization middleware added | some styling required | Details |
| local init with app config LL-104 | Locale aus app-config initialisiert | Details |
| fix migrated LL-94 | Details | |
| Feature/migrate content popover myc 711 ll 93 | Details | |
| integrated improve content search myc-707 | Details | |
| added extended information as originally stated in MYC-709 | Details | |
| Feature/ll 89 add myc 703 | Meldung hinzugefügt. Gleichzeitig Sebastians Optimierung am UserController für `user.unassigned()` mit übernommen (war in MYC im gleichen Task vorgenommen gewesen). Zusätzlich - da hier der Button der Zuweisung an User direkt in der Übersicht ist - diesen Button deaktiviert, wenn as Training nicht verfügbar ist. | Details |
| Merged MYC-708 to seventeen branch | Vorsicht es ist auch der Change mit der Tooltip-Baumansicht in der Content-Paket-Liste drin - nicht, daß das mit bestehenden Änderungen kollididert | Details |
| removed shopping cart code | alles bis auf das Attribut $Training->is_buyable entfernt | Details |
| removed training rating code | Details | |
| Feature/ll 109 drop training commenting | + Alles umgesetz um Trainingskommentare zu entfernen - Menüpunkt "Community" wurde nicht entfernt, da in diesem Feature-Zweig noch Ratings verfügbar sind und diese sonst nicht aufrufbar wären | Details |
| LL-124 Verknüpfung Training <> Kategorie <> Katalog überarbeiten | + removed exclusive relation between categories and caltalogs + related trainings with catalogs n:m + catalogs can be assigned to a training in training administration 1) Die Verbindung von Kategorien zum Katalog soll komplett entfallen. Kategorien sind katalogunabhängig. 2) Trainings sollen direkt den Katalogen zugeordnet werden 3) die Zuordnung eines Trainings zu mehreren Katalogen ist ohne Einschränkung gestattet Bitte passende DB-Skripte erzeugen und die Models anpassen. Trainingserstellung dahingehend erweitern, dass beliebige bestehende Kataloge zugeordnet werden können (selectize). Hinweis: im Sprint sollen die Migrations neu aufgebaut werden. (LL-112) | Details |
| wording changed LL-110 | Details | |
| startpage flag removed LL-113 | Details | |
| LL-69 Anpassung Katalog | + removed "admin/my" controllers and all templates of them + replaced routes "admin/catalog" and "admin/meine-trainings" by standard routes "trainings" and "meine-trainings" + made ui look as good as Sascha alredy made it Da es keinen "externen" Trainingskatalog mehr gibt, sondern der Katalog und meine Trainings nur noch intern erreichbar sind, können beide Views zusammengelegt werden (der aktuell interne ist m.E. nur eine Kopie des externen). Hierbei soll der Ordner "/admin/my" aufgelöst werden. Zum Thema "/admin" oder nicht, siehe LL-67 | Details |
| + removed SEO fields in administration of trainings and categories | + removed usage of that fields everywhere + adaped SEO tests + left SEO modules in place, as they can be used for CMS functionality | Details |
| changed profile routes | removed doubled templates and changed routes according to latest changes on catalog / my trainings | Details |
| Feature/add tab existing scorm bundle LL-87 + LL-120 | Details | |
| Feature/ll 126 replace hard coded urls by route names | + all hard coded urls now base on route names | Details |
| + splitted tab bar like in MYC | + improved dev updater and dev installer + made sure messages.js is placed to proper location | Details |
| Feature/generate migrations ll 112 | Details | |
| set default estimated duration of content item to 20 minutes | Lernmanagementsystem 17LL-101 - Lernbaustein Standard-Zeit Bitte "Geschätzte Lerndauer: (in HH:MM)" auf 20 min. vorbefüllen beim Import. Ich setzte den Default-Wert in der DB auf 20 Minuten | Details |
| addresses work again | Details | |
| Feature/ll 30 fix learn progress calcualtion inconsistencies | Die Anzeige des Fortschritts war manchmal irritierend/falsch, es wurden z.T. Ergebnisse aus anderen Trainings angezeigt. Damit das korrigiert werden konnte mussten zuvor einige Kleinigkeiten korrigiert werden. | Details |
| implemented scorm export for contents | - Hat ein Content noch keine imsmanifest.xml, so wird diese nun generiert auf Basis von SCORM 2004 - Es wird der komplette Content-Ordner in ein SCORM-Paket gezippt und zum Download angeboten | Details |
| Feature/ll 64 core client functionality | Details | |
| Feature/ll 51 collective print | Lernmanagementsystem 17LL-51 - Sammeldruck Bitte einen Button "alle Zertifikate" (Wordwahl nicht fest) der Liste der Trainings hinzufügen, der alle Zertifikate Benutzer und Trainingsübergreifend auf einmal exportiert. Die Exportmaske soll eine Datumswahl wie in LL-50 beschrieben enthalten und einen Nutzerfilter haben. Es werden nur die Zertifikate gemäß Filter exportiert. Der Export muss die OE-Hierarchien, Rechte und Mandanten berücksichtigen. | Details |
| Feature/ll 67 refactor to app routes | LL-67 - Umbau der Routen Für Darwin / TEOX soll folgendes URL-Schema gelten: alle internen Bereiche werden unter "/app" zusammengefasst. der Login für den Mandanten soll unter "/Mandanten-Slug" erreichbar sein. Eine Verwendung des Slug in den internen URLs ist fürs erste nicht geplant. eine Abgrenzung in der URL zw. Admin (TRA) und User (Mandant, egal, ob Lerner, Controller oder Mandanten-Admin) ist nicht nötig. Im späteren Verlauf soll das Thema der Mandanten-Slugs bzw. der Übergabe eines Mandanten an eine Interne URL nochmals angegangen werden. Technisch soll das Ziel die Auflösung der aktuellen Struktur mit den abgegrenzten Routen / Views / Controllern für "/admin" sein. Dieser Umbau macht nach RS nur sukzessive Sinn. Dementsprechend sind im Rahmen dieses Tasks nur die ersten Schritte umzusetzen: alle internen Routen in der "web.php" sollen unter dem Prefix "/app" laufen. Routen mit dem Prefix "/api" und "/export" (und ähnliche), sowie die Routen für das Frontend (z.B. "faq" und "pages") werden nicht in "/app" integriert. alle Routen aus der admin.php, die keinen Namenskonflikt verursachen (wie z.B. Trainings) sollen ebenfalls auf das Prefix "/app" umgestellt werden und - nach Möglichkeit - in die web.php verschoben werden. Anpassungen an den Controllern oder den Views - sofern sie nicht zwangsläufig jetzt erfolgen müssen - werden m Rahmen anderer Anpassungen oder separater Tasks vorgenommen. | Details |
| Feature/ll 127 add tests | phase 1 | Details |
| Feature/ll 134 135 add filter and client selector | Details | |
| Feature/ll 133 adapt user im and export for clients | Lernmanagementsystem 17LL-133 - User Im- und Export fertigstellen Nachdem die Mandantenfähigkeit integriert wurde, bitte den Im- und Export nochmals prüfen und sicherstellen, dass dieser korrekt arbeitet. Insbesondere das erneute Importieren einer exportierten Liste muss gewährleistet sein. | Details |
| Credit Point system | Details | |
| Added `client_catalogs` to down() function | Details | |
| Feature/ll 119 refactoring scorm structure | Umsetzung der Optimierungen aus beiden anderen Unteraufgaben. Database.trainings.content_id: ist ein Überrest der ersten Implementierung und kommt weg. Database.content_organizations: diese Tabelle bleibt als Informationstabelle erhalten und unberührt. neuer "ShortCut"': Wir geben den ContentItems eine direkte Referenz auf ihren Content. Damit muss nicht immer der Umweg über die Organization gegangen werden Scharfe Trennung ContentItems vs. TrainingsItems: Es soll in den Models und alles anderen nach außen sichtbaren Schnittstellen keine Items mehr geben - es soll immer der konkrete Name (trainingsItem oder contentItem) verwendet werden. Konkretes Beispiel: in \App\Models\Training.php liefert –>items TrainingItem-Objekte und keine (Content-)Item-Objekte. Wird in folgenden Skripten verwendet: TrainingItemController.php, Training.php, UserProgress.php, views/my/trainings/show.blade.php, views/trainings/show.blade.php, ParticipationCertificateTest.php, ContentSessionTest.php, UserProgressTest.php | Details |
| Feature/ll 125 rework homepage | Details | |
| LL-151: mandatory trainings | Details | |
| Standard-Rolle Mandant bereitstellen | + Role "Mandant" is now created - hopefully with correct permission set + moved a permission from migration to seeder | Details |
| Add in-app notifications and notification grouping | Details | |
| Feature/ll 138 radial progress | Details | |
| WIP: Save client scoping for users | + Implemeted ClientService which listens on Authentificated event and by this event grabs client context + User class now uses trait "MayBelongToOneClient" Test tests/Feature/Admin/GroupTest.php schlägt fehl beim Löschen einer Gruppe. Ich sehe einfach nicht warum. | Details |
| updated user list role display | Details | |
| removed short name & anonym | Details | |
| Feature/ll 160 add view role | Details | |
| Feature/ll 144 stay in admin form after save | Admin-Formulare wechseln nach dem Speichern nicht mehr in die Listenansicht, sondern verbleiben im Formular-Modus Für das Erzeugen und Aktualisieren über die Administration stehen jetzt Tests zur Verfügung | Details |
| Speichern von OEs oder Positionen lieferte Dantensätze mit falscher client_id | + activated client scope for OrganizationUnits and Positions + fixed Log-Back + fixed some tests | Details |
| Unterscheidung zwischen systemischen und eigenen Rollen | + developed and added Traits for Role model and repository to make sure one has… + developed and added Traits for Role model and repository to make sure one has only access to own client roles or none client roles + made sure one can only modify/delete own client roles | Details |
| Feature/ll 150 x domain scom package export | Details | |
| LL-166 Erweiterung des Rollen-Modells | Neben der Unterscheidung in systemische und individuelle Rollen anhand der Client_ID muss das Modelle erweitert werden: Es wird ein boolsches Feld für die Standard-Rolle benötigt. Diese Feld ist standardmäßig "false". Rollen, die im Backend angelegt werden sind keine Standard-Rollen Rollen, die über den Seeder angelegt werden sind immer Standard-Rollen Im Backend bedingt eine Standard-Rolle folgendes Verhalten Standard-Rollen können nicht gelöscht werden (auch nicht von Superadmins) der Name eine Standard-Rolle kann nicht geändert werden die Lokalisierung des Rollennamens greift nur für Standard-Rollen. "Normale" Rollen werden nicht lokalisiert. | Details |
| Feature/ll 155 reorganize js resources | Details | |
| WIP: Core x-domain content server | + Eigene Controller, die den externen Content-Aufruf handeln (altes PHP-Skript entfernt) + Eigene Datenbanktabelle die extene Content-Aufrufe vermerkt (altes Logfile entfernt) + Eigene Administration mit separatem Recht wo externe Content-Aufrufe eingesehen werden können - nicht behandelt wurden die Konfiguration von zugriffsberechtigten extenen Domains | Details |
| Fix babel config | Details | |
| Feature/ll 146 missing mail adresses | Ersetzung backend_display_name durch display_name | Details |
| role_filter_added_LL-167 | Details | |
| LL-171 num trainings added | Details | |
| Feature/ll 163 add columns to roles | Details | |
| fix training assignment end date | Details | |
| Feature/ll 186 refactor training progress | **LL-186 Umbau des Trainingsfortschritts** Der Trainingsfortschritt darf nicht mehr an der Kombination aus User und Training gespeichert werden, sondern muss explizit an der entsprechenden Trainingszuweisung gebucht werden. Dies betrifft sowohl den Fortschritt des gesamten Trainings wie den Fortschritt der einzelnen Items. Beim speichern der Sessions und der damit verbundenen Aktualisierung der Fortschritte, muss sichergestellt sein, dass nur aktive Buchungen aktualisiert werden. http://jira.learningsystem.de/browse/LL-186 Gregor Gabriel hat einen Kommentar hinzugefügt - 12/Feb/20 9:02 - bearbeitet Zunächt werten TrainingProgress und TrainingItemProgress mit dem Attribut training_assignment_id versehen. Das schein zu reichen um eine neue Lernsession zu starten und alle passenden TrainingItemProgress Objekte zu aktualisieren. ABER wenn man weiterlernen will, wie stellt man da sicher, dass der bereits vorhandene Lernfortschritt aus dem Zeitraum der Freischaltung ist? Wir prüfen hier ob eine Lern-Session existiert, die in den Freischaltungszeitraum fällt. Existieren mehrere Freischaltungen - eine in deren Zeitraum die letzte Lern-Session nicht fällt und eine in deren Zeitraum die letzte Lern-Session fällt - dann wird die Lern-Session fortgesetzt und gilt für beide Freischaltungen. Bei Freischaltung-Überlappungen zeigen wir immer den besten Lernfortschritt. - Es kann aber passieren, dass bei überlappenden Freischaltungen, ein Lerner heute ins System geht und feststellt, dass er nichts zu tun hat. Würde er dann das Training nur kurz starten, ohne es durchzuarbeiten, so würde er den Lernstand in die neue Freischaltung dauerhaft übernehmen. Tut er es nicht, so muss er das Training an nächsten Morgen komplett absolvieren, wenn die ältere Freischaltung dann abgelaufen ist. Gregor Gabriel hat einen Kommentar hinzugefügt - Gestern 9:05 Wir zeigen ab jetzt bei den Trainings unterhalb eines Users die Buchungen an, so dass Trainings doppelt erscheinen können | Details |
| add admin view of notification | http://jira.learningsystem.de/browse/LL-170 | Details |
| LL-196 - removed possibility to assign trainings in group administration | removed client selector for users with client_id > 0 | Details |
| LL-195 - removed possibility to assign groups/organizations/positions to training | Details | |
| filtered out all permissions that session user does not have | Details | |
| fixed broken content-training assignment by fixing used route names | Details | |
| LL-174 remove address from users | * Moddel und Controller wurden umgebaut, um die Adressen vom User an den Client umzuhängen. * Das Adressen-Akkordion in den Benutzer-Stammdaten wurde entfernt und der User-Controller entprechend aufgeräumt. * Das Profil wurde von den Rechnungsadressen befreit. >>> habe kräftig aufgeräumt - schön dass es noch tut *- G.G* >>> | Details |
| LL-192 Client-Admin: Rechte-Set anpassen | + add same permissions to client role as Sebastion added directly as permissions to client user + doing that by taking permissions from same source as Sebasian did + refactured seeder code + registration now uses client-role instead of directly added permissions | Details |
| Feature/ll 158 add role controller | + Rolle Controller wird nun mittels Seeder angelegt + Mittels **artisan update:roles** lassen sich nun die Rechte aller System-Rollen jederzeit aktualisieren | Details |
| Speichern von Teilnahmezertifikaten in deren Administration wr nicht möglich | vue editor component did not access browser variable "prefill" and so it was not initializes with content - now content is directly passed into vue component | Details |
| fix missing certificate link in detail-box | + passed missing parameters to sub-template | Details |
| fixed default role modification for superusers | + standard role name is now readonly for superadmin users; for other users it is like it was before, it is disabled and readonly + checked that saving a default role will never modify its name | Details |
| Training assignment reportings | Details | |
| + applied utf-8 fix to second parameter that can deliver data to scorm api | kleiner SCORM-Fix | Details |
| + removed is_approved from user model | Aktuell kann noch die Checkbox gesetzt werden, dass Kommentare automatisch freigeschaltet werden. Diese wird nicht mehr benötigt. Bitte die Checkbox nebst dem zugehörigen Attribut entfernen. Bitte zusätzlich sicherstellen, dass die Kommentarfunktion komplett aus dem Code entfernt wurde. | Details |
| Feature/ll 179 merge category controllers | Details | |
| Feature/ll 210 derive learning time for content | + read learning time on a content from scorm manifest - if present + video duration now is send with file upload + SCORM-Upload does not create vue errors in some cases + link to uploaded content works now + deleting a content now deletes its resources + implemented round of estimated time with minimum of 1 minute | Details |
| LL-213 Aufruf von Contents aus dem Katalog heraus generell ohne API-Provider | + training_items.is_free default true + removed api provider in catalog view | Details |
| LL-205 | + made sure that client_id, organization_unit_id and groups are repopuladed if user creation fails due to validion error(s) | Details |
| LL-242 bugfix treeview | Aktueller Fix: * maximale Tiefe des Tree = 2 * Kapitel können genrell nicht mehr aus der Root-Ebene verschoben werden (ist relevant, weil die Tiefe de Tree bei leeren Kapiteln nicht griff) * beim Ablegen wird geprüft ob das Ziel ein Content ist; dann wird das Verschieben unterbunden Der Treeview-Selber hat einige Probleme: * beim Verschieben wird der pathTo geprüft; der ermittelte Knoten stimmt aber nicht immer. Beim Versuch ein Item in seinen nachfolgenden Knoten zu verschieben, wurde das (zu verschiebende) Item selber als Ziel ermittelt (weil sich die Positionen tauschen). Dieser Fehler konnte abgefanen werden, indem dann der Ziel-Index manuell erhöht wird. * wird ein Item ans Ende der Liste veschoben und hat der vormalige letzte Knoten Kindeelemente, erkennt der Tree das Ziel nicht und man kann nicht ziehen. Hierfür gibt es noch keinen Fix, da hierfür die Komponente selber angepasst werden muss. | Details |
| Feature/ll 235 move player config to training | + Umstellung aus myCompetence übernommen + Minimal-Mode aus myCompetence übernommen + Fehler korrigiert, so dass in der Katalogsicht Sessions geschrieben wurden und in der Lernersicht nicht (war gerade verkehrt herum) | Details |
| Dashboard and Subscriptions | Details | |
| added fix from myc | Details | |
| Feature/ll 304 checkout training from content server | Anbindung von Darwin an den Content-Server + Trainings des Content-Servers werden in der Trainingsadministration in einem Katalog aufgelistet und können eingesehen werden + Ein Training auf dem Content-Servers kann in Darwin hinein importiert werden | Details |
| + fixed logic error causing content progress not to be displayed | + fixed logic error causing the bug problem + fixed display of contents without modules | Details |
| Im Benutzerdatenblatt muss das Geschlecht "Divers" ergänzt werden | Alle Stellen, wo das Geschlecht verwendet wurde korrigiert | Details |
| + email address now is imported | + email address now imported + hide user import from none client users | Details |
| ll 129 password policy component | Details | |
| Feature/ll 247 refactor training supervisor | Beschreibung - [x] Keinen Betreuer im Trainings-Datenblatt definieren > Feld raus - [x] eigenes Recht als Betreuer zu fungieren: Das Recht Anfragen zu sehen qualifiziert einen User als potenziellen Betreuer (ggf. Rolle "Betreuer" hierfür anlegen) - [x] Betreuer für ein einzelnes Training macht wenig Sinn, Betreuer für Kategorien wäre besser - [x] es wurde für die Hauptkategorie kein Betreuer festgelegt => es werden dann alle Kategorien für die Ermittlung der Betreuer herangezogen - [x] Im User-Datenblatt wird unterhalb der Rollen und Rechte eine Option zur Auswahl der Kategorien (Selectize, Multi, mit 'X') angezeigt.). - [x] Anzeige des Betreuers am Training (Reiter "Fragen und Diskussion") - [x] Namen anzeigen "Ihr Betreuer für Kategorie X ist Herr Müller" / "Ihre Betreuer für die Kategorie X sind Herr Müller, Frau Maier" - [x] Relevant für die Anzeige ist nur die Hauptkategorie! - [x] Gibt keine dedizierten Betreuer im System wird statt Eingabefeld nur eine Info angezeigt "keine Betreuer, wenden Sie sich an Ihren Administrator". (Trainingsdetails) | Details |
| merged fix for race condition in scorm communication from MYC | in MYC hat das Marcel schon gemerged | Details |
| Feature/ll 148 sortable tables | Sortierung sollte jetzt so weit passen Stellen mit "TBD" wurde korrigiert Organisationseinheiten wurden um vollen Namen (incl. Parent Name) ergänzt | Details |
| Feature/ll 310 add permissions for reports | Die neuen Rechte werden beim Deploy-Vorgang mit eingelesen und der Rolle Mandant zugeordnet | Details |
| Anwendung der PasswordPolicy im Profil und im Benutzerdatenblatt. Wenn der… | Anwendung der PasswordPolicy im Profil und im Benutzerdatenblatt. Wenn der eingeloggte User kein Mandant hat, dann wird die Password policy aus der Config genommen. Der Strengthmeter wird nun durch die PasswordPolicy parametrisiert. | Details |
| New Subscription Structure | New Subscription based on the enhanced configuration + modified existing booking process, so that bookings can be done without credit point functionality | Details |
| removed everything about watchlist / bookmarked trainings | Details | |
| Feature/ll 282 improve user administration | Filter für Positionen und Abteilungen hinzugefügt bitte checken ob die User-Experience des Abteilungsfilters ok ist | Details |
| Feature/ll 373 combine filtering and sorting in training request administration | ☑ Wird sortiert, geht der aktuelle Filter, z.B. Status "alle" verloren. ☑ Zudem scheint das Datum falsch herum sortiert zu werden... ☑ Dann gab es die Sortierung nach dem Frage-Inhalt, was keinen Sinn macht. Diese Sortierung wurde im Template bereits beim Merge entfernt. Bitte im Controller ebenfalls entfernen, falls nötig. ☑ Letzter Punkt: es macht Sinn, neben "Darum" und "Status" auch nach "Training" und - der Vollständigkeit halber - "Benutzer" zu sortieren. + Sortieren entfernt nicht mehr die Filterung + Filtern entfernt nicht mehr die Sortierung + Sortierung nach User und Ttraining hinzugefügt | Details |
| Feature/ll 331 new booking ui | Details | |
| Feature/ll 207 align userdata and profile | Details | |
| Aus dem Recht Permmissions ist das Recht Roles rausgenommen worden Der… | Aus dem Recht Permmissions ist das Recht Roles rausgenommen worden Der ClientAdmin kann nun eine Rolle vergeben ohne damit die Einzelberechtigungen vergeben zu können. Der SuperAdmin kann beides. Der Mandanten-Admin kann nur Rollen vergeben | Details |
| Feature/ll 370 improve training requests | Alle drei Sub-Tasks umgesetzt ( http://jira.learningsystem.de/browse/LL-370 ) + Rückfrage am Training anzeigen + Notifikation bei Antwort + Trennung in eigene (Kategorie) und sonstige | Details |
| Die geforderte Eigenschaft in dem Katalog als getter Funktion eingefuegt | Details | |
| Feature/ll 244 improve dashboard layout | Details | |
| Feature/ll 386 unused permissions | Details | |
| Feature/ll 383 verify certificates | Habe die Änderung in User::trainingAssignments(...) die an Marcel gehen sollte zurückgenommen, und stattdessen die 4 Stellen wo User::trainingAssignments(...) verwendet wurde durch die Nutzung von User::assignments(...) ersetzt. Damit wird momentan angenommen, dass training_assignments.user_id immer gesetzt ist. Sollten wir das wieder fallen lassen, so muss User::assignments(...) erweiter werden. | Details |
| Feature/ll 399 booking for a day | Details | |
| LL-416: Add button to delete assignments | Details | |
| LL-394: Add shorten_ou helper method | Die neue Funktion heißt `shorten_ou` Wie die Funktion funktioniert zeigt sich am besten in dem Test: ```php $this->assertSame('Level 1 | ... | Level 4', shorten_ou($this->level4, 1, 1)); $this->assertSame('Level 1 | Level 2b | ... | Level 4', shorten_ou($this->level4, 2, 1)); $this->assertSame('Level 1 | ... | Level 3 | Level 4', shorten_ou($this->level4, 1, 2)); $this->assertSame('Level 1 | Level 2b | Level 3 | Level 4', shorten_ou($this->level4, 1, 10)); $this->assertSame('Level 1 | Level 2b | Level 3 | Level 4', shorten_ou($this->level4, 10, 10)); $this->assertSame('Level 1 | Level 2b | Level 3 | Level 4', shorten_ou($this->level4, 10, 0)); $this->assertSame('Level 1 | Level 2b | Level 3 | Level 4', shorten_ou($this->level4, 0, 10)); ``` | Details |
| Migration von external_id auf varchar(255) | Details | |
| LL-418 Onboarding | Details | |
| Feature/ll 379 new filter one submit | Details | |
| Rechte im Kontroller abfangen, zusätzlich zu einer Frontend Prüfung | Details | |
| Add training reminders to main menu and scope to clients | Details | |
| removed GTM from controllers and view-template | Google Tag Manager entfernt. Problem trat nur auf, wenn die Applikation im Produktion-Mode lief, weil dann der fehlender Authentication-Key bei Google anschlug. Der Service-Provider ist drin geblieben, genau wie die Bibliothek, da wir den GTM später wieder einsetzen werden. | Details |
| Feature/ll 425 update user datasheet | Details | |
| Feature/ll 384 crosscheck notifications | - Notifications werden nun sauber angezeigt - reminder Variante triggert jetzt N Tage nach Buchungsstart und nicht N Tage nach Content-Aufruf - Administration von Reminder-Templates für Mandanten fit gemacht | Details |
| Trainingssicht - Button "Download Certificate" ist mit keiner Funktion versehen | + added Certificate link + made sure no certificate link is available, when there is no valid subscription | Details |
| LL-417: Preload default permissions when creating a client | Details | |
| LL-426: Keep old tariff in case of validation errors | Details | |
| user import prevents import of formulas | Details | |
| show badge with training questions that are not answered and where I am responsible for | Details | |
| added validator not_in_other_client for email adddress in user import | Details | |
| adapted trait, so that superuser can create user with other client id | Vorarbeitung für LL-329 - Damit beim anlegeneines Users auch der richtige Mandanten-Kontext vorausgesetzt werden kann | Details |
| Feature/ll 329 notify new employees | Benachrichtigung über angelegte Benutzer (http://jira.learningsystem.de/browse/LL-329) Szenario 1: Wird ein neuer Nutzer von einem Super-Admin angelegt, wird der neu angelegte Nutzer - sofern er eine Mailadresse hat - über seinen Account informiert. Zusätzlich geht eine Mail / Notification an den / die Client-Admin(s). Szenario 2: Wird ein neuer Nutzer vom Client-Admin oder einem andern Nutzer mit entsprechendem Recht (per Rolle oder direkt) angelegt, wird der neu angelegte Nutzer - sofern er eine Mailadresse hat - über seinen Account informiert. Zusätzlich geht eine Mail / Notification an alle (anderen) Client-Admins dieses Mandanten, die über den neuen Nutzer informiert. Ausgenommen von dieser Mail ist der ausführende Client-Admin. Szenario 3: Wird ein Benutzer-Import ausgeführt (das mach nie der Superadmin) so werden die angelegten User nur dann informiert, wenn es in der Import-Datei ausdrücklich gewünscht wurde oder umgekehrt. Eine Benachrichtigung aller Mandanten-Admins unterbleibt. | Details |
| Verhinderung von Doppelbuchungen | - fixed booking period validation - giving much more feedback about booking result | Details |
| made sure when a superuser books for another client, that TrainingAssignment's… | made sure when a superuser books for another client, that TrainingAssignment's client_id is set to booked user ones | Details |
| removed column sorting from cms > content_blocks | Details | |
| Feature/ll 525 svn integration | Wenn SVN konfiguriert ist, können Lernbausteine vom SVN-Server importiert werden und nach dem sie importiert wurden aktualisiert werden. Damit die Anbindung funktioniert, muss das Komandizeilentool "svn" installiert sein | Details |
| LL-527 - SCORM Benutzer-ID mit Mandant-ID prefixen | scorm user id now is not "$user->id" but "$user->client_id#$user->id" | Details |
| Benachrichtigung bei Rückfragen zu einem Training | + when no supervisor for a training request is found, all users are notified, that are capable of being a supervisor + added missing internationalization | Details |
| Benchrichtigungen bei User-Änderung - Feature/ll 481 notify user on core data change | Wird bei einem User das PW geändert (später auch: Passwort wurde invalidiert) oder die Mailadresse angepasst, so soll eine Benachrichtigung an den betreffenden User gesendet werden Ebenfalls enthalten sind LL-482 und LL-483 | Details |
| Feature/ll 504 add cms hero banner | + Der CMS-Content-Block-Admin Bereich ist erweitert + der HeroBlock rendert ein Jumbtron - gemacht wird mit dem Hero-Block derzeit noch nichts | Details |
| set zize of trainings.external_id to 128 charactres and users.extrenal_id to 64 characters | 255 Zeichen sind m.E. zu lang für eine ID. Bitte für User und Trainings die externe ID auf einen kürzeren String (wie lang genau soll im Rahmen dieses Tasks besprochen und festgelegt werden) umstellen, dabei Inputs ebenfalls limitieren und die Imports ggf. anpassen. In der Unterweisungslösung finden sich für external_id derzeit Werte in folgender Größenordnung + trainings.external_id : 64 - 128 Zeichen + users.external_id_ : 32 - 64 Zeichen | Details |
| Feature/ll 532 fix vue picture input for none persistent objects | Generelle funktioniert jetzt überall (User, Page, Training) Klick (auch schon beim Anlegen) Was generell nicht funktioniert ist Drag&Drop. Das funktioniert auch nicht auf der Demo-Seite des Komponenten-Anbieters. Generell kann die Komponente auf die gedraggte Datei zugreifen, aber nicht in das Input-Feld schreiben. D.h. per Ajax kann ein gedraggtes Bild hochgeladen werden, aber nicht per Form-Submit. Das File-Input-Feld ist übrigens mit display: none unsichtbar gemacht. Wenn man es anzeigt, so kann man darauf erfolgreich Drag&Drop anwenden. Aber Drag&Drop auf dem darüber liegenden Canvas geht weiter nicht. | Details |
| Feature/ll 515 display password restrictions | Details | |
| Addition of Copy Button (optional) Reset Button is now optional | Details | |
| optimized billing process | clients default payment status is paid now, but cab be set manually to pending field next_billing_date is hidden now | Details |
| Feature/ll 541 buletproof user import | Rückmeldung von Uli Müller - Beim Benutzer-Import treten nicht abgefangene Fehler auf | Details |
| Fixed Bugs in Trainingsrückfragen | - changed link from training admin to catalog details - fixed category scope (using training_id instead of id) | Details |
| Feature/ll 487 persistent sidebar state | Details | |
| Feature/ll 494 ie bugs | Erster Teil der IE-Bugs. Behebt diverse kleine Fehler im Markup etc. und korrigiert die Dropdowns der Filter. (siehe Task-Kommentare in Jira) Einer der ursprünglichen Haupt-Fehler, dass der neue Kalender aufgrund von fehlenden JS-Funktionen im IE nicht angezeigtbesteht weiterhin. Dieser wird im kommenden Sprint in einem neuen Task behoben, aber die bereits vorgenommenen Anpassungen können schon jetzt gemerged werden. Der Task wurde im Jira nicht auf "in Review" gesetzt. Bitte im Kommentar vermerken, wenn dieser MR ok ist. | Details |
| Feature/ll 545 api for client generation and update | APIs zum anlegen und ändern von Mandanten breitgestellt (incl. Mandanten-User anlegen und Mandanten-Adresse setzen) API zum bereitstellen eines Tarifs für einen Mandanten | Details |
| Feature/ll 555 new mail texts | Details | |
| Added cookiebot - just add valid COOKIEBOT_KEY to .env and it shows up | Details | |
| invalid confirmation token does not lead to 404 error any more | Es war so trivial, dass im Code einzubauen, dass ich auf einen eigenen Zweig in Github verzichtet habe | Details |
| Feature/ll 565 check ou permissions on user import | + fixed notification exception + added permission check for groups, positions and organisation units + made the import job queuable | Details |
| Feature/ll 566 update to laravel 6 | Details | |
| Feature/ll 543 slugger pages | Details | |
| Feature/ll 393 upselling cards | Details | |
| Feature/ll 491 create to overview edit to datasheet | Details | |
| added catalog's upselling card | Details | |
| Feature/ll 573 visual feedback clipboard | Details | |
| Feature/ll 590 filling dataLayer | Objekte durch UGW abgenommen. aktuell sieht es beim Registrieren / Login wie folgt aus: ``` page: { platform: "unterweisung", language: "de", type: "auth", name: "login", action: "view", pageId: "unterweisung.login" } ``` bzw. ``` page: { platform: "unterweisung", language: "de", type: "auth", name: "register", action: "view", pageId: "unterweisung.register" } ``` Der User ist in beiden Fällen gleich: ``` user: { id: "d7b5f20b-4baa-47e4-a8fd-53d56e706d48", loginState: "no login status" } ``` Nach Absenden der Registrierung (leitet auf Login weiter mit Hinweis zur Mail): ``` page: { platform: "unterweisung", language: "de", type: "auth", name: "login", action: "uwp-registration-new", pageId: "unterweisung.login" } user: { id: "d7b5f20b-4baa-47e4-a8fd-53d56e706d48", loginState: "no login status", status: "new" } ``` Nach Aufruf des Bestätigungslinks (leitet auf Login weiter mit entprechender Erfolgsmeldung): ``` page: { platform: "unterweisung", language: "de", type: "auth", name: "login", action: "uwp-registration-verified", pageId: "unterweisung.login" } user: { id: "d7b5f20b-4baa-47e4-a8fd-53d56e706d48", loginState: "no login status", status: "verified" } ``` In beiden Fällen ist der User ja nicht angemeldet, so dass aktuell weder Rolle noch Plan ermittelt werden können. Die vorstehenden Aktionen werdne auch nicht per push hinzugefügt, sondern ergeben sich anhand der angezeigten Meldung bzw. des zugehörigen Status. Nach dem erfolgreichen Login sieht für den obigen Nutzer der DataLayer wie folgt aus: ``` page:{ platform: "unterweisung", language: "de", type: "app", name: "dashboard", action: "view", pageId: "unterweisung.app.dashboard" } user: { id: "d7b5f20b-4baa-47e4-a8fd-53d56e706d48", loginState: "logged in", role: "client-admin", accountType: "uwp-free-plan" } ``` Plan und Rolle werden hier direkt vom User-Objekt des Systems ermittelt. | Details |
| Feature/ll 478 redesign breadcrumb | Siehe auch Task-Kommentar: Für Desktop wurde die aktuelle Breadcrumb beibehalten und nicht wie im vorgeschlagenen layout zusätzlich zu einem "Zurück"-Button angezeigt. Dieser "Zurück"-Button ist nur für Mobile sichtbar und versucht das passende Ziel herauszusuchen: - zunächst der übergeordnete Knoten - hat dieser keinen Link werdne alle übergeordneten Knoten durchlaufen, bis ein Link gefunden wird. - sonst ist das Dashboard das Ziel | Details |
| Feature/ll 494 ie calendar bug | Details | |
| Feature/ll 458 add permissions for training assignment reminders | + added permission validation for training reminder administration + added training reminder to cronjob list + made sure reminder templates can be edited, if they contain blade varibles + added info about available variables | Details |
| Code-Qualität: Backendzugriff | + removed User::canAccessBackendMyTrainings() + removed User::canAccessBackendCatalog() + made sure User::canAccessBackend() only checks, user is active + made sure usage of User::canAccessBackend() is tested correctly in AdminUserTest.php | Details |
| renamed is_visible to only_visible | renamed is_visible to only_visible | Details |
| LL-430 remove myc checkout code | Alles zu Orders, OrderItems, Refunds, RefundItems, OrderNotifications, Invoices und OrderReports aus dem System entfernt | Details |
| Feature/ll 586 check rights for breadcrumb | Details | |
| moved dashboard code out of admin folder | Details | |
| Feature/ll dkv enabled system individual translations | Details | |
| Feature/update npm | Ursprünglich sollte nur brace aktualisiert werden... Aufgund der Verwundbarkeiten wurde jedoch ein komplettes Update in NPM vorgenommen. Nach diesem Update sind die vulnerabilities (npm audit) von über 400 auf 3 (alle low) herunter. Hierfür war ein Update von laravel-mix auf Version ^4 notwendig (dies allein behob 165 Verwundbarkeiten). Mit laravel-mix 4 musstne ein paar Änderungne und Korrekturen an vue vorgenommen werdne und der sas-parser separat installiert werden (oder auf sass-dart gewechselt werden). npm outdated liefert - abgesehen von laravel-mix und dessen Abhängigkeiten - nur noch Diskrepanzen in der Minor Version zum jeweils aktuellsten Package. ``` Package Current Wanted Latest Location axios 0.18.1 0.18.1 0.20.0 global cross-env 5.2.1 5.2.1 7.0.2 global flag-icon-css 2.9.0 2.9.0 3.5.0 global form-backend-validation 2.3.3 2.3.3 2.4.0 global imagemin 5.3.1 5.3.1 7.0.1 global laravel-mix 4.1.4 4.1.4 5.0.5 global resolve-url-loader 2.3.2 2.3.2 3.1.1 global sass-loader 7.3.1 7.3.1 10.0.2 global vue-draggable-nested-tree 2.2.20 2.2.20 3.0.0-beta2 global vue-js-modal 1.3.35 1.3.35 2.0.0-rc.6 global ``` MR gerne in Rücksprache mit @immigs erledigen. In Theorie sollte ein npm install alles korrekt aktualisieren. | Details |
| LL-558 rebuild layouts based on single skeleton | Details | |
| LL-420 code quality rename credit controller | Details | |
| LL-542 rework akkordion | Details | |
| corrected email validator, so that one can safely save users and profile | Speichern von Benutzern erzeugt immer wieder die Meldung, dass die Mailadresse systemweit einzigartig sein muss. Tatsächlich ist aber der aktuelle User der einzige mit der Mailadresse. Beim Speichern die Überprüfung dahingehend anpassen, dass der aktuelle User bei der Suche nach der Mailadresse nicht berücksichtigt wird. Profil kann auch nicht gespeichert werden (Test auf Staging mit meinem Account) | Details |
| LL-422 move correspondences | Details | |
| Feature/ll 590 anonymize ids | Details | |
| Feature/ll 594 datalayer add order | Details | |
| Notification contains title now and no exception is thrown any more | Habe dieses Feature irgendwie übersehen | Details |
| Use of mixins/trans, check if this is used. Check of texts without translation | Details | |
| client's users are now deleted in clients deleting hook | LL-557 - Löschen von Mandanten löscht nicht die zugehörigen User Da die User dann noch immer in der Liste auftauchen knallt es beim Versuch sie zu bearbeiten mit Server Error 500. Bitte zunächst den Server-Error beheben (try/catch). Bitte beim Löschen immer alle User des Mandanten ebenfalls löschen (soft-delete) | Details |
| added filter only buyable trainings to catalog search | Katalog: Neuer Filter "nur Verfügbare" Dieser Filter zeigt nur die Trainings bzw. die Kataloge, die nicht nur sichtbar, sondern auf kaufbar sind. | Details |
| Feature/ll 571 make polulated groups deletable | LL-571 Gruppen Löschen sollte auch dann funktionieren, wenn den Gruppen schon Benutzer zugeordnet sind aktuell ist es nicht möglich eine Gruppe zu löschen, so lange User dieser Gruppe zugeordnet sind. Zukünftig sollen diese Gruppen gelöscht werden können. Hierzu bitte einen Hinweis Anzeigen, dass X Nutzer der Gruppe zugeordnet sind und diese beim Löschen der Gruppe die Verbindung dauerhaft verlieren.Dieser Hinweis soll statt dem obligatorischen "Sind Sie Sicher?" erfolgen. Danach werden alle betroffenen Gruppen-Zuordnungen gelöst (dauerhaft) und die Gruppe gelöscht (vermutlich soft-delete). Ist umgesetzt Wir sollten nur sicherheitshalber nochmal darüber nachdenken, ob das irgendwelche Seiteneffekte hat. Sonst hätte ich das Richard zum Merge gegeben | Details |
| Feature/ll 550 extended registration | Details | |
| Feature/ll 598 fix missing hero banner for client admins | LL-598 Hero-Banner wird beim Mandanten nicht angezeigt. Hero-Banner wird beim Mandanten nicht angezeigt. Aufgefallen beim impersonate. gast und Superadmin gehen einwandfrei. bitte gleichzeitig Unit-Test anlegen für das Anzeigen und Bearbeiten des Hero-Bereichs. | Details |
| UX Upselling Tarif ausgewählt | Es fehlt hier eine Success-Meldung... Erst nachdem ich nach unten gescrollt habe, war mir klar, dass die Tarifauswahl geklappt hat. Wir blenden doch ansonsten immer die Meldungen in einer grünen Dialogfenster ein. + added flash message after successfull ordering a subscription + sorting client selectboxrs now | Details |
| Import Mail - reduce trigger cases | Die E-Mail hat laut Wolfgang folgenden Betreff: "Automatische Antwort: Administrator of system https://unterweisung.tuv.com/app has changed Your personal data" Diese E-Mail wird an bereits existierende User versendet, wenn sich wichtige Daten in Ihrem Profil geändert haben Ich würde vorschlagen, wir versenden die genannte E-Mail nur dann denn der Zeitpunkt der Datenänderung mindesten eine Stunden nach dem Zeitpunkt der Erstellung liegt. Dann wird die E-Mail nicht versendet, wenn ein User importiert wird und in der Import-Datei 2x drin ist, um z.B, mehreren Gruppen zugeordnet zu werden. Weiter sollte der Teilnehmer nur dann über die Änderung seines Passwortes informiert werden, wenn er schon ein gültiges Passwort hatte, also nicht wenn das Passwort zuvor leer war + added missing translation to mail and fixed typo + made sure, users are only informed about changes to their core data and not about initial data input + give 1 hour time of existance, before user will be informed about changes to his core data | Details |
| LL-415 Teil1: User-Datenblatt Liste Buchungen anpassen | 1. Spalte verfügbar kann raus. 2. Spalten verfügbar ab / verfügbar bis umbenennen in "Buchung ab" / "Buchung bis" 3. Kürzel nur als Superadmin anzeigen. + removed column "available" + renamed columns "avaliable ..." to "booked ..." + show provider code only to super admin. | Details |
| End date of a booking can be extended now | LL-189 Ändern der Laufzeit einer Buchung In Phase 2 müss die Laufzeit einer Buchung nachträglich geändert werden können Das Ende der Laufzeit einer Buchung kann nun verlängert werden. Sascha sollte unbedingt das gebaute UI checken und anpassen | Details |
| LL-178 Lokalisierung der Rollen | + localized role names as far as possible + fixed role sorting | Details |
| renamed difficult(y/ies) to level(s) | Ich habe vieles getestet, aber was die Level in Summernote tun weiss ich einfach nicht | Details |
| LL-346 Code-Qualität: "is_free" soll "can_preview" werden | + rename is_free to can_preview in training_items table Die Code-Logik für das Feld "is_free" wurde bereits komplett umgebaut und alles funktioniert einwandfrei. Für die bessere Code-Qualität soll nun noch das Feld in der DB und die zugehörige Eigenschaft am TrainingsItem in "can_preview" umbenannt werden. Auch alle Funktionen die mit dieser Eigenschaft zusammenhängen sollen entsprechend namentlich angepasst werden. | Details |
| Feature/ll 539 only hash slug for free client | LL-539 keine sprechenden URLs für Free-Kunden jeder neue Client erhält seine ID (Hash) als URL. ggf. macht es Sinn, die gehashte URL nicht in die DB einzutragen - es schadet nicht, wenn der Hash dauerhaft (zusätzlich) aufrufbar bleibt. Damit wäre das DB-Feld immer der individuelle Slug Das Eintragen/Bearbeiten der Login-URL benötigt zukünftig ein eigenes Recht. Der Client erhält das Recht per Abo-Konfig ab Basic. Der Client-Admin erhält das Recht standardmäßig. Für bestehende Kunden mit Abonnement muss das Recht nachgetragen werden (ggf. in der Migration). Der Slugger ist zwar immer sichtbar, die Eigenschaft zu editieren muss aber an obigem Recht hängen gibt es keinen individuellen Slug, wird der Hash angezeigt - ein Slug ist damit nicht mehr ein Pflichtfeld wenn der Kunde gerade ins Abo gewechselt ist, ist nach aktuellem Stand der Slug mit dem Hash vorbelegt. U.U. sollten wir den Kunden auf das neue Feature per Hinweistext oder (einmaligem) Popup aufmerksam machen... a) wir nehmen den slug Algorythmus von der Merkliste aus MYC b) wir nehmen die Slug-Vue Komponenten aber ohne Editieren Button, wenn das Recht fehlt c) serverseitig wird das recht zudem noch geprüft | Details |
| fixed sorting for clients, organization units and roles | LL-614 User-Liste: Filter Rolle und Sortieurng Rolle gehen nicht zusammen UserListe nach Rolle filtern und dann nach Rolle sortieren. Die Liste zeigt wieder alle User und alle Rollen an. Das eigentliche Problem ist die Methode UserRepository::orderByRelation, die macht Mist, wenn nach "Rollen", Mandanten, oder Organusationseinheiten sortiert wird | Details |
| Da die Liste aller User für Superadmins sehr lang ist und - bei Namensdopplung es etwas schwer ist, den richtigen Mandanten zu filtern, soll eine Möglichkeit her, vom Mandanten auf die gefilterte Benutzerliste zu wechseln. | + added link to all clients users + changed buttons to image link buttons | Details |
| Feature/ll 625 add permissions for user import and export only to clients with subscription | + adapted conf/subscriptions.php + added migration ro revoke user import and export permission from clients without subscription | Details |
| LL-388 Rechteset am Mandanten zurücksetzen | + added command to reset client permissions | Details |
| LL-605 Special Interest Kataloge - Kategorien | + only categories that are used in trainings, that are belong to catalogs, a user has accesss to, are displayed in category filter in catalog search + only available filtre in catalog search hidden in case the search is shown for my-trainings | Details |
| Feature/ll 559 fix certificate access | Details | |
| Feature/ll 620 set imported users as registered | + Benutzer werden beim Import jetzt als erfolgreich registriert geführt + Bereitgestellte Migration korrigiert bestehende Daten | Details |
| Feature/ll 622 preview vs booking | Details | |
| Feature/ll 536 add password expiration date | Passwörter müssen ablaufen können. Bitte Passwort um eine Gültigkeit in Tagen erweitern. Zusätzlich muss man im Benutzerdatenblatt ein Passwort direkt per Button invalideren können (gilt dann unmittelbar als abgelaufen). Abgelaufene Passwörter müssen vom User erneuert werden. Vorschläge hierzu werden erbeten. Wenn man einloggt und das Passwort ist abgelaufen, so wird ein Token erzeugt, man wird nicht eingeloggt (bzw. ausgeloggt) und man wird auf die Seite zur Neuanabe des Passworts geleitet. Ruft man die Seite zur Neuangabe des Passworts obgleich man eingeloggt ist, so wird man auf das Dashboard weitergeleitet Ruft man die Seite zur Neuangabe des Passworts ohneman eingeloggt zu sein so wird die Seite Präsentiert, wenn das Token gültig ist, ansonsten wird man auf die Loginseite weitergeleitet | Details |
| Feature/ll 508 adaption userlist user | Details | |
| Feature/ll 522 add resend user creation mail function | Details | |
| added button to generate password to user form | Details | |
| customer login site now checks if confirmation is already done | Details | |
| fixed potential error on creating hero block | Details | |
| Keine Info-Mail über Upselling an TRA | + added email address unterweisung.de.tuv.com to recipients for actions "creation" and "update" of subscriptions + added correct mail type to action "update" subscription + added mail sendind to new registration workflow | Details |
| LL-690 - Passwortgenerierung um Ajax erweitern | + added service to generate a password suggestion + one can create a password suggestion multiple times now for a user | Details |
| LL-688 - Benachrichtigung bei dauerhaftem Ausblenden onboarding | + added notification, if one permanently deactivates onboarding progress | Details |
| Feature/ll 632 new welcome dialog | Details | |
| DKV - added possibility to provide customer specific asset variations | added possibility to provide customer specific asset variations use flex_asset(...) instead of asset(...) where it is required place APP_MODE specific assets to resources/custom/[APP_MODE]/[PATH_IN_PUBLIC] not webmixer but you will do the rest | Details |
| LL-621 add app link to main menu | Siehe Jira | Details |
| Feature/ll 574 unify route variables | Details | |
| Passwortprüfung on the fly | Details | |
| LL-709 extended registration creator missing | Details | |
| Feature/ll 643 internal clients statistics | Details | |
| changed ScormApiTest, so that it does not throw any warnings any more | Details | |
| added zipcode and city to email for TRUST supervisror, when a subscription is created od modified | LL-728 PLZ und Ort in Abo-Mail n der Mail über ein neues Abonnement, die an die TRA geht, fehlen in der Kundenadresse noch PLZ und Ort. | Details |
| Ansprechpartner wird im Mandantendatenblatt angezeigt. Zum abgespeicherten gibt… | Ansprechpartner wird im Mandantendatenblatt angezeigt. Zum abgespeicherten gibt es ein Link auf das Benutzerdatenblatt. Der Ansprechpartner kann nicht gelöscht werden und seine Rolle auch nicht verändert werden. | Details |
| Feature/ll 699 empty rows may not break user import | Details | |
| added notification for expired not passed training assignments | LL-611 Mail-Info an Controller nach Unterweisungsablauf: Wer hat die Unterweisung nicht abgeschlossen? Unterweisungsmanager benötigen für Mitarbeiter, die ihr Training letztlich nicht gemacht haben eine Benachrichtigung (Einen Report sollte es auch geben) per Mail, so dass er Maßnahmen ergreifen kann Wenn der Client das Recht hat Abteilungen zu sehen und es auch eine Abteilung gibt, Einschränken, dass nur abteilungsspezifisch informiert wird | Details |
| Feature/ll 633 add tutorial tab | Video-Reiter hinzugefügt. In erster Linie Code-Review machen, da die Videos noch ncht fertig sind. Ein Test kann gemacht werdne, wenn irgendein Video mit korrekten Namen in dne Assets abgelegt wird... | Details |
| LL-514-restart-onboarding-done | Details | |
| LL-617 Enhance Client List | added new columns, set sorting options and reworked layout, including identifier for internal accounts | Details |
| fixed status 403 - redirecting to dashboard now | Details | |
| LL-721 improve group report | Details | |
| LL-648 overwork reminders | Details | |
| LL-726-Error-message-in-the-user-form | Details | |
| LL-716 added gtm and first events | Details | |
| only resetting client permissions if confirm true | Details | |
| LL-733-Show-subscription-type-in-subscription-list | Details | |
| hidden-variable ergaenzt, um die Anzahl der Benutzer weiter zu reichen | Details | |
| LL-723 Code-Qualität: HeroController | + removed hero block index + removed hero block show + fixed links + removed route tests | Details |
| LL-710 Nutzerprofil: Reiter "Training History" korrigieren | + added missing translations + added status expired, if assignment end is reached + hide button to training, if training is expired Gerne noch mit mir besprechen, was man sonst noch so alles machen könnte | Details |
| Added email and notification about successfull user import to all client admins | + added email and notification about successfull user import + tests without queue worker ok + test with queue worker ok | Details |
| LL-730 User Import Liste TRUST - mehrere Leerzeichen statt Wert führten zu Fehlern | apply trim to import data | Details |
| LL-609-Sorting_in_report_columns_should_be_possible | Details | |
| Feature/ll 705 auto assign contact person | LL-705 Automatische Zuordnung eines Ansprechpartners Das Anlegen des ersten Benutzers (mit der Rolle Client-Admin) über die Nutzer-Administration verknüpft diesen als Ansprechpartner mit dem Mandanten. Die Mandanten-Administratoren, die im Rahmen der Selbst-Registrierung angelegt wurden, sind entsprechend immer als Ansprechpartner verknüpft. siehe hierzu Konzept Punkt 4.3 (LL-624) | Details |
| LL-746 hide user id from none-superusers in groups user list | + removed column user id for all users except of superadmin + added column employee id after email + hide column position if user has no list permission on positions + default sort is now lastname not user id | Details |
| Filterung Mandanten: Sortierung mit Sonderfaellen im Repository | Details | |
| Feature/ll 704 create contact person on client creation | + Create contact Person from client form + if any contact person data is given but no email address then a modal dilaog is asking, if that person should be created | Details |
| LL-748-contact-persons-must-not-be-deactivated | Details | |
| Feature/ll 724 secure conact person in unser import | + user import will never remove Client-Admin role from from primary contact person + user import now can impoer field "Aktiv" + primary contact person cannot be set inactive by user import | Details |
| LL-695-groups-and-clients-remove_client_dropdown_for_update | Details | |
| custom language now taken from custom/[APP_MODE] | Details | |
| Feature/ll 760 add monthly price to subscription | LL-760 - Preis an die Subscription neues Feld "price_per_month" an der Subscription und in der DB. Funktion getPricePerMonthAttribute soll das Feld auslesen Funktionsweise der bisherigen Funktion als getTariffPricePerMonthAttribute hinzufügen Refactoring: alle Stellen, die noch selber in die config gucken auf tariff_price_per_month oder subscription->price_per_month umstellen. (Vermutlich sind alle aktuellen Stellen price_per_month, nur im Rahmen der Tarifanzeige wird das anders sein) Sicherstellen, dass professional bei tariff_price_per_month korrekt ist. Migration: alle Kunden mit dem aktuell gültigen Preis befüllen | Details |
| user report uses all users for diagram now | - Die Grafik und die Legende arbeiten nun auf allen Daten. - Die Liste nutzt Paging | Details |
| skip link to default start page in client context | Details | |
| LL-754: Redirect des eingeloggten Users von custom-login-page auf dashboard | Details | |
| redirect to client login page, if session expired | Details | |
| show only active client admin users in primary contact person select box | Details | |
| Feature/ll 762 new avatars | `npm install` notwendig, um die Vue-Komponente für die Avatare zu erhalten. | Details |
| added autofocus of input field in group and user selector panel | Details | |
| fixed error in test if client already has a primary contact person assigned | Details | |
| LL-749: In den Benachrichtigungen gibt es nun kein Link auf die Unterweisung… | LL-749: In den Benachrichtigungen gibt es nun kein Link auf die Unterweisung mehr. Im Blade wird der Fehler dennoch abgefangen. | Details |
| Atrributs-funktionen greifen auf eine gemeinsame Funktion zurück | Details | |
| LL-731 Fragen an Betreuer - E-Mail anpassen | + translated text + added linkt to answer form + made sure training title is available + added text, not to reply LL-731 Fragen an Betreuer - E-Mail anpassen Folgende Anpassungen sollten vorgenommen werden: Link zum System integrieren, damit sich der Betreuer einloggt, bevor er antwortet Hinweis-Text, dass man nicht auf diese System-Mail antworten kann Ersten Satz noch in DE übersetzen Variable :training muss bereitgestellt werden | Details |
| added language filter to catalog | Details | |
| make sure access to catalog ist validates and if not redirected to dashboard | Details | |
| Feature/ll 331 ui upgrade week47to49 | Minimal-Invasives Style-Update. Merge der Einfachheit halber über MR gemacht. | Details |
| Feature/ll 636 edit booking period | Details | |
| Feature/ll 743 extend subscription list | contains the following tickets: + LL-743 interner Betreuer am Mandanten + LL-763 Abo-Liste: Optimierung + LL-711 Anzeige "alter TEOX-Kunde" an der Subscription | Details |
| Feature/ll 707 divide client data into tabs | Details | |
| added filter internal to client list | Details | |
| added sortable and pageable list of trainings to catalog | Details | |
| LL-606 - Checkboxen Trainings-Datenblatt | + removed column trainings.is_buyable and adapted all affected code Checkboxen Sichtbar, Kaufbar etc. auf den Prüfstand stellen, wie das Konzept für Darwin sein soll Sichtbar ist mittlerweile in verfügbar umbenannt. Verfügbar bleibt, um ein Training aus der aktiven Ausführung in den aktiven Statistiken zu entfernen, z.B. bei rechtlichen Notwendigkeiten. Kaufbar wird ersatzlos gestrichen. | Details |
| Feature/ll 608 show none available trainings only in history and certificates | + not available but passed trainings are shown in user administration + adaptions due to TrainingAssignment now can always access its Training + dashboard - can access certificate for unavailable training + profile - cannot see unavailable training dataset if not passed + profile - can see unavailable training dataset if passed + profile - can acces certificate for unavailable training + made sure user can see trainings that have become not available in History and can access certificates for them + fixed broken routes in vue component | Details |
| provided tests that ensures that menu is present in critical pages | Bitte einen Unit-Test entwerfen, der für die drei User-Kategorien (Gast, Client-User und Super-Admin) prüft, ob außerhalb des internen Bereichs die Haupt-Navigation vorhanden ist. Zu prüfen sind: Home eine CMS-Seite Login und Register Bei Gast ist zu prüfen, ob zusätzlich die Button-Komponente angezeigt wird, bei angemeldetem Nutzer ob der Avatar sichtbar ist. Hintergrund ist der Folgefehler aus LL-753, bei dem auf CMS-Seiten fälschlich die Navigation verschwand. | Details |
| Feature/ll 715 webtrekk special attributes | Details | |
| Feature/ll 735 deconstructing tables | Details | |
| Feature/ll refactor training progress component | Details | |
| Feature/ll 781 generic salutation in abo mails | Details | |
| Feature/ll 580 question to supervisor timestamp | Details | |
| LL-563: Konfig-konstante für die Zeitzone des Servers ergänzt und Crons auf… | LL-563: Konfig-konstante für die Zeitzone des Servers ergänzt und Crons auf diese Zeitzone umgestellt. | Details |
| Feature/ll 114 rework content blocks | Zuordnungs-Formmular bitte noch schön machen | Details |
| Feature/ll 777 add search to subscription list | Details | |
| Feature/ll 787 revise rights names in the lang | ...\seventeenFresh\resources\lang\de.json Übertragen obwohl in den beiden zu ändernden Views "http://testgerlach.learningsystem.de/app/roles/create" und z.B. "http://testgerlach.learningsystem.de/app/roles/2" nicht vorhanden: "view-trainings": "Unterweisungen ansehen", "list-training-comments": "Kommentare auflisten", "edit-training-comments": "Kommentare bearbeiten", "delete-training-comments": "Kommentare löschen", "approve-training-comments": "Kommentare freigeben", "approve-user-comments": "Benutzer freigeben", "reply-training-comments": "Auf Kommentare antworten", Neu Aufgenommen list-content-server-trainings import-content-server-trainings list-svn-contents import-svn-contents list-hero-blocks create-hero-blocks edit-hero-blocks delete-hero-blocks | Details |
| Deaktivierte User in Kontingentberechnung berücksichtigen | + made sure one cannot reate more active users as allowed by subscription + made sure free account cannot create more than configured users + tesiting is done | Details |
| Mandanten-Datenblatt One-Click-Button zur Deaktivierung | + moved activation and deactivation of clients to quickbutton + in client form the is active field is disabled and only for information now | Details |
| Client-URL-Slug muss CMS-Seiten prüfen | made sure slugs are unique over clients and cms pages Der Slugger muss neben bestehenden Client-Slugs auch die bestehenden CMS-Seiten prüfen. Die umgekehrt Prüfung (CMS prüft auf Client-URL) muss auch implementiert werden. | Details |
| LL-795 Überarbeitung der Deaktivierung von Benutzern | + added quick buttons to activate and deactivate users + removed active field from user form + added info box text when + user limit reached + user is not active + user is contact person | Details |
| Feature/ll 792 improve deletion behaviour for TrainingAssignments | + provided vue component for a submit button with confirmation dialog + switched submit button in booking listing of a users administration to new vue component + one can delete training assignmnets now, if they are not passed + deletion of training assignments now comes with a descriptive text | Details |
| LL-693-Subscription-upselling-additional-address-not-optional | War gesetzt unter ...\resources\views\admin\clients\address\fields.blade.php Neu gesetzt unter http://testgerlach.learningsystem.de/app/clients/438/subscriptions ...\resources\views\admin\clients\subscription\fields.blade.php Zusätzlich gesetzt (wird nicht verwendet) ...\resources\views\admin\subscriptions\fields.blade.php | Details |
| LL-783-missing-translation | zusätzlich erledigt: Catalog updated successfully. Catalog deleted successfully. Tippen zum Suchen Catalog not found zusätzlich breadcrumbs erledigt: Meine Unterweisungen Katalog Benutzer exportieren Unterweisungen Kataloge Kategorien Unterweisungsanbieter Unterweisungen exportieren Lernbausteine Zielgruppen Content Blöcke Mandanten Erinnerungsvorlagen E-Mail-Vorlagen Schlagworte | Details |
| LL-785-learning-modules-display-language | Details | |
| Feature/ll 803 optimization training datasheet | - Preis kann auskommentiert - Kürzel (Developer-Code) nach oben sortiert - Checkbos "Auf Sitemap anzeigen" entfernt. Feld "enable_sitemap" wurde am Training komplett entfernt und die DB angepasst. Der Code in der Sitemap-Generierung wurde nur auskommentiert. ContentServerTrainingProvider wurde auch angepasst. | Details |
| added finegrained regexp for email validation to server side user form and user import | Details | |
| display "registration pending" under status, if user registration is not finished yet | Details | |
| LL-747-Role-constants | Mit Gregor so besprochen | Details |
| LL-798-Sorting-in-user-data-does-not-sort | Keine Spalten konnte sortiert werden... Mit Gregor besprochen Lange Ladezeit konnten durch die Userzuordnung behoben werden. | Details |
| Bugfix LL-804 & LL-805 | Details | |
| updated layout | Details | |
| Feature/ll 809 fix webtrekk order object | Details | |
| LL-774-Assign-now-button-unnecessary | Details | |
| LL-776-Renaming-training-method-getIsBuyableAttribute-to-getIsBookableAttribute | Die Methode wird nicht verwendet. Is Buyable in views ersetzt. | Details |
| LL-808-Adjustment-of-booking-feedback | Details | |
| Allow storage and selection of multiple organization units | Details | |
| LL-824-Training-variables-are-not-output-in-mail | Unter anderem wurden die Erinnerungsvorlagen angepasst | Details |
| Feature/ll 790 adfs | Details | |
| LL-801-training-queries | Details | |
| LL-740: Konfigurationsvariable fuer Support-Addresse eingefuehrt | Details | |
| LL-839-Include-sso-user-id-in-import | Details | |
| LL-729-Client-admin-download-collected-certificates | Details | |
| LL-802: Ein Filter kann in der Konfig eingeschalten werden und ein Ausdruck… | LL-802: Ein Filter kann in der Konfig eingeschalten werden und ein Ausdruck angegeben werden. Wenn der Filter aktiv ist, werden nur Mail, die matchen, durchgelassen. Wenn dann der Filterausdruck leer ist, wird alles blockiert. | Details |
| deleting training assignments for deleted clients | Details | |
| Feature/ll 836 check email uniq | Details | |
| LL-830-send-request-without-client-assignment-error | In der menu.blade wurde die Abfrage der Rechte auf der bestehenden Basis erweitert | Details |
| LL-842-layout-certificate-export | Details | |
| Feature/ll 641 update learning progress visualization | Details | |
| LL-854-expired-instructions-can-be-started | Details | |
| Feature/ll 856 add status icon support | Details | |
| max_allowed_users now becomes readonly, if selected tariff doas not limit this value | + selecting from basic to professionel and back to basic returns original max_allowed_users value + loading form with tariff professionel initially has field max_allowed_users readonly | Details |
| LL-849: Regel der Uniqueness für die Kontaktperson beim Erstellen eines Mandanten hinzugefügt. | Details | |
| LL-865: Wenn ein Mandant keine Abteilungen hat., dann knallt der OU-Report. | Details | |
| LL-840-text-in-registration-mail | Details | |
| LL-864-subscription-list-filter-support-no-longer-works | Details | |
| LL-862-contact-person-receives-registration-email-with-a-non-working-link | Details | |
| LL-793: Anpassung Buchung und Verlängerungen von Gruppenbuchungen | Details | |
| none superadmins with list client permissions can correctly see client user… | none superadmins with list client permissions can correctly see client user number (active/inactive) now | Details |
| added client_id to training_progress | added mayBelongToclient trait to TrainingProgress reverted changes prior made to fix this | Details |
| Feature/ll 868 fix ou removal from user | fixed frontend and backend code | Details |
| LL-863: Wenn das Feld sso_user_id, wie es im Mandanten konfiguriert wird, nicht… | LL-863: Wenn das Feld sso_user_id, wie es im Mandanten konfiguriert wird, nicht in den Attributen gefunden wird, die übergeben werden, dann wird dies nun richtig abgefangen, es wird eine entsprechende Info in die log-datei geschrieben. | Details |
| Feature/ll 826 extend report export data | Der Export des Benutzerreports ist für den Kunden nicht brauchbar. Der Export des Reports sollte enthalten welche Unterweisungen der User zugewiesen hatte und wie hier der Stand ist - Siehe OE Report TEOX Die Übersicht im System ist so schon in Ordnung, wenn die zusätzlichen Informationen dann im Export stehen | Details |
| L-734-refactoring-trainingAssignments | Details | |
| LL-858 add indeterminate to progress | Details | |
| LL-626-create-a-new-department-not-possible | Details | |
| Treeview | Dieser Merge Request zeigt alle Abteilungen in einer Treeview an. Abteilungen können über das Kontextmenu bearbeitet, angelegt und gelöscht werden.
image |
Details |
| Feature/ll 875 drop positions | Details | |
| Feature/ll 834 optimize subscription ui for client | Details | |
| Feature/ll 876 extend reports for head of department | Details | |
| LL-850-create-view-for-maintenance-mode | Details | |
| Feature/ll 879 improve organization unit membership view | Details | |
| Fixing Report errors told from Uli Müller | + fixed "not attempted" calculation in reports + fixed missing translation in reports | Details |
| LL-881 Report-Optimierung | Details | |
| LL-882-password-expiration-date-change | Details | |
| Feature/ll 871 ie warning | Details | |
| Feature/ll 844 voucher database | Details | |
| Feature/ll 890 differentiate inactivity modes | 1. Der Filter zeigt nun auch die Temporär inkativen User 2. Es wird beim Status-Wert zwischen Inaktiv und Temporär inaktiv unterschieden 3. Bei temporärer Inkativität wird der Zeitraum der Inaktivität angezeigt 4. Status Filter um "Dauerhaft inaktiv", "Temporär deaktiviert", "Registrierung ausstehend" erweitert | Details |
| LL-883 added message if no search result is found | Dieser Branch optimiert nur die Suche. Für das Ticket ist zusätzlich `LL-883--empty-states` relevant. Erst wenn beide OK sind, kann das Ticket in Jira geschlossen werden. | Details |
| Feature/ll 901 fix voucher inconsistencies | Details | |
| Feature/ll 902 extend user tests | LL-902 - Test: User can be created Letzte Änderungen haben (erneut) das Erzeugen von Usern geblockt. Bitte sauberen Test implementieren: User kann von einem Client-Admin für seinen Kontext angelegt werden User kann vom Client-Admin nicht für einen anderen Kontext angelegt werden. Superadmins können User anlegen gerne im Zuge dessen die Tests für OEs prüfen, anpassen und ggf. vervollständigen. Das Problem bei dem 404er beim Benutzeranlegen war, dass im Formular die Prüfung: @if(config('security.passwordExpirationDays')) aktiv war, dies aber beiden Tests nicht an ist, so dass der Fehler nicht getestet wurde | Details |
| LL-883: added empty state message to tree (on loaded and on refresh) | Task 2 von 3 zum Ticket | Details |
| LL-883: added alert when trying to delete unit with child | dritter und letzter Task zum Ticket | Details |
| Feature/ll 896 no sso password in mail | Details | |
| LL-900 Passwort Änderungsverhalten anpassen | when user sets his password by forgot password method the last password change date field is adapted now Wenn man die Mail "Account-Bestätigung erneut senden" an den User schickt damit dieser sein Passwort setzt, muss er nach erneuten aus- und einloggen sein Passwort nochmal ändern. Das ist eher Sinnfrei und sollte angepasst werden. Hier die Rückmeldung eines Kunden: nur zur Info: auf der TÜV-Seite scheint ein Programmierfehler vorhanden zu sein... Ich habe aufgrund der ersten TÜV-Mail wie gewünscht den Link geklickt und mit Eingabe meiner Mailadresse eine Passwortrücksetzung angefordert. Daraufhin kam eine zweite Mail mit einem weiteren Link, der mir die Eingabe meines gewünschten Passworts ermöglichte. Anschließend konnte ich mich im Unterweisungsportal umsehen und meine Daten anpassen. Bis hierhin alles hübsch und Ok. Beim nächsten Versuch, mich wieder anzumelden (nur wenige Momente später), wurde mir von der Login-Seite mitgeteilt, mein Passwort (also das gerade erst frisch vergebene) sei abgelaufen. Ich musste also wieder ein neues Passwort eingeben - und zwar ein anderes Passwort, weil das erst wenige Momente zuvor eingegeben Passwort damit verbraucht war und nicht wieder verwendet werden konnte. Das ist so sicher nicht gedacht und nicht richtig... | Details |
| LL-895-cms-extension-login-register-page | Details | |
| Feature/ll 886 Neuausrichtung Dashboard | Statt eines "starren" Dashboards für einzelne Rollen / Nutzergruppen, soll auf ein Dashboard für alle User, die kein Sysadmin sind, reduziert werden. Hierfür müssen alle Widgets, die den Nutzern des Mandanten zur verfügung stehen (sollen) entsprechend mit einer Prüfung versehen werden, ob sie angezeigt werden dürfen oder nicht. Diese Prüfung sollte nicht allein über die zugewiesene Rolle erfolgen sondern über die gleichen Rechte, die auch genutzt werden, um Zugriff auf die Module zu ermöglichen. Da einige Widgets erst durch ihre Verwendung im Template einer bestimmten Rolle zuzuordnen sind, kann es notwendig sein, neben den Daten, die Zugriffsrechte im Rahmen der Verwendung zu übergeben. | Details |
| Feature/ll 628 summernote code is always loaded | Details | |
| LL-825-use-support-dl-support@detuv-com-in-dashboard | Details | |
| LL-500-present-client-url-more-strongly | Details | |
| WIP: Laravel 7+8 Updates | Details | |
| LL-899: Benutzer aus einem Mandanten mit SSO werden auf die SSO-Seite… | LL-899: Benutzer aus einem Mandanten mit SSO werden auf die SSO-Seite umgeleitet. Nur die Kontaktperson kann über die Hauptseite einloggen. | Details |
| Feature/ll 905 json api core | API Spezifikation s. http://jira.learningsystem.de/browse/LL-810 Details zu jedem Endpunkt jeweils ein Kommentar API Umsetzung s. http://jira.learningsystem.de/browse/LL-905 Pro Endpunkt ein Kommentar mit einem erfolgreichen CURL-Aufruf | Details |
| LL 918: subscription status ändern | statt 'bezahlt' / 'nicht bezahlt' wird jetzt in 'Abonnement aktiv' / 'Abonnement ausgesetzt' unterschieden. Ansichten (Abo-Liste, Abo-Datein in den Client-Stammdaten) angepasst. Konstanten angepasst. Migrations-Skripte aufgrund der veränderten Konstanten korrigiert. Unit-Test und SubscriptionFactory nachgezogen. | Details |
| LL-911-deselected-introduction-cannot-be-restarted | Details | |
| LL-831-inbox-reply-button-leads-to-403 | Button "Antworten" der als Mandanten-Admin unter Benachrichtigungen zu sehen war obwohl der Fragesteller überhaupt nicht dem Client zugeordnet ist wurde entfernt. | Details |
| LL-912-dashoard-current-upcoming-trainings | Details | |
| Feature/ll 905 api fixes and addons | API: + resetpasswort -> muss der User sein PW beim ersten Login ändern? eingebaut "$user->password_changed_at = null;" in den Code. + gefundener Bug: einzeluser -> status liefert "Aktiv" statt "active" Optimierungen + UserListe -> Mail und ext.ID mit %Like% filtern + Gruppenliste -> name mit %Like% filtern + Gruppenliste -> has_active_users (bool) als Filter hinzufügen? | Details |
| + reactivated redirection administration | + readded permissions + readded translations | Details |
| + if a sso user tries to reset his password, he is redirected to sso login page | + if it is the client responsible user he still can reset his password | Details |
| LL-916-customize-slug-in-extended-registration | Details | |
| Feature/ll 903 add Tags to pages | LL-903 Verschlagwortung der CMS-Seiten Details Typ:Story Story Priorität:Must Have Must Have Lösungsversion(en): TR-U 3.9 StoryPunkte:1 Beschreibung Die CMS-Seiten sollen ebenfalls Schlagworte erhalten. Dementsprechend für die Liste der Seiten eine Spalte für Schlagworte hinzufügen (nicht sortierbar). Außerdem eine Filterleiste hinzufügen: Freitextsuche nach Titel und URL (ein Feld) und Filter nach Schlagwort (Multiselect, Selectize), Filter nach Status (Dropdown) | Details |
| LL-761-dashboard-su-revision | Bitte genauer auf Conversion Rate schauen | Details |
| LL-924: Abfangen, wenn es für einen Mandanten mehr als einen User mit der… | LL-916: Abfangen, wenn es für einen Mandanten mehr als einen User mit der gleichen sso_user_id gibt. (cherry picked from commit 2914b2db68d412579b7eff57b6be6ba39953cbee) | Details |
| added tag and search filtering to media | LL-922 CMS-Medien: Update Schlagworte | Details |
| LL-926-tags-module-optimization | Details | |
| LL-928-display-of-canceled-subscriptions-is-incorrect | Details | |
| Feature/ll 929 add user limit to pro subscription | LL-933 "erweiterte Registrierung: Pro (mit User-Limit) sicherstellen" ist mit drin | Details |
| Feature/ll 285 empty item after content upload | Details | |
| Feature/ll 923 client id sso user id uniq in users | Details | |
| change search to meili and write docs | Details | |
| Feature/ll 937 ustid is not part of the address | Details | |
| LL-934-separate-address-from-subscription-upgrade | Der Teil für die Rechnungsadresse folgt im Ticket LL-945 nachdem die Adressen im Ticket LL-940 migriert sind. | Details |
| LL-940 split address from subscription | + Normalisierung des Address-Datenmodells umgesetzt den Umbau des Address-UI macht Markus in einem anderem Zweig | Details |
| LL-949: SSO-Exceptions noch einmal gegengetestet. result->isEmpty statt… | LL-949: SSO-Exceptions noch einmal gegengetestet. result->isEmpty statt empty(result). Wenn der tenant-code im Client falsch war wird das nun abgefangen. UpdateCampaignRequest war eine Duplette. | Details |
| LL-694-catalog-as-overview-list | Kann soweit integriert werden. Anzeige von Einträgen pro Seite muss noch eingebunden werden. | Details |
| LL-939-extended-registration-button-does-not-respond | added MR for documantation purpose | Details |
| Feature/ll 934 unified adress controller | Details | |
| Feature/ll 953 normalize country and add selector | LL-953 - Input "Land" in Adresse durch Auswahl ersetzen | Details |
| LL-934 remove form from update | Details | |
| LL-935: update subscription ui | Details | |
| Feature/ll 938 subscription history | + subscription history + yearly payment_interval + tests | Details |
| Update composer packages and grumphp config | Details | |
| LL-935 dynamic feature table | Details | |
| Feature/ll 947 polish voucher module | Warum für den Voucher letztlich nicht eingetrgen wurde wer ihn eingelöst hat, konnte ich nicht ermittelm. Bei mir hat's immer funktioniert. DB-Inkonsistenz wurde manuell behoben Das Problem, dass beim Sortieren auf einigen Spalten Fehler kamen habe ich behoben | Details |
| made sure, in future one cannot have more than one training in a order | Details | |
| provided helper country_by_key($key) for country translation | Details | |
| LL-892 - Enter durchbricht neuen Registrierungs-Workflow | + prevent enter from leaving registration form if "back" is triggered by enter (added modal dialoge to make sure user really wants to leave) + added firstname and lastname to company address | Details |
| LL-954-notification-of-superadmins-via-flag | Details | |
| LL-956 - Externe ID für Clients | + Bitte am Client ein neues Feld "external_id" hinzufügen. Dieses Feld ist varchar und nullable. Hier soll die Orbisnummer gespeichert werden. + Bitte in den Stammdaten des Mandanten dieses Feld ausschließlich für Superadmins hinzufügen (gleiche Logik wie Bemerkungen). + Bitte bei der Migration das DB-Feld nicht einfach ans Ende anhängen, sondern im vorderen Bereich bei der ID einfügen. + made clients.external_id editable to superadmins + changed data model of clients.external_id to nullable and moved colum directly after id column + distinguish between users-external_id and clients.external_id in ClientController when creating client | Details |
| LL-950: Parameter RetrieveFromServer auf true gesetzt. Bei isarAerospace musste… | LL-950: Parameter RetrieveFromServer auf true gesetzt. Bei isarAerospace musste ich den Parameter auf true setzen, damit die Signatur des Logout-Response richtig verifiziert werden konnte. Der Gegentest mit CodeCentric funktionierte | Details |
| Feature/ll 944 validate vat id | Details | |
| Feature/ll 948 update confirmation email | Details | |
| Feature/ll 958 server error at abo upgrade | Details | |
| extended organization unit api | + search on *full_name* now uses like + provided search for "parent" + provided search for depth | Details |
| WIP: replace "Register""Try for free" | replaces "Register" button by "Try it for free" button and "Register now" link by "Free test now" link | Details |
| Feature/ll 971 redirect to client login on client context | Details | |
| LL-975-training-list-search-for-external-id | Details | |
| LL-969 rename register | Details | |
| LL-972: SSo-User koennen ihr Passwort nicht aendern. Nur die Kontatperson eines Mandanten kann dies | Details | |
| LL-962-txt-certificate-export-should-contain-pdf-file-names | pdf's wurden auf Wunsch auch umbenannt ... | Details |
| LL-696 extend client selectize | npm install --save @isneezy/vue-selectize wurde benötigt Sobald dies integriert ist können weitere client selects über aktueller Version angepasst werden | Details |
| LL-976: mit dem Attribute linkingToTitle kann man von aussen steuern, dass der… | LL-976: mit dem Attribute linkingToTitle kann man von aussen steuern, dass der Title von aussen kontrolliert wird. Wenn man den Slug zurücksetzt, wird das interne Attribute gesetzt. AllowModfication von String auf Boolean gesetzt. | Details |
| LL-973-send-training-notification-if-still-relevant | Details | |
| LL-979: Ein Title kann nun entfernt werden, in dem man das Attribut mit einem leeren String belegt. | Details | |
| removed space? | Hatte vergessen das einzuchecken | Details |
| LL-978-subscriptions-view-canceled | Details | |
| Feature/ll 963 orrganization unit bookings | * Buchungsprozess UI-seitig umgesetzt * Buchungslogik ist umgesetzt * Anzeige der Abteilungsbuchungen in der Abteilungsadministration beritgestellt ** Verlängern möglich ** Löschen möglich * Tests erweitert | Details |
| LL-981-provide-routes-in-all-vue-components-using-laroute-and-not-as-urls | FYI, info von Richard 'Im Slugger gibt es keine route mit festen Urls. Die Route um die Eindeutigkeit festzustellen, wird als Attribut übergeben und mit admin.clients.slug oder ähnlich geholt. ' | Details |
| Feature/ll 978 | Details | |
| LL-908-further-cms-status | Gregor, kannst du es testen und Sascha übergeben? Er hatte mich darum gebeten. Dieser ablauf ist mit ihm besprochen und freigegeben beim löschen und archiviren. z.B. falls die Seite 'sommeraktion-2019' gelöscht wird: Falls es diese redirects gibt sommeraktion-2018 --> sommeraktion-2019 sommeraktion-2017 --> sommeraktion-2019 würde diese dann automatisch nach '/' also zur Startseite gehen, also entsprechend: sommeraktion-2018 --> / sommeraktion-2017 --> / Falls es diese redirects gibt sommeraktion-2019 --> sommeraktion sommeraktion-2018 --> sommeraktion-2019 Dann würde entsprechend: sommeraktion-2019 --> sommeraktion sommeraktion-2018 --> sommeraktion daraus. | Details |
| LL-986: Temporaere Loesung um den Import von groesseren Dateien zu ermoeglichen… | LL-986: Temporaere Loesung um den Import von groesseren Dateien zu ermoeglichen Es wird parallel dazu eine Maximalanzahl von Benutzer festgelegt. | Details |
| LL-987: Anpassung der Config damit 2Faktor-Authentifizierung funktioniert. | Details | |
| Feature/ll 977 cancel subscription handling | Details | |
| + added table api_uses to log uses of api endpoints | + integrated api use logging to CheckApiKey middleware | Details |
| + info for superadmin, that subscription editing will not create new subscription | + link for superadmin to impersonate as client + when creating subscriptions in impersonate mode creator is the superadmin not the client | Details |
| LL-982-replace-strings-employee-and-head-of-division-with-constants | Details | |
| LL-986 set lime limt user import | WAITING | Der Code stellt sicher, dass der Client bei großen User-Imports sicher Rückmeldung erhält, dass der Importvorgang in die Queue gepackt wurde, selbst wenn der Nginx-Timeout Zeitpunkt überschritten wurde. Richard macht noch eine Anpaasung, dann kann das nach Gusto gemerged werden | Details |
| LL-994-user-export-department-and-position-missing | Details | |
| LL-992-expansion-of-the-list-views-number | Details | |
| Feature/ll 996 missing translations | Grund für die fehlenden Übersetzungen war ein Fehler im Handling der ausgewählten Sprache in der Session.` Ein Nutzer kann seine Sprache im internen Bereich umstellen. Diese Info wird in die Session geschrieben. Beim Abruf der Informationen wurde die Session immer erneuert (ggf. mit der Default-Locale bei Gästen). Dies führte dazu, dass Änderungen der Default-Locale nicht angezeigt wurden. Nun schreibt die Plattform die Sprache nur noch in die Session, wenn das Dropdown betätigt wird. Zudem liest die Middleware die Session nur noch bie angemeldeten Nutzern aus, so dass Gäste immer die Default-Locale erhalten. Zusätzlich wurde die Default-Locale in der .env verfügbar gemacht. Zum Test: Lokal eine CMS-Seite anlegen, die den Short-Code `{{ feature_table() }}` nutzt. Diese sollte - wenn man nicht angemeldet ist - in den Überschriften und in den Funktionsbeschreibungen die aktuelle Default-Locale nutzen (DE). Wird nun die Sprache in der .env umgestellt (Parameter `APP_LOCALE`), sollte die CMS-Seite nach einem Reload korrekt die Sprache wechseln. Als 2. Test kann - nach dem Anmelden - die Sprache über das Dropdown für den User geändert werden. Bei gleicher Session sollte das CMS diese Wahl respektieren. Da das CMS ansonsten keine Übersetzungen bereitstellt (also konkret bei der Preis-Übersicht die Kacheln nicht übersetzt werden), die hat diese 2. Funktion aktuell noch keine hohe Relevanz. | Details |
| LL-995 - Löschen von Trainings muss Zuweisungen mitlöschen | + extended dialog before deleting a training + do not delete passed training assignemts but all other when deleting a training | Details |
| LL-1005: Den globalen Api-RateLimit wert auf 300 hochgesetzt, so dass der… | LL-1005: Den globalen Api-RateLimit wert auf 300 hochgesetzt, so dass der apiRoute-Wert greifen kann. @gabrielg - inhaltlich passt das | Details |
| Feature/ll 1002 reminder template variable trainingurl with client | Details | |
| Feature/ll 1008 customer address missing in subscription mail | …\app\Notifications\ClientCreated.php $subscription entfernt Aufruf erfolgt beim Erstellen im Backend Anschrift kann nicht beim Erstellen im Backend eingetragen werden | Details |
| Feature/ll 989 classroom trainings | Folgende Features wurden umgesetzt: - [x] Eigenes Modul, eigenes Datenmodell, unabhängig von bisherigen Entitäten - [x] Verknüpfung mit den Usern des Clients - [x] Anlegen eines Offline-Kurses (durch Client-Admin) - [x] Mit Name, Datum, Liste :speech_balloon: zusätzlich "Gültig bis" bereitgestellt - [x] Bearbeiten von angelegten Offline-Kursen ist immer möglich - [x] Zuweisen von Mitarbeitern (durch Client-Admin, Trainingsmanager) - [x] Anhaken / Abstreichen der "Besucher" der Trainings (durch Client-Admin) :speech_balloon: habe es auch dem Trainingsmanager erlaubt - [x] Anhaken der Mitarbeiter als bestanden ( zusätzlich zu "besucht") - [x] Anzeige der Teilnahme am Mitarbeiter - [x] die Teilnahme ist kein Zertifikat / keine Teilnahmebestätigung! - [x] In der Liste am MA werden auch systemische Onlineschulungen angezeigt - [x] Button zur Schulung und / oder zu den Dokumenten - [x] kleiner Upload-Bereich zur jeweiligen Schulung - [x] Upload Teilnehmerliste (PDF) (unterschriebener Nachweis des Clients) - [x] Upload von Schulungsunterlagen (PDF) (max. 3 Dokumente, für den Anfang 2MB) | Details |
| LL-1003-user-import-update-further-department-with-position | Hier Entwarnung der import läuft sauber. Beim 1. Test war wohl die Zeile noch in der Warteschlange. Hier nur Text Änderung. | Details |
| user selector for searching group users now excludes already assigned users | Details | |
| Feature/ll 1012 translate permissions in selectize | Details | |
| LL-990-page-client-slug-check-is-not-unique | Details | |
| Feature/ll 696 multiline client selectize | Details | |
| LL-1011-mail-new-employee-account-has-been-created | …\resources\views\vendor\mail\html\header.blade.php Wurde angelegt damit generell die Verlinkung im Email-Header entfernt wird. Dadurch ist klar, dass die Clientlinks in den Mails auch verwendet werden. | Details |
| passed new subscription instead of old one to Mailer | Abo-Update: Mail enthält das vorherige Abo statt dem neuen | Details |
| added lorts of helpful messages end empty states | Details | |
| LL-1020-user-all-users-status-filter-registration-pending | Details | |
| LL-640 enhance booking slider | Alte Suche wurde durch eine Liste aller Entitäten inkl. Checkbox für Multi-Select ersetzt. Ursprünglich wurde diese Ansicht als 2 Liste geplant. Da die Infos aber redundant sind und es keinen Usability-Vorteil bringt (außer der Ladezeit der kompletten Liste), wurde auf die vormalige Liste verzichtet. Dieser Task enthält auch die Tickets LL-1015 (Empty-State bei ergebnisloser Suche) und LL-1016 (Spinner für die Liste). Die Abteilungs-Zuordnung listet noch alle Abteilungen als nicht hierarchische Liste. Der Umbau in einen Treeview erfolgt nachgelagert in LL-993. | Details |
| Feature/ll 1000 add client context to catalog | Details | |
| LL-1021-client-list-umber-of-users-sorting-incorrect | Details | |
| LL-1018-further-information-on-the-user-login | Details | |
| jobs that build up sessions and destroy them in the end now cannot pollute job… | jobs that build up sessions and destroy them in the end now cannot pollute job queue with client context any more ( e.g. in case of any exception ) | Details |
| LL-1027-training-questions-missing-translation | Details | |
| LL-1023-consolidation-client-context | Details | |
| Feature/ll 910 adaptation training queries number of new messages | Details | |
| + when shrinking a training assignment by deleting an order the field… | + when shrinking a training assignment by deleting an order the field training_assignments.notified_at is set to null, if new start date is in future | Details |
| LL-1025-classroomtrainings-conversion-file-upload | Diese Basis-Lösung wurde von Gregor geplant. Bitte prüfen ob dies zunächst ausreicht. Auf Basis dessen kann dann eine weitere Optimierung stattfinden. | Details |
| Feature/ll 1037 optional training items | + rebuild progress calculation and more + added "optional" badge | Details |
| LL-1039-client-alltrainings-are-displayed-in-the-employee-report | Details | |
| LL-1043-page-redirects-bug-optimization | Details | |
| Feature/ll 1038 classroom training reporting basic | nur die Anpassungen im Report | Details |
| LL-1022-versioning-for-content-blocks | Die bisher nicht Versioninierten werden in der ContentBlockübersicht in der Spalte Version mit dem Wert 0 angezeigt. Dises sollten vor der Bearbeitung erst gespeichert werden damit sie Versioniert sind. | Details |
| LL-1026 Content-Positionen auch korrekt bennen | Bei der Trennung von Content-Positionen (Platzhalter in den Templates) und Content-Blöcken (Inhalte) wurden die Platzhalter nicht umbenannt und heißen weiterhin content-block. Da die aktuelle Logik der Unterweisung für MYC übernommen werden soll, sollten wir vorab die Benennung (aktuell heißen beide content_block) korrigieren. Bitte die Platzhalter und die Inhalte unterschiedlich benennen (da man die Platzhalter an sich nicht im CMS verwenden sollte, die Inhalte aber schon). Vertauschen der Blöcke innerhalb einer Position per Drag&Drop funktioniert und das Ergebnis wird auch im Frontend so dargestellt | Details |
| LL-1034: Ein Hacken für das "erzeuge Redirect" wird nur gesetzt, wenn das Training verfügbar ist. | Details | |
| as model scopes are now available in repositories i removed duplikate scope… | as model scopes are now available in repositories i removed duplikate scope implementtion in UserRepository | Details |
| Feature/ll 980 gui to create update sso tenant | Details | |
| LL-1046-add-personnel-number-to-search-in-user-list | Die Such nach der Personalnummer ist schon möglich. Der Tesxt wurde in die de.json hinzugefügt "Search for First/Last name, Login name, Employee ID or Mail address": "Nach Vor-/Nachname, Benutzer-Login, Personalnummer oder Mailadresse suchen", und das blade ...resources\views\admin\users\search.blade.php angepasst. | Details |
| LL-1047-preparation_uniqueness_personnel_number_externa_ id | Details | |
| LL-1035 introduced password expiration days in client, for clients this field ist… | + introduced password expiration days in client, for clients this field ist relevant and not general config Bitte im Rahmen dieses Task zusammen mit Sascha Immig nochmal den Status Quo prüfen. Ziel soll es sein, dass der aktuell in der Plattform hinterlegte Zeitraum für das Ablaufen von Passwörtern (365Tage) die Standard-Einstellung für Clients ist. Der Client-Admin soll in den Mandanteneinstellungen die Dauer anpassen und aussetzen können. Zusätzlich soll weiterhin die Option bestehen bleiben, bei aktiviertem Auslaufen der Passwörter, einzelne Nutzer davon ausnehmen u können. (D.h.: wurde das Ablaufen clientweit deaktiviert, sollten die Radio-Buttons für die Nutzerspezifische Einstellung auch deaktiviert/ausgeblendet werden.) Direkt ein Szenario dass sich daraus ergibt: Kunde hat Ablaufen aktiv und nimmt einen User davon aus. Danach stellt er den gesamten Mandanten um. Auch wenn die Radios deaktiviert/ausgeblendet sind, werden die Infos am User nicht gelöscht. Reaktiviert der Kunde nun das Ablaufen wieder (Auf Mandaten-Ebene), werden alle MAs, deren Passwort alt genug ist, zur Neuvergabe gebeten. Der Mitarbeiter, der vorher ausgenommen wurde, wäre nun wieder / weiterhin ausgenommen und müsste sein Passwort nicht neu setzen. | Details |
| LL-1040 made sure assigned catalogs are not removed on subscription update | Nach dem Wechsel vom Basic-Abo zu Pro sind nur noch der Standard-Katalog und der Game-Katalog vorhanden. Die anderen optional buchbaren Kataloge sind verschwunden. | Details |
| Feature/ll 931 analyse kommando | Details | |
| LL-1028 removed duplicate function for creating object hash id in client model | Details | |
| LL-1031-revise-mail-text-registration-mail-english | Details | |
| LL-1042-link-editing-can-throw-error-exception | Details | |
| LL-1049-detect-and-prevent-redirects-chains | Details | |
| Feature/ll 1001 gui for api keys | Details | |
| LL-1054: optimized Initials for Avatar | Kleinen php-Block hinzugefügt, um Punkt und Unterstrich in der Mailadresse (als display_name) bei der Bestimmung der Initialen im Avatar zu ersetzen (wird aber nur vor dem @ ersetzt). um die bestehende Farbe der Avatare nicht zu ändern (diese basiert auf der Textlänge), wird weiterhin der komplette Benutzername übergeben, statt direkt der Teil-String. | Details |
| when a booking existed for a period far than 365 days ago, then booking ran into an exception | Details | |
| applied fixes according to LL-1052 | LL-1052 Wording beim Zuweisen von Unterweisungen (UGW 4.1.1) Der Zuweisungsvorgang wird im User Interface mit unterschiedlichen Begriffen beschrieben: „zuweisen“ / „zuordnen“ / „zubuchen“. Bei der Erfolgsnachricht wird neben dem Datum auch die Uhrzeit ausgegeben (was prinzipiell sinnvoll ist, um anzuzeigen, dass der letzte Tag noch vollständig zum Zeitraum gehört, aber auch mittels "einschließlich" erreicht werden kann). Im Hinweistext beim Versuch eine doppelte Zuweisung durchzuführen, weicht die Schreibweise des Datums von der sonst üblichen Schreibweise ab. Es sollten „zuweisen“ als einheitlicher Begriff und ein gleichlautendes Datumsformat verwendet werden. Zudem verzichten wir in der Meldung auf Herr / Frau: Headline: „Benutzer zuweisen“ (Screen 1) Erfolgsnachricht: „Max Mustermann wurde dieser Unterweisung für den Zeitraum vom 01.01.2022 bis einschließlich 31.12.2021 zugewiesen.“ (Screen 2) Fehlermeldung: „Max Muster wurde dieser Unterweisung bereits für den Zeitraum vom 01.01.2022 bis einschließlich 31.12.2021 zugewiesen.“ (Screen 3) Info zur doppelten Buchung: "Max Mustermann ist der Unterweisung bereits genau für den Zeitraum 01.01.2022 bis 31.12.2022 zugewiesen" (Screen 4) Andere Formen der Dopplung / Überschneidung äquivalent umsetzen. Anhänge | Details |
| Erweiterung Mandaten-Liste | + display tariff in client list + add tariff filter to client list Bitte die Spalte "Abonnement", die aktuell nur ja / nein ausgibt ändern: Bitte statt ja / nein den Abo-Plan (Free / Basic / Professional) ohne User-Limit anzeigen. Bitte den Filter entsprechend anpassen. | Details |
| LL-1069 - Anpassung Abo-Liste | Bitte die Liste der Abonnements anpassen: In der Spalte "Abonnement" nur die "echten" / gebuchten Abos anzeigen. Besteht eine abweichende Benutzer-zahl zum Standard, diese als Subzeile anzeigen in Verbindung mit "ehemaliger TEOX-Kunde" entstehen so 2 subzeilen. Bitte den Filter "Abonnement-Plan" anpassen, so dass nur noch die Standard-Limits gefiltert werden. Bitte auch "unlimited" als solches ausweisen (Wording noch besprechen) + display max_allowed_users from selected tariff in subscriptions list and display the difference from this value + adapted tariff filter to find e.g. clients with max 505 users under a basic tariff 500 filter | Details |
| switched package decalaration to fixed component in our github | Details | |
| Feature LL-1063 - Abteilungen mit Orders dürfen nicht mehr löschbar sein | Folgende Lösung wurde jetzt im Tree umgesetzt: 1. Die APIs wurden abgesichert 1. Der Löschbutton wird immer angeboten 1. Bevor der Löschvorgang ausgeführt wird, wird der User erst nochmal gefragt, ob er löschen will 1. Wenn der Abteilung weder aktive User noch aktive/eingeplante Orders zugeordnet sind und die Abteilung auch keine Unterabteilungen hat, so wird die Löschung ohne weitere Rückmeldungen durchgeführt 1. Wenn der Abteilung aktive/eingeplante Orders zugeordnet sind oder wenn die Abteilung mindesten eine Unterabteilungen hat, wird nicht gelöscht und der User erhält eine entsprechende Meldung 1. Wenn der Abteilung aktive User zugeordnet sind erscheint eine zusätzliche Anfrage, die das mitteilt und fragt ob man dennoch löschen möchte siehe http://jira.learningsystem.de/browse/LL-1063 | Details |
| LL-1079-error-message-on-staging | Ok, das lässt sich nachstellen. In dem Fall wenn ein User ein Training abgeschlossen hat und danach das Training dazu gelöscht wird erscheint diese Meldung. | Details |
| LL-1061 Umbau Kategorie-Filter auf multi-selectize (UGW 4.5.2) | Bitte das aktuelle select auf ein Selectize mit Mehrfachauswahl umstellen. Feld in dem Zuge auf den kompletten verbleibenden Platz ausdehnen (größere Screens). Zusätzlich, zur besseren Übersicht, die Kategorie an der jeweiligen Rückfrage in der Liste anzeigen. Option A: neue, sortierbare Spalte zwischen "Unterweisung" und "Rückfrage" Option B: als 2. untergeodnete Zeile unter der Unterweisung (text-muted, small) + turned category filter to multi select + added category list under training name in table | Details |
| LL-1065 - SetTimeout als Funktion | Für den Import, aber auch für andere Stellen haben wir eine Erweiterung des timeouts eingebaut. Es wird suksessive set_timelimit(30) ausgeführt Dies hat zur Folge, dass gleichzeitig der timeout auf 30 gesetzt wird. In der Oberfläche hat das keine Auswirkung, da nach dem letzten Aufruf die 30 Sekunden ausreichen. Wenn man den Import allerdings in einem Test ausführt, terminiert das phpunit, nach 30 Sekunden. Der Aufruf sollte in einen helper gekapselt werden, der die php config berücksichtigt. Besteht gar keine Zeitbeschränkung, dann wird nichts verändert, ansonsten wird im set_timelimit wird der config Wert verwendet. + wrapped set_time_limit function to helper and call it only in none cli mode | Details |
| Feature/ll 993 optimized training booking | Enthält nur die Optimierungen am jsTree (bzw. dessen vue-wrapper) und die Umstellung der Routen für den Abruf auf GET. Die ist die Vorbereitung für das Refactoring von search(), list() und all(), sowie für die Einbindung des jsTree in die Buchungsmaske (was eigentlich in LL-993 erledigt werden sollte). Dieser Zweig wurde den Einbau des jsTree vorgezogen, da diese Änderungen aktuell sinnvoll sind und nicht warten sollen ,bis alle Hürden am jsTRee beseitigt sind. | Details |
| Feature/ll 1057 use create instead of add on buttons | Details | |
| LL-1062-customization-user-data | Achtung löscht bis auf die Telefonnummern der 'Client_admins' alle weiteren neben ‘Benutzer’ auch die der User 'Controller', 'Unterweisungsverwaltung' und 'Demo Katalog'. | Details |
| Feature/ll 1075 add tests for subscription routes | + LL-1074 - Fehlende Tests für alle Routen rund um die Abonnements bereitstellen + weitere Route abgesichert | Details |
| Abteilungsvorgesetzte sollen in ihren Reports auch exportieren | head of department can do report exports Uli meine es wäre sinnvoll, wenn Vorgesetzte auch Zertifikate exportieren können! Soll das noch mit rein? Michaelas Ticket LL-1044 fordert explizit den ZertifikateExport für Vorgesetzte, also kommt es doch noch rein | Details |
| LL-1019-change-from-node-sass-to-dart-sass | verschlankte Version erstellt siehe LL-1019-change-from-node-sass-to-dart-sass | Details |
| LL-1019-change-from-node-sass-to-dart-sass | 1) rm -rf node_modules 2) rm package-lock.json 3) npm cache clear --force 4) npm uninstall node-sass 5) npm install 6) npm install --save-dev laravel-mix@latest 7) npm install --save-dev sass@latest npm install und npm run dev läuft bei mir local durch... | Details |
| Feature/ll 1038 classroom training reporting | Bitte noch genutzte Style-Tags eliminieren | Details |
| LL-1083-training-queries-on-dashboard-incorrect | Details | |
| Feature/ll 1073 super admin reporting module | http://jira.learningsystem.de/browse/LL-1073 Es wird ein Report-Modul für Superadmins benötigt. Im ersten Schritt werden einige statistische Auswertungen der Plattform vorgenommen. Der erste Report soll wie folgt aussehen: erfasst Buchungen je Unterweisung (Gesamt User / Nutzung per Mandant / Anzahl nutzende Clients) Auswertung nach Zeit-Perioden benötigt Export-Funktion in Excel ggf. ist ein Diagramm-Teil und ein Tabellen-Teil wie in den Kunden-Reports hier ebenfalls Sinnvoll. Folgendes sehe ich in der initialen Umsetzung vor: Filter: Zeitraum Abonnement-Modell Mandant Training Tabelle mit folgenden Daten Training Anzahl Buchungen Anzahl Buchungen / Anzahl Mandanten Anzahl nutzende Mandanten Anzahl Buchungen / Anzahl nutzenden Mandanten Grafik Balkendiagramm mit Training und der Anzahl Buchungen Zusätzlich noch einen Report bezogen auf ein Training die Nutzung über alle Mandanten | Details |
| LL-1009-instruction-statistics-dashboard-super-admin | Details | |
| LL-1090-server-error-for-all-users-with-active-filter | Details | |
| prevent possibility to doubleclick booking button, so one cannot submit booking… | prevent possibility to doubleclick booking button, so one cannot submit booking request twice as same time | Details |
| fixed drop of client context in catalogs when saving a client data sheet | Details | |
| LL-1068 Sichtbarkeit Kataloge | Details | |
| removed cmi.ext.student_dateofbirth from exposed SCORM API | Details | |
| Feature/ll 1041 changed discount computation | s. http://jira.learningsystem.de/browse/LL-1041 Rabatte sind nicht kombinierbar (neue wie bestehende). * Vielmehr gilt immer durch einen Gutschein gewährte Rabatt vor dem systemischen Rabatt durch den Zahlungsintervall. * Ein Gutschein sollte immer einen höheren Rabatt gewähren als der Jahresrabatt (das ist eine Anweisung an jene, die Kampagnen erstellen, der Code darf es voraussetzen) * Bei den Kunden wo neben einem Vouchers auch ein Jahresrabatt gegeben wurde, wird dieser als separater Jahresrabatt aufgeführt. Um hier zu hohe Rabatte für quartalsweise Zahlung bzw. nichtige Rabatte für das Jahres-Abo zu generieren, soll daher an der Kampagne zusätzlich zum gültigen Abo-Modell auch noch die Option einstellbar sein, ob Gutscheine für Quartals- oder Jahres-Abo gültig sind (oder beides). * Bitte analog zu den Optionen bezüglich der Abo-Modelle zwei Checkboxen für die vom Gutschein eingeschlossenen Laufzeiten hinzufügen. * Die aktuell im System bestehenden Gutscheine gelten für beide Laufzeiten (Migration). Für die Kunden zudem eine Anmerkung an der Buchung eines Abonnements hinzufügen, dass beim einlösen des Gutscheins nur dieser gültig ist und nicht zusätzlich zu etwaigen regulären Rabatten gilt. (Also, dass bei aktivem Gutschein, kein zusätzlicher Jahresrabatt gewährt wird). *Bitte beachten: Durch die Änderung in der Rabatt-Gewährung sollten wir einen Blick auf die Anzeige der laufenden Abos (Kunden-Sicht) werfen. Hier muss die Anzeige des gewähren Rabatts ggf. verschoben werden...* Tabelle subscriptions wird um die Felder payment_interval_discount_rate und regular_price_per_month. Damit sind alle preislichen Eckdaten zum Abo auch im Abo enthalten | Details |
| + made sure user import progress is client specific | + made sure a running import blocks further imports in a specific client + stop polling for import progress, when import is done + optimized ui messaging | Details |
| LL-1109: declare notice periods in subscriptions config | Die Kündigungfristen in der Subscription.php eintragen. Kündigungsfristen sind : 4 Wochen vor Ende des Quartals bzw. 3 Monate vor Aboablauf bei Jährlich Nur zu Info, Laufzeiten der Abos sind: Jährlich -> 365 Tage, kein Kalenderjahr quartalsweise -> 1. Re bis Ende des Quartals (anteilig), dann Quartalsweise (Kalenderjahr synchronisiert) | Details |
| LL-811-create-of-other-booking-route | Details | |
| LL-1088-notifications-remain-permanently-in-queue | Details | |
| Feature/ll 1099 extend campaigns for downgrade | Zukünftige Kampagnen sollen regulär nach einem Downgrade während der Laufzeit nicht mehr zur Verfügung stehen. Da diese Änderung nicht ohne weiteres auf die aktuellen Voucher übertragen werden kann, soll ein Flag "Downgrade erlaubt" an der Kampagne her (die bestehenden Kampagnen sind hier sind true, regulärer Default ist false) Ist "Downgrade erlaubt" true, wird ein genutzer Voucher entsprechend nach einem Downgrade für die restliche Zeit angewendet. Anderenfalls verfällt der Voucher einem Downgrade. Upgrades sollen weiterhin den Voucher für die restliche Zeit erneut anwenden. Unberührt davon ist der Wechsel in ein "ungültiges" Abo-Tier. es geht nur um das Behalten des Vouchers beim Ändern des Abos, nicht um das initiale Einlösen! | Details |
| LL-1103-mail-about-subscriptions-with-no-user-limit | Details | |
| LL-1116-adaptation-of-mail-text-info-mail-new-access-created | Details | |
| user export now supports filtering of data | LL-1106 - Abteilungsfilter beim User-Export funktioniert nicht Wenn man beim User-Export einen Abteilungsfilter setzt, wird dieser beim Erzeugen der Export-Excel-Datei ignoriert für Export die get Parameter der vorherigen Filterung übergeben. | Details |
| LL-1125: added missing refresh to get the newly added address | added missing refresh to get the newly added address into the mail. Also added the orbis number to the mail. | Details |
| LL-1119-mail-checkbox-also-for-client-admins | Details | |
| Feature/ll 1100 move subscription start date | !!! Bitte Layout in den Karten noch schön machen !!! Superadmins benötigen die Option den Beginn / Vertragsbeginn eines Abos anzupassen. Dies gilt sowohl für die Rück- wie Vordatierung. Hierzu muss folgendes möglich sein: ein zukünftiges Abo muss durch die Super-Admins manipulierbar sein im Hinblick auf dessen Start. Der Beginn des laufenden Abos muss weiter in die Vergangenheit datiert werden können (Daten zu spät im System erfasst) Der Beginn eines laufenden Abos muss weiter in die Zukunft datiert werden können (Abo wurde abgeschlossen, Vertrag wurde verschoben) Der Beginn eines vorherigen Abos muss ebenfalls in beide Richtungen umdatiert werden können. Daraus ergibt sich: Der Beginn eines zukünftigen Abos können nicht weiter zurückdatiert werden als den morgigen Tag. (Sonst wäre das geplante Abo ja das laufende Abo.) Der Beginn des laufenden Abo kann nicht über über das heutige Datum verschoben werden (Sonst würde es zu einem geplanten Abo.) Der Beginn eines historischen Abos darf nicht mit dem Start seines Vorgänger oder Ende seinem Nachfolger kollidieren (ein Tag Abstand) Wird der Beginn eines Abos verändert, verschiebt sich entsprechend das Ende eines vorherigen Abos auf den jeweiligen Tag davor. { 'historisch', 'laufend', 'zukünftig' } | Details |
| removed group report from heads of departments | Details | |
| Feature/ll 1121 suspension of subscription | Bitte sicherstellen, dass ausgesetzte Abonnements wie ein Free-Kunde behandelt werden. Die betrifft Kataloge, Mandanten-Limits Und zugriffe auf die einzelnen Module. Ein ausgesetztes Abonnement hat den Status Subscription::STATUS_SUSPENDED | Details |
| Feature/ll 1115 adaptation mail notification new access received | Neue Mail Beispiel: siehe Anhang account_create_update.html unter: http://jira.learningsystem.de/browse/LL-1115 Impressum Link - Nun immer im Footer | Details |
| Hotfix/3.14.6 | Details | |
| + fixed outdated route which removed organization unit from user | + added permission checks to that route + made sure delete button only appears for users that are member of organization unit and not only member in ancestor units | Details |
| Feature/ll 1141 prevent doubleclick on booking button | Details | |
| + added method authFormat(...) to Carbon class, which does the same as… | + added method authFormat(...) to Carbon class, which does the same as format(...) method, but respects auth()->user() timezone + replaced usage of method format(...) by authFormat(..) where necessary Es muss noch security aktualisiert werden. | Details |
| + downgrade calculation now compares base prices and not effective prices | + fixed display for max_allowed_users, when value means "unlimited" | Details |
| + added possibility to edit subscription price for superadmins | + fixed email footer for none client users + sorted permissions in user form + added null option in client select in user form | Details |
| Feature/ll 1051 unify password component | Bekannte "Probleme": hat die Komponente keine ID, kommt es beim mount() zu einer Exception. Hier muss das ansteuern der Passwort-Generierung von außen (siehe user.masterdata) angepasst werden. Eigener Task hierzu wird erstellt. | Details |
| LL-1148 added possibility to set start date for a subscription update | LL-1148 - neues Feature: "Abo-Umstellung ab" Neues Feld am Abo-Wechsel: neues Abo ab () nächstmöglicher Zeitpunkt (sofort oder Ablauf der Kündigungsfrist) () zum nächsten Zahlungslauf (nur Upgrade) () zum TT.MM.JJJJ (Kalender) Nächstmöglich ist Default die beiden ersten Optionen zeigen als Annotation das effektive Datum an freies Datum kann nicht kleiner sein als nächstmöglicher Zeitpunkt (Kalender Min-Date) | Details |
| LL-1116: updated text and added footer. | also restructured the lang file to get all mail related texts together. | Details |
| LL-1130: added created_at and number assignments to training selector in classroom training form | Bei den Präsenzunterweisungen können u.U Kurse, die als Äquivalenztraining angegeben werden sollen, aufgrund geänderter Inhalte mehrfach auftauchen können. Daher soll das Dropdown für die Auswahl um weitere Informationen erweitert werden. Vorbild für das UI ist hier das Mandanten-Dropdown (z.B. im Filter der Benutzerliste). Neben dem Namen der Unterweisung sollen folgende weitere Daten als sekundäre Zeile angegeben werden: Datum Erstellung Anzahl Buchung (nur Mandant) Sascha Immig : das wird eh nur im Mandanten-Kontext angezeigt oder ist hier gemeint, dass nur der Mandanten-Admin die Anzahl Buchungen sehen darf | Details |
| LL-1114 enhanced exisiting script to hide elements for contact person | changed radios on contact person, depending on clients expiry status; hid the whole block für the contact person if client has password expiry disabled; | Details |
| docs: add ActionButton to component | Details | |
| LL-1102 - Sprachvorgabe User | Die Sprachwahl des Users muss in Hinblick auf versendete Mails und Infos relevanter werden. Hierzu muss beim Anlegen des Users eine Sprache gewählt werden können. * Wenn nicht bereits vorhanden, in der DB die jeweils gewählte Sprache am User vorhalten. * Default ist DE * der Default-Wert kann über .env geändert werden * in den Nutzer-Stammdaten ein Feld für die User-Sprache hinzufügen * Dieses Feld synchronisiert sich mit der Wahl des Nutzers * Import um eine Spalte für die Sprache des Users erweitern. * Gewünscht ist hier eine DIN Ländersprachkennung (de/ en aktuell) * Die Sprache des Users muss - neben der Plattform - für die Sprache in Mails und Benachrichtigungen ebenfalls herangezogen werden. (Aktuell ist für die Sprache einer System-Mail z.B. die Sprache des Client-Admins, der die Mail anstößt maßgeblich.) E-Mail an mehrere User wird in Systemsprache gesendet nicht in User-Sprache das wird angegangen, wenn diese Mails auf Notification umgestellt werden | Details |
| feat: added search filter for assigned users in group overview | BREAKING CHANGE Now it is possible to search for user first/last name, employee ID or Mail address in the group section | Details |
| lang: added validation messages for de and en | additionally missing translations | Details |
| LL-1152 : sso bypass | Details | |
| Feature/ll 1060 unify and localize date time display | s. http://jira.learningsystem.de/browse/LL-1060 | Details |
| LL-1169: browser not supported feedback | Details | |
| translated user import ui | Details | |
| added edit button to client selector, so one can jump to client with one click | Details | |
| replaced route "admin.login" by route "login" | LL-1097 - Es sollte keine zwei sondern nur eine Login-Seiten geben http://jira.learningsystem.de/browse/LL-1097 | Details |
| added groups to both exports uf user report | + dramatically improved performance by reducing queries from about 1.600 to 19 | Details |
| LL-1224 - lang: en translation added and separate email translation file… | LL-1224 - lang: en translation added and separate email translation file inserted, docs: merge and extended mails and notifications into mails-notifications Add new translation files into lang/de/e-mail.php and lang/en/e-mail.php for all templates in …\views\emails\... Deleted old Template from myC orders/created.plade.php mails and notifications were merged into mails-notifications to avoid duplications. The data was sorted according to its type and the email template used for a better overview. The tables were extended by the used email template. | Details |
| added group filter to user administration for auth users with a client | Details | |
| LL-1117 - chore: updated reminders subject starts with erinnerung | Details | |
| LL-1172 - link to campaign in breadcrumb menu now points to edit form, if user… | LL-1172 - link to campaign in breadcrumb menu now points to edit form, if user has edit permission, else it points to show form | Details |
| LL-1131 superadmins can now edit onboarding texts via the cms -> onboarding blocks menu. | lang: remove unnecassary translation | Details |
| LL-1104 Phone number has been added to the client and is editable. Phone number… | LL-1104 Phone number has been added to the client and is editable. Phone number has been removed from the address | Details |
| LL-1173 test: check if client can see trainings in catalog. Check for - hotfix… | LL-1173 test: check if client can see trainings in catalog. Check for - hotfix for training search in myTraings and training assignment view - | Details |
| LL-1174 fix: Date format adjusted so that saving the fields -Inactivity starts… | LL-1174 fix: Date format adjusted so that saving the fields -Inactivity starts at- and -Inactivity ends at- is possible again | Details |
| Feature/ll 1175 archive and delete users | http://jira.learningsystem.de/browse/LL-1175 | Details |
| switched from twig 2 classes to twig 3 classes | http://jira.learningsystem.de/browse/LL-1176 | Details |
| LL-1177 - user admin form now shows flush messages after redirect, when user is deactivated | http://jira.learningsystem.de/browse/LL-1177 !!! Achtung - der Branch-Name hat die falsche Ticket-ID | Details |
| Feature/ll 1179 automatic removal of deleted users | s. http://jira.learningsystem.de/browse/LL-1179 | Details |
| LL-1163 participant responses | Participants can now respond to an answer in a training query. The supervisor and participants view for the training queries has been extended accordingly. Participant answers are recognizable via the parent_id of the training query and have the status default (like the training query) | Details |
| LL-1183 fix: Mail for the supervisor is now corrected in terms of content and more structured. | Details | |
| LL-1182 fix: Now the departments are correctly stored in the db | After integration in the live system, the incorrect names can be adjusted | Details |
| LL-1164 queries can now be published for participants per course | Details | |
| LL-1145 The button is now disabled after the first click and the participant receives feedback. | Details | |
| Feature/ll 1178 show trainings in client catalog | Details | |
| Feature/ll 1184 display error in department report | Details | |
| Feature/ll 1185 close xsrf threat | Details | |
| LL-1196 fix: Now the groups are correctly reported without temporary Inactive users | Details | |
| LL-791 – Dynamic Subscription and Plan Settings | Im Backend können nun mehrere Tarife angelegt und gepflegt werden:
image
An einem Tarif können anschließend die mehrsprachigen Texte gepflegt werden, sowie alle Inhalte die bisher in der Konfiguration zu finden sind.
image
Die Feature Tabelle kann im Backend gepflegt werden und an einem einzelnen Feature kann per checkbox der Tarif gewählt werden für den dieses Feature als aktiv angezeigt werden soll:
image |
Details |
| LL-1199 inactive users are now filtered out in the assignment list | Details | |
| Feature/ll 1201 assignment via catalog inactive users are assigned via department | Details | |
| Feature/ll 931 import checks | Details | |
| Feature/ll 1159 is custom price | Details | |
| LL-1202: fix: the dates of the groups and departments are now correct | Details | |
| Now the date can be selected independently of the end date. With the condition… | Now the date can be selected independently of the end date. With the condition that it is one day later than the start date. | Details |
| improve memory and performance for checks | Details | |
| Feature/ll 1187 supervisor permission core | Konzept und Umsetzung, damit Vorgesetzte konfigurierbare Rechte erhalten können. geplante Rechte: * (/) Unterweisungen buchen (default:true) -> beinhaltet auch das Löschen von zuweisungen * (/) Nutzer anlegen (default: false) -> wäre am Besten inkl. Löschen * (/) Nutzer bearbeiten (default: true) * (/) Nutzer exportieren (default: false) -> schon mal vorsehen, Feature kommt. * (/) Reports ansehen (default:true) * (/) Reports Export (default: true) _weitere Rechte folgen_ * (/) Die Einstellung gilt immer clientweit für *alle* Vorgesetzten. * (/) Einstellungen können von Client-Admins in den Mandanten-Einstellungen vorgenommen werden. * (/) Änderungen benachrichtigen den Ansprechpartner. | Details |
| LL-1206 fix: now we have all subunits | Details | |
| LL-999 head of department functions, database entries and const renamed to organization supervisor | Details | |
| Feature/ll 1078 provide pageable table component | LL-1078 - Trainingsliste im User-Datenblatt nachladen s. http://jira.learningsystem.de/browse/LL-1078 | Details |
| LL-1212 Integration of customer notifications for version changes | Details | |
| LL-1067 fix: fixed wrong email feedback and translated finished texts | Details | |
| Feature/ll 1180 automatic removal of deleted clients | LL-1180 - Dauerhaftes Löschen von Mandanten s. http://jira.learningsystem.de/browse/LL-1180 Details folgen! Notizen: haben wir überhaupt soft deletes? brauchen wir soft deletes? wir haben soft deletes und es sind schon über 218 Mandanten soft gelöscht, das macht auch Sinn, da zwei falsche Klicks sonst zur Katastrophe führen würden Löschung durch automatischen Lauf (bei soft delete nach 30 Tagen) Müssen wir für uns was sichern? Abohistorie etc? das wäre rechtlich geraten, da ja Kunden das Recht haben ihre Daten nach Vertragsende mitzunehmen Es war mal im Gespräch, eine Archivierung für den Mandanten zu entwickeln. Hierbei sollte nach der Kündigung der Mandant in den Zustand "in Abwicklung" überführt werden. "in Abwicklung" kann man keine Unterweisungen mehr durchführen oder buchen, keine Nutzer anlegen etc. es können nur noch Daten gesichert werden. Der Zustand "in Abwicklung" würde nach 30 (oder 60) Tagen automatisch in die Schließung und Löschung münden. Die Archivierung eines Mandanten könnte so ähnlich laufen, wie die Archivierung eines Users. wir erzeugen für jeden User die Daten der Einzel-Archivierung Benutzer-Steckbrief in HTML mit links auf die Teilnahmezertifikate des Users für jedes Training das von einem Mitarbeiter bestanden wurde Eckdaten des Trainings Liste aller Absolventen mit Links zu separaten Teilnehmersteckbriefen für jede Gruppe Eckdaten der Gruppe Liste aller Mitglieder mit Links zu separaten Teilnehmersteckbriefen für jede Abteilung Eckdaten der Abteilung Liste aller Mitglieder mit Links zu separaten Teilnehmersteckbriefen für den Mandanten Einen Mandanten-Steckbrief mit Mandanten-Stammdaten Kontakt-Person zuständiger Support-Mitarbeiter Adresse Liste Aller Gruppen mit Links zu separaten Gruppensteckbriefen Liste Aller Abteilungen mit Links zu separaten Abteilungssteckbriefen Liste Aller Mitarbeiter mit Links zu separaten Teilnehmersteckbriefen Liste Aller Trainings, die von Mitarbeitern in dem Zeitraum bestanden wurden Erledigte Anpassungen am Datenbank-Modell Tabelle.Feld Ist Soll addresses.client_id on delete restrict on delete cascade api_keys.client_id on delete restrict on delete cascade api_uses.client_id on delete cascade catalogs.client_id on delete restrict on delete cascade classroom_trainings.client_id on delete restrict on delete cascade client_catalogs.client_id on delete restrict on delete cascade client_training.client_id on delete restrict on delete cascade correspondences.client_id on delete restrict on delete cascade groups.client_id on delete restrict on delete cascade hero_blocks.client_id on delete restrict on delete cascade mail_templates.client_id on delete restrict on delete cascade media.client_id (nullable) on delete restrict on delete cascade orders.client_id on delete restrict on delete cascade organization_units.client_id on delete restrict on delete cascade pages.client_id on delete restrict on delete cascade participation_certificates.client_id on delete restrict on delete cascade password_resets.client_id on delete restrict on delete cascade reminder_templates.client_id on delete cascade roles.client_id on delete restrict on delete cascade subscriptions.client_id on delete restrict on delete cascade training_assignments.client_id on delete restrict on delete cascade training_progress.client_id on delete cascade training_reminders.client_id on delete cascade users.client_id on delete restrict on delete cascade Zu der Frage "brauchen wir soft deletes" -> Wenn ein Status in Abwicklung hinzukommt, passiert eben nicht die Katastrophe, weil es nicht mehr möglich ist, einen Mandanten direkt zu löschen. Aber rein aus administrativer Sicht, müssen wir nicht jeden Mandanten abwickeln, sondern eher Fehleinträge löschen. Daher bleibt es bei den soft deletes. Das führt mich dazu: wenn ein SuperAdmin einen Mandanten löscht, sollte der direkt in den Zustand gelöscht übergehen und nach 48+h per pruning weg sein. Wenn ein Kunde seinen Account kündigt, muss es diesen Abwicklungs-Zeitraum von 30 Tagen / 4 Wochen geben. Mandanten implementieren nun Prunable und ich habe auch diverse Mandanten prunen können Sascha Immig Eine erste Version für die Archivierung von Mandanten ist nun umgesetzt. Es muss aber noch genau spezifiziert werden, was alles passieren soll, wenn ein Mandant archiviert wurde Folgendes passiert bereits. Mandanten-Archiv wird erzeugt und allen Mandanten-Admins werden darüber informiert. Alle User ohne eine Rolle werden im Mandanten deaktiviert Der Mandant verliert das Recht User zu bearbeiten (Aktivieriung nicht mehr möglich) ein Cronjob löscht den Mandanten automatisch, nach 4 Wochen an einem Arbeitstag Mandant und Betreuer erhalten bezüglich des Löschens eine E-Mail Wo überall und wie soll angezeigt werden, dass der Mandant gekündigt wurde - momentan wird das in der administrativen Liste der Mandanten unter der Spalte "Aktiv" angezeigt benötigen wir einen Filter auf der Eigenschaft "gekündigt", wenn ja dann wo überall - momentan kann in der administrativen Liste der Mandanten im Status-Filter "In Löschung" gewählt werden Buchungsrecht entziehen keine Abos mehr abschliessen | Details |
| Feature/ll 1191 optimization employee archiving | Details | |
| Feature/ll 1213 fix urls in assignment notifications | LL-1213 - Falsche URLs in der Info-Mail an Teilnehmer über zugeordnete, aber noch nicht bestandene Trainings Folgende Links waren enthalten aber falsch: * https://unterweisung.tuv.com/app/my-trainings/unfallpravention hier fehlt der Client-Parameter * https://unterweisung.tuv.com/app/my-trainings/arbeiten-im-buro-einsparpotentiale hier fehlt der Client-Parameter * https://unterweisung.tuv.com/app/catalog/unfallpravention?client=dKxPDg4j3R hier ist zwar der Client-Parameter angehängt, aber die URL führt zum Katalog und nicht zum Training * https://unterweisung.tuv.com/app/my-trainings/unfallpravention dem Link hinter dem Button fehlt der Client-Parameter | Details |
| fix assignment end date is displayed correct in admin user datasheet | Lernmanagementsystem 17 - LL-1186 - Anzeige Bearbeitungszeitraum inkorrekt + checked, that assignment end date is displayed correct in admin user datasheet + fixed display in training assignment feedback | Details |
| fixed memory overuse in employee and user report | http://jira.learningsystem.de/browse/LL-1209 500 Fehler beim Export von großen Datenmengen | Details |
| Feature/ll 1214 optimize import checks | Details | |
| Feature/ll 1215 use finegrained supervisor permissions | Lernmanagementsystem 17 - LL-1215 - Vorgesetzten Rechte / Features aktivieren | Details |
| fixed problem when extendable-date-vue-component is rerenderd after property… | fixed problem when extendable-date-vue-component is rerenderd after property change, than it kept internal the former state variables, so displayed date was the one before rerender LL-1229 - Benutzeradministration --> Buchungsliste erheblicher Anzeigefehler in Hotfix 3.19.2 gefixt das Problem lag in der genutzten Sub-Componente ExtendableDate.vue. Wurde ein Property geändert, so wurde die Komponente zwar neu gerendert, aber sie die Laufzeitdaten aus der data() Funktion blieben erhalten. Das ist zwar im Allgemeinen erwünscht, aber nicht im Fall, dass die Komponente für ganz andere Objekte verwendet wird. | Details |
| LL-1221 integration of rebrush phase one | Branch läuft auf LL-1132, da die Arbeiten schon älter sind als das Integrations-Ticket LL-1221. Bitte wenn der MR i.O. ist Ticket LL-1221 in Jira schließen, nicht LL-1132. | Details |
| Feature/ll 1188 local fonts | Hinweis zum Test: es wurden aus dem Frontend alle verweise auf google-Fonts und fontsawesome entfernt. Roboto wird lokal gehostet und fotnawesome wurde durch SVGs ersetzt. Dies bedeutet jedoch, dass die Seiten im CMS nachgezogen werden müssen. da zum Livegang jedoch der Inhalt nochmal angepasst werden wird, kann zum aktuellen Zeitpunkt keine Migration o.ä. geschrieben werden. Für die Anpassung am CMS wurde ein separater Task (LL-1232) erfasst. Wichtig ist für diesen Task, dass a) das Frontend keine externen Schriften mehr einbindet b) das Backend noch alle Icons besitzt (Menü, Buttons, Detailansicht des Trainings...) | Details |
| Feature/ll 1220 modification homepage hero | Details | |
| LL-1225 add shared_mailbox for users | Added shared_mailbox for users, now users can also receive emails via shared_mailbox if they don't have their own email | Details |
| Feature/ll 998 all users view for users with the supervisior role | User with role Controller (have permission LIST_ORGANIZATION_UNITS) can choose all organization_units in users table filter Add filter vor supervisior’s with more then 1 organization_units | Details |
| LL-1208-alternate-logos-by-language 1210 | info: copy resources\img\flag folder to public\images\ | Details |
| LL-1134-replace-the-deprecated-js-lib-noty-with-toastr | rm noty (with notifications/index.js), install toastr and modify toastr class .toast-top-right | Details |
| Feature/ll 1189 classroom training note on use | Details | |
| LL-1200 Departments are now also considered for training supervisors. These will be… | Departments are now also considered for training supervisors. These will be notified first depending on the categories they are in charge of. | Details |
| Changes the trademark logo depending on the language | Details | |
| LL-1249-mail-address-at-contact-person-must-not-be-removed | Details | |
| LL-1142 replaced selected noty messages with toastr messages | Details | |
| LL-1243 after activation, users are now assigned missing trainings of the groups and departments | additionally fix: missing user limit message, added as toast message | Details |
| LL-1239 added missing permissions to RolesAndPermissionsSeeder | Details | |
| Feature/ll 1234 fix certificate export filters | http://jira.learningsystem.de/browse/LL-1234 LL-1234 Zertifikate exportieren mit Filter geht nicht Zertifikate exportieren mit Filter nicht möglich. Wenn ein Filter gesetzt wird für eine Bestimmte Unterweisung und man dann auf Zertifikate exportieren klickt, dann werden trotzdem alle Zertifikate exportiert und nicht nur die von der gewünschten Unterweisung Generell sollte ein Hinweis mit eingefügt werden das der Export und Versand der Mail ca. 2-3h dauern kann, je nachdem wie viele Zertifikate es sind. | Details |
| + added possibility to show clients in extinction in client and subscription list | http://jira.learningsystem.de/browse/LL-1248 + added possibility to show clients in extinction in client and subscription list + changed layout of clients in extinction in client and subscription list --- Bitte die Mandanten die in Abwicklung sind in der Mandanten-Liste kennzeichnen (z.B. andere Schriftfarbe, äquivalent zu internen Mandanten). Filter-Leiste erweitern, dass man Mandanten in Abwicklung ein- und ausblenden kann. Mandanten in Abwicklung sind standardmäßig ausgeblendet. ergibt sich aus LL-1240 | Details |
| Now the organization-units are sorted by full name and displayed in the same way in the index pages | Details | |
| LL-1230 fix: now the internal customer data, shown in the client dashboard, is… | LL-1230 fix: now the internal customer data, shown in the client dashboard, is only hidden for super admins | Details |
| fixed problem in certificate generation, when user is set as deleted, but not… | fixed problem in certificate generation, when user is set as deleted, but not removed from database yet | Details |
| Feature/ll 1198 notification to supervisor on open trainings | Details | |
| LL-1224 subscription cards and history has been improved for discounts and prices | Details | |
| Feature/ll 1244 delete of organizations | Details | |
| LL-1251: Bei den Fehlermeldungen wird nun die richtige Zeilennummer hochgezählt | Details | |
| LL-1257 Unit ID Column removed from table, table sorting by OrganizationUnit… | LL-1257 Unit ID Column removed from table, table sorting by OrganizationUnit name and reporting message on restricted department view | Details |
| Remove Laravel Horizon | Details | |
| LL-1252 groups with disabled reminders will not receive email notifications.… | LL-1252 groups with disabled reminders will not receive email notifications. Database notifications are still transmitted. Adjustment of the database notification. | Details |
| LL-1269 CTA für neuen Hero-Bereich (Startseite) | neue call-to-action hinzugefügt. Im Backend können eine bestehende Seite (CMS) als Standard-Ziel und ein bestehendes Menü als weitere Links angegeben werden. Im Frontend wird daraus das Dropdown gebaut, welches es ermöglicht, über den Button den Link abzurufen. | Details |
| LL-1271 optional subline cms | Das Feld Subline wurde nullable gemacht, da die rechtlichen Seiten (AGB, Datenschutzerklärung, Impressum) eigentlich keine Subline haben müssen. | Details |
| LL-1253-admin-resend-account-verification | simplifies the process for the user by receiving the password reset email directly Set directly the email rerquest value from url to password/reset form | Details |
| Add import and export for language keys | Die Dokumentation dazu findet sich im /docs Ordner im Code | Details |
| + fixed wrong date in user detail export | + fixed wrong date display in PageabelList.vue component | Details |
| Feature/ll 1265 allow group user assignment to classroom trainings | Details | |
| LL-1132 register cta | Enthält Teile von LL-1246 um das Zusammenspiel mit der CTA zu gewährleisten | Details |
| Feature/ll 1274 refractoring client model | Details | |
| Feature/ll 1275 from content block to short code | Details | |
| Feature/ll 1246 update register | Details | |
| LL-1272: Anpassung an die neue Version von MediaLibrary. Pfade haben sich… | LL-1272: Anpassung an die neue Version von MediaLibrary. Pfade haben sich verschoben. Der Name der config hat sich geändert. Die alte wird nun entfernt. Alle Verwendungen von config(medialibrary wurden angepasst. | Details |
| LL-1278: Anpassung der Benachrichtigung bei Trainingszuweisung. Anrede… | LL-1278: Anpassung der Benachrichtigung bei Trainingszuweisung. Anrede hinzugefuegt. Verwendung des Templates | Details |
| LL-1276: Im Client-Model das cancelled_at durch clients präfigiert, damit es eindeutig ist. | Details | |
| Feature/ll 1246 update registration | Bitte Unteraufgaben testen. Diese sind der Einfachheit halber ein Branch. | Details |
| LL-1263: Es wird nun zentral über die Klasse summernote der trigger gesteuert,… | LL-1263: Es wird nun zentral über die Klasse summernote der trigger gesteuert, der benötigt wird, damit man auch Änderungen im Raw-modus abspeichern kann ohne vorher auf WYSIWYG zu wechseln in Summernote wird nun das Widget einmal auf der Klasse summernote erzeugt und dann auf den spezifischen Klassen. Durch die Reihenfolge wird die spezifische Klasse wirksam. | Details |
| LL-1260 disable Button for answer too | fix: set training category optional | Details |
| Feature/ll 1293 delete user with only unpassed trainings | LL-1290 ist ebenfalls im Merge-Request enthalten | Details |
| LL-1289 if the login contains an e-mail, it is now also checked whether this is… | LL-1289 if the login contains an e-mail, it is now also checked whether this is stored in the system. If no, username is used for login | Details |
| LL-1204 extend API for user archiving | + made users deletable that have only unpassed training assignments + added endpoint to archive and delete a user ... ``` curl -X DELETE 'http://localhost/api/v1/users/LM6l0vQ6EN/archive' \ -H 'content-type: application/json' \ -H 'accept: application/json' \ -H 'api-key: cV3dteM2Ww3dj71qUR5vTQUz7K6wJb473rQqmQg4Q931VAdWNLjkeKWEPFwte7yoQgi0WhqSBvItlcvx' \ -o UserArchive.zip ``` | Details |
| LL-1299 handle correspondence for diasabled trainings | + notifications about correspondence replies now check wether the affected training is enabled, inf not no link is added but a note, that the training os not available | Details |
| LL-1300: Die Internationalisierung __( in javascript hat potentiell drei… | LL-1300: Die Internationalisierung __( in javascript hat potentiell drei Parameter. Wenn man Internationalisierungsparameter mitgeben will, dann muss man dem zweiten Parameter den Defaultwert 'strings.' geben. | Details |
| LL-1301 - PHPStan und PHPStan configuration added in to composer. Also added… | LL-1301 - PHPStan und PHPStan configuration added in to composer. Also added composer analyse als PHPStan start command | Details |
| Feature/ll 1267 ou tree menu optimization | Details | |
| Feature/ll 1285 link to client url registration mail | Details | |
| refactored scorm helper and some other helpers | Details | |
| added column created_at to content listing and allowed sorting on new column | Neue Spalte "Erstellt am" für Lernbausteine in Administration angezeigt | Details |
| LL-1309-notification-of-created-users-by-mail | Added user mail_notifications value to user export and excluded users without mail_notifications from user import notifications | Details |
| reworked way to figure out lang key for js side localization | in Vue JS wurde die __() Methode so angepasst, dass sie mit der neuen Laravel Lokalisierung mittels PHP-Dateien klar kommt. | Details |
| Feature/ll 1303 departmend interval booking | Details | |
| Feature/ll 1301 refactoring training and user models | als MR um Rückfragen zu sammeln | Details |
| Feature/ll 1301 refactoring voucher models | Details | |
| MyCompetence API Integration | Bei diesem PR handelt es sich um die Integration der MyCompetence v2 API in die UWL.
## Setup
Damit UWL mit der MyCompetence API kommunizieren kann, muss ein "Master API Key" erzeugt und konfiguriert werden.
Dieser API Key wird anschließend genutzt um die UWL Mandanten als Affiliates bei MyCompetence zu erzeugen, darüber Buchungen auszuführen, Reports zu ziehen, usw.
Nachdem man auf MyCompetence einen neuen Affiliate mit der v2 API angelegt hat, muss man die Daten in der `.env` Datei konfigurieren.
Beispiel:
```
MYCOMPETENCE_KEY="15|B8LN0QMIOX64m4GOFz78f2HycKmGEF5I9pzcxWUC"
MYCOMPETENCE_API_URL=https://mycompetence.test/api/v2
```
Im Hauptmenü gibt es nun einige neue Menüpunkte, für die man individuelle Berechtigungen benötigt.
## Fortbildungen
Der Menüpunkt Fortbildung verlinkt auf den MyCompetence Katalog, welcher über die API integriert ist.
Über die MyCompetence API Integration kann nun der Katalog durchsucht und gefiltert werden.
Der Einzelpreis eines Trainings wird mit auf der Kachel angezeigt.
image
### Offene Fragen
Aktuell ist hier noch die gleiche "Nur Vorschau" Banner Logik integriert. Benötigen wir das hier? Für die eigentliche Buchung wird das aktuell nicht berücksichtigt - die Buchungsprüfung steckt aktuell nur hinter einem Permission check.
## Fortbildungen - Detailseite
Wählt man nun eine Fortbildung aus, kommt man auf die Detailseite. Auch diese Daten werden alle live über die API gezogen.
image
Die Zuweisung der Benutzer und Gruppen erfolgt wie bisher auch. Der einzige Unterschied ist, dass nun über die MyCompetence Warenkorb API ein Warenkorb mit dem Training mit der Anzahl der ausgewählten Benutzer (die das Training noch nicht zugewiesen haben) erzeugt wird.
Die Preise des Warenkorbs werden anschließend angezeigt.
image
### Offene Fragen
Wie soll der "Warenkorb" genau aussehen?
## Meine Fortbildungen
Hier werden alle MyCompetence Trainings aufgelistet, die dem aktuell eingeloggten Benutzer zugewiesen wurden.
image
## Meine Fortbildungen Detailseite
Hier hat der Benutzer die Möglichkeit die Fortbildungen zu starten.
image
Sobald das Training gestartet wird, öffnet sich der UCP mit der MyCompetence Seite. Der Benutzer ist sofort eingeloggt und innerhalb MyCompetence (im iframe) öffnet sich ebenfalls sofort der UCP.
## "MyCompetence Orders"
Hierüber können alle getätigten Bestellung eingesehen werden. Der Report kann nach Mandant und Zeitraum gefiltert werden.
image
### Offene Fragen:
Wie soll der Export aussehen? Welche Felder sollen dort drin stehen? Reichen die Daten?
## "Training Requests"
Wenn ein Benutzer nicht die Berechtigung hat ein Training selbst zu buchen, kann er dieses anfragen.
image
Hier fehlen noch einige Texte bzw. grundsätzlich ein Layout.
Nachdem ein Training angefragt wurde, sieht der Supervisor des Mandanten die Anzahl der offenen Anfragen im Menü.
image
Die Detailansicht hiervon sieht aktuell so aus:
image
### Offene Fragen
Wie soll der Freigabeprozess aus dem Backend ablaufen?
Was passiert wenn man den Prozess ableht? |
Details |
| LL-1302 | Price helper extended with the possibility to choose standard currency | Details | |
| LL-1301 | Refactored Tariff.php, TariffFeature.php, Tag.php, Subscription.php,… | LL-1301 | Refactored Tariff.php, TariffFeature.php, Tag.php, Subscription.php, SubscriptionInvoice.php, SubscriptionTest.php | Details |
| Feature/ll 1301 order related models | Details | |
| Feature/ll 1308 change localization | First branch | Details |
| Feature/ll 1318 variable training duration is not displayed on the certificate | Details | |
| LL-1318-training_duration-is-not-displayed-on-the-certificate | Added function_exists time_format_duration to helpers Added 'training_duration' and 'training_duration_en' for certificate Templates | Details |
| provided command to split orders with multiple trainings to multiple orders with only one training | TR UnterweisungslösungLL-1314 Orders um Trainings-ID erweiternLL-1322 Kommando zum auflösen von Orders mit mehr als einem Training Bis zu 30. August 2021 gibt es Orders, die mehr als nur ein Training enthalten. Es soll ein Artisan Kommando geschrieben werden, dass alle solchen Orders oder nur alle eines bestimmten Mandanten so zerlegt, dass jede Order nur für ein Training zuständig ist. | Details |
| LL-1315-created-helpers-for-role-representation | reworked localization and updated roles db table | Details |
| LL-1301: Refactoring of Content and ContentBlock / ContentBlockPosition models | Details | |
| LL-1319 highlight password | wrapped password inside \ tag and added some styling (background-colos and padding). |
Details |
| Feature/ll 1324 change language file e mail | Details | |
| added link with permission check | Details | |
| Feature/ll 1313 dashboard consider classroom trainings | Details | |
| Feature/ll 1328 create role prevent conflict with user | Details | |
| Feature/ll 1314 add trainings id to order | Details | |
| WIP: Feature/ll 1320 create orders whith no users | Details | |
| LL-1345-password-change-mail-with-personal-reset | ignore resets email for password/reset url | Details |
| certificate export now creates a notification for exporter with link to Exported… | certificate export now creates a notification for exporter with link to Exported file - link is displayed for 3 days | Details |
| Feature/ll 1342 add optional client context to categories | LL-1332 Update Trainingserstellung >> LL-1342 Kategorien um Client-Kontext erweitern | Details |
| translated texts regarding login and register | Details | |
| Feature/ll 1133 enable passwort update in user import | http://jira.learningsystem.de/browse/LL-1133 | Details |
| Feature/ll 1333 clients roles do not work for super admins | Details | |
| Feature/ll 1310 fix outdated order extension | LL-1310 Buchung nach Verlängerung des Zeitraums über die Gruppe User, die einer Gruppe mit einer abgelaufenen UW zugeordnet werden, erhalten keine Buchung. Wenn dann die UW-Frist in der Gruppe verlängert wird, werden diese User der UW nicht zugewiesen, auch nicht, wenn man sie noch einmal importiert. Bsp. 1&1, Michaela kann dazu weitere Infos geben | Details |
| removed possibility to temporarily deactivate a client contact person | http://jira.learningsystem.de/browse/LL-1335 temporäre Deaktivierung für Ansprechpartner soll ebenfalls nicht verfügbar sein. Bitte im Nutzerdatenblatt das Info-Alert zur Deaktivierung ergänzen. * Für Mandanten-Ansprechpartner steht die Option der temporären Deaktivierung nicht mehr zur Verfügung. * Der Controller prüft das Server-seitig und liefert eine Error-Flash-Message dazu, falls man es mittels Hacking trotzdem versucht. * Der Hinweis, über die Nichtmöglichkeit des Löschens und Deaktivierens eines Mandanten-Ansprechpartner wurde um temporäres Deaktivieren erweitert | Details |
| attempt to create subscription for client without contact person now flashes an… | + attempt to create subscription for client without contact person now flashes an error that this is not possible + button for creating subscription disabled for client without contact person and then added tooltip with description | Details |
| LL-1004 Kopieren von Rollen | * added role selector in create * on role select all permissions of selected role are checked in actual form s. http://jira.learningsystem.de/browse/LL-1004 | Details |
| Feature/ll 1305 lernbausteine unterweisung | Details | |
| added half year interval for recurring trainingns | Details | |
| LL-1292-instruction-catalog-new-instructions | trainings marked in catalog as new based on created_at < 28 days | Details |
| LL-1363 added client context to trainings | + partially refactored training controller | Details |
| LL-1308: Lokalisierung Onboarding | merged contentBlocks.php into cms.php and removed contentBlocks.php. - changed lacolization structure for onboarding modal - optimized keys - reworked some translations (native english) | Details |
| LL-1338 | NEw chapter button added and removed the new chapter card | Details | |
| LL-1395: when a user is assigned to an (organizational) group or activated he will be… | when a user is assigned to an (organizational) group or activated he will be assigned to (organizational) group's orders even, if he was assigned to related training within last 365 days | Details |
| LL-1391-display-assignments-in-user | fix: wrong date in PageableList.vue - now it shows the date of the DB entry, without changes by timezone - before, the entries were manipulated by e.g. -2 hours and thereby the day was changed | Details |
| Feature/ll 1340 customize master data | Details | |
| Feature/ll 1372 trainings sources | Details | |
| Feature/ll 1360 add french | Details | |
| Feature/ll 1350 add exclusiv group filtering to reports | Details | |
| Feature/ll 1396 add espagnol | Details | |
| Feature/ll 1386 reminders are deleted without prior security query | Details | |
| getItems was probably renamed to getContentItems in the model. With the right… | getItems was probably renamed to getContentItems in the model. With the right function call it works again. | Details |
| LL-1399 user.salutated_full_name corrected to user.salutated_name. Removed superfluous… | user.salutated_full_name corrected to user.salutated_name. Removed superfluous class RenderableTrainings in SupervisorReminder. | Details |
| Feature/ll 1371 edit user button | Details | |
| LL-1375/LL-1376 Add versioning to trainings, contents and assignments | Details | |
| LL-1406 | Bug removed, video can now be uploaded | Details | |
| Feature/ll 1383 new assignment table | Details | |
| LL-1385 | Post file to large bug and ProfileController.php file name bug removed | Details | |
| tutorial data extended by rights, tutorial display extended by rights check and… | tutorial data extended by rights, tutorial display extended by rights check and tutorial data transferred to the config | Details |
| Feature/ll 1389 reset cache on role save | Ich konnte das Problem nachstellen habe mich im Tinker als ein anderer Mandant eingeloggt und den Cache geleert und dann mal auth()>user()>can(Permissions::LIST_USERS) ausgeführt, so dass der Cache gefüllt wurde und Schwups waren die Permissions im anderen Mabdanten weg. Habe eine eigene BaseRole Klasse bereitgestelt, deren Inhalt der von der ehemaligen Role Klasse ist. Nur dass die BaseRole Klasse keienen Client-Kontext hat. Die Role-Klasse erbt jetzt von BaseRole und implementiert den Client-Kontext. In der config/permission.php ist jetzt die BaseRole Klasse eingetragen | Details |
| Feature/ll 1387 replace js prompt | Details | |
| update the change in the client modification for is_available and is_bookable.… | update the change in the client modification for training fields is_available and is_bookable. the value from the database is now displayed again for superadmins (available and bookable are always checked for clients), spelling error corrected | Details |
| MyCompetence integration modifications | Hier sind die noch fehlenden Anpassungen der MyCompetence Integration. | Details |
| LL-591-extension-notifications | Added body for additional data in the notifications table. Added username to $core_attributes. Is required so that changes to the username are recognized and thus also notified by mail and database. Changes have been applied to User, Training Questions, Client, Userimport, Subscription, Trainingassignments, Onboarding, ... notifications. Added missing inbox notification for client slug update prevented the error Error: call of a member function isEmpty() to null, for client archiving | Details |
| Feature/ll 1362 client selector for contents and trainings | * (/) Lernbausteine -> Bearbeiten -> edit.blade.php: ** (/) neues Feld "Mandant" mit allen Mandanten (mehrzeilig, inkl. ID, wie in den Filtern) und der Option "kein Mandantenkontext" für allgemeine Trainings. ** (/) nur für User verfügbar die das Recht SWITCH_CLIENTS haben ** (/) Feld ist nur bearbeitbar, wenn der Content noch keinem Mandanten gehört und nicht in einem Training verwendet wird. Danach ist es readonly! ** (/) Hinweis unterhalb des Feldes: "kann nicht geändert werden, weil der Baustein bereits im Training verwendet wird" bzw. "Der Mandanten-Kontext kann hier nicht nachträglich geändert werden." * (/) Lernbausteine -> neu anlegen ** (/) neues Feld "Mandant" für den Mandanten-Kontext. ** (/) Single-Selectize wie in den Trainings-Stammdaten * Training-Stammdaten: (i) das hat [~immigs] bereits in einem anderen Zweig gemacht ** (/) neues Feld "Mandant" mit allen Mandanten (mehrzeilig, inkl. ID, wie in den Filtern) und der (/) Option "kein Mandantenkontext" für allgemeine Trainings. ** (/) nur für User verfügbar die das Recht SWITCH_CLIENTS haben ** (/) Feld ist nur bearbeitbar, wenn das Training noch keinem Mandanten gehört. Danach ist es readonly! ** (/) Feld ist nur bearbeitbar, wenn keine Buchung besteht. ** (/) Hinweis unterhalb des Feldes: "kann nicht geändert werden, weil die Unterweisung bereits gebucht wurde." bzw. "Der Mandanten-Kontext kann hier nicht nachträglich geändert werden." | Details |
| Feature/ll 1419 fix spanish errors | s. http://jira.learningsystem.de/browse/LL-1419 | Details |
| Feature/ll 1419 fix spanish errors | Details | |
| Feature/ll 1394 php8 phpstan errors | Details | |
| added permission check when creating new version of a training | Details | |
| LL-1429-training-creation-in-client-context-categories-missing | Add client info to select option for superadmins now the client assignment ModelBelongsToCurrentOrNoneClient is taken from the category model query added to undefined variable currentMyCompetenceTrainings | Details |
| Feature/ll 1420 training reminder status is reported incorrectly | Details | |
| LL-1370-extend-employee-report -view-to-include-dates | Details | |
| Feature/ll 1446 fixing dates | Details | |
| LL1402-correction-preview-catalogs | Added extension for required subscription change ToDo need to shorten the text, for other languages for …/app/catalog?view=list and …/app/catalog/[training_slug] ToDo Extend button layout with a chevron on the right in both cases | Details |
| MYC-1278 - Use of new filter apis | Dieser MR ist das Gegenstück zu https://gitlab.learningsystem.de/lms/mycompetence/merge_requests/537
Innerhalb der "MyCompetence Bestellungen" erhält man nun eine Filtermöglichkeit nach Trainings:
image
Hierbei werden nur Trainings angezeigt, die auch in Bestellungen der Mandanten vorkommen.
Befindet man sich in einem Mandantenkontext ist zusätzlich die Filterung nach Benutzer möglich.
Die Filter sind abhängig voneinander, so dass sich die Auswahl der verfügbaren Benutzer einschränkt, wenn ich nach einem Training filtere (und andersrum).
Die Filter werden auch für den Excel Export berücksichtigt. |
Details |
| Feature/ll 1434 extend catalog filters | (!) Trainingsniveau-Filter ist hier noch nicht dabei | Details |
| Feature/ll 1444 fix too early termination date | Details | |
| LL-1441 - über Abteilung hinzugefügte User sollen Mitarbeiter sein, nicht Leitung | + when no role for table organization_unit_user is given OrganizationUnit::POSITION_EMPLOYEE is assumed + added migration, that fixes missing role entries in table organization_unit_user | Details |
| LL-1440--404-error-on-add-user-button-in-ou-menu | Users can be added once a ou has been selected | Details |
| Problem beim Speichern von Profilen behoben, für die bereits ein Avatarbild definiert war | * Problem beim Speichern von Profilen behoben, für die bereits ein Avatarbild definiert war * Wrapper für die Avatar-Komponente erstellt, um auf Bildänderungen reagieren zu können * [x] Bitte checken ob der Style des Avatars wirklick immer passt | Details |
| Feature/ll 1437 customization hero banner | Details | |
| LL-1450-error-in-task-or-task-assignment-notification | Now we also considered on available until. So in the future no notification will go out if the training has expired | Details |
| Feature/ll1394 refractoring | Details | |
| added command that checks if a user has become active after temporary… | added command that checks if a user has become active after temporary deactivation and do same operations as user would be activated in UI added this functionality to user activation endpoint in API v1 | Details |
| LL-1455 | Video and SVG upload possibility added | Details | |
| LL-1472 don't remind classroom passed trainings | * added additional scopes in TrainingAssignment class * passedInClassroomTraining() * passedInAnyWay() * notPassedInAnyWay() * Checked usage of scope passed() and notPassed(), if newly created scopes are more appropropriate | Details |
| LL-1448-ounit-can-not-be-removed | is now also updated if null is passed | Details |
| LL-1428-error-message-appears-when-creating-subscription-plan | if null is passed, the db default 0 is now set | Details |
| LL-1467 - Neue Mail "Anmelde-Informationen senden" | added AcountInformation notification and use it instead of AcountCreated notification, when sending account data to user * [x] Bitte absprechen, ob die alternative Kontaktadresse immer genutzt werden soll oder nur, wenn keine primäre Adresse vorhanden ist. (derzeit wird der allgemeine Kontakt nur angeschrieben, wenn der user keine Primäre E-Mail-Adresse hat) | Details |
| LL-1447-campaigns_tariff_individual_will_not_be_saved | campaign can now receive additional tariffs, rollback or change for type set unknown | Details |
| LL-1476: Der Mandanten-Admin sieht die Einstellung SSO nicht, im Kontroller wird… | LL-1476: Der Mandanten-Admin sieht die Einstellung SSO nicht, im Kontroller wird sie dann auf "false" gesetzt. Das passiert nun nicht mehr.. | Details |
| Feature/ll 1379 maintainability of the training levels | Details | |
| LL-1473-instruction-check-reminder-after-x-days | set and check after_start and before_end trigger for > 0 | Details |
| Feature/ll 1466 synchronize untrimmed groups and organizations | http://jira.learningsystem.de/browse/LL-1466 Reparatur-Kommando bereitgestellt: php artisan group:trim-name php artisan group:trim-name --client_id=23 | Details |
| Feature/ll 1474 check ou assignments for departments | Details | |
| LL-1487 TrainingReminders | + server side handling of missing template + ui error handling added | Details |
| Feature/ll 1479 help video profile | Details | |
| Feature/ll 1426 currency feature | Details | |
| LL-1481 | Filter status is now working | Details | |
| Feature/ll 1501 abo filter fix | Details | |
| LL-1488 | free on the fields.blade.php for clients removed | Details | |
| LL-1311: Auf der Oberfläche kann man nun den Versand einer Benachrichtigung verhindern. WIP | Details | |
| Feature/ll 1498 base account information notification on mail template | Code von LL-LL-1498 (Mail-Templates reaktivieren) abgezweigt und LL-1467 reinintegriert (neue Notification AccountInformation) Dann die neue Notification AccountInformation auf ein Mail-Template umgestellt | Details |
| Feature/ll 1496 base trainings assigned notification on mail template | Details | |
| Feature/ll 1468 mail template reactivation | Details | |
| Feature/ll 1490 recipient group remove | Details | |
| LL-1493 | Category translation added | Details | |
| LL-1500-formatting-in-reminder-to-superiors | User data string replaced with markdown table | Details |
| hide category selector in scoped view of my-trainings and mycomptence-my-trainings | s. http://jira.learningsystem.de/browse/LL-1522 * [x] Für meine Trainings konnte ich es komplett testen, * [x] für "meine Fortbildungen" konnte ich es nicht testen | Details |
| shows last historized subscription in subscription listing when associated… | shows last historized subscription in subscription listing when associated client has no active subscription any more | Details |
| Feature/ll 1378 revise the content of the master data change | Details | |
| provided command to analyze and fix user.client_id and order.client_id mismatch | Details | |
| Feature/ll 1518 set default null to media client | Details | |
| Feature/myc 1289 - Net/Gross prices | Im Katalog werden nun Netto Preise angezeigt.
image
Beim Kauf eines Trainings wird sowohl der Brutto Betrag als auch die MwSt. angezeigt
image |
Details |
| LL-1492 - Add participation certificate generation | Im Backend kann nun an einem Zertifikat eingestellt werden, ob es für MyCompetence Trainings genutzt wird oder nicht. Sobald ein Training seitens MYC ein Zertifikat besitzt und abgeschlossen ist, wird der Button für den Download des Zertifikats angezeigt. Bei der Generierung wird dann das entsprechende Template genutzt. | Details |
| LL-1512 | app config changes to remove the bug | Details | |
| Feature/ll 1525 import progress | Details | |
| LL-1506 | LL-1507 - DB done, LL-1509 - UI done and LL-1508 - Client UI done | Details | |
| Feature/ll 1510 catalogs price controller | Details | |
| LL 1513 permissions field nullable | Details | |
| Feature/ll 1359 rework language files for user view | - Teilnehmer-Training-Sicht umgestellt - Katalog-Sicht umgestellt | Details |
| LL-1524-CTS-non-european-countries-missing | Extensions of the countries for CTS via APP_MODE equal to corporatetraining | Details |
| Feature/ll 1469 modify user without notification | Details | |
| LL-1535 | view for chargeable catalogs added | Details | |
| LL-1528-convert-default-value-1-for-client_id | Details | |
| Feature/ll 1534 extend password reset expiration | Details | |
| + superadmins are now generated with a strong unknown password by UserSeeder | + DevDataSeeder sets superadmins passwords to "admin" | Details |
| notification use queue now | Details | |
| removed typo that caused group bookings not to book users when a future booking exists | Details | |
| Feature/ll 1167 convert mail to notifications new | Details | |
| LL-1452: update mobile header | Details | |
| + fixed logic when to display mycompetence trainings on dashboard | + fixed 2 typos | Details |
| LL-1541 - User/Group filter | Details | |
| Feature/ll 1502 grafic social links | Details | |
| Feature/ll 1433 classroom visualisation for user | Layout in "meine Unterweisungen" mit Michi abgesprochen.
image |
Details |
| fixed twice send billing_start_at | **Deine Anfrage:** Wenn ich als Kunde mein Abo upgrade schlägt mir das System nebne "nächtmöglich" und "rechnungslauf" das individuelle Datum vor bei mir lokal war der Rechnungslauf zum 02.07 und für individuell wurde 24.03.2024 vorgeschlagen (warum auch immer) ich hab individuell gewählt und das Datum auf 01.01.2024 gesetzt. **Gefundenes Problem:** Alpine hat das display eines Input-Feldes zwar auf display:none gesetzt aber der Status von "disabled" wurde nicht richtig aktiviert. M.E sollte der Code das aber tun . Hab das jetzt mit jQuery beim submit gefixt, aber evtl. lässt sich das auch mittels Alpine fixen | Details |
| LL-1359-optimization-of-the-localizations-from-phase-1-actions | Details | |
| LL-1550-user-report-available-until-shows-one-day-too-many | Use carbon foramtDate with respect_auth_timezone = false | Details |
| Feature/ll 1358 client translations | Details | |
| LL-1546-sorting-of-the-training-courses-list | sorting is already in develop | Details |
| LL-1459-remove-target_audiences-table-if-not-required | code and forms tested | Details |
| Feature/ll 1537 test sending for mail templates | Details | |
| fixed user export filtering | Details | |
| + if one try to export more than 20000 users, an error message is displayed now… | + if one try to export more than 20000 users, an error message is displayed now and export is not possible + value 20000 is moved to config/export.php | Details |
| Feature/ll improve repositories | encapsulated repository functions of getting data for select boxes | Details |
| made categories prunable | Details | |
| when migrating categories to i18n - default locale is used now | Details | |
| + removed column users.organization_unit_id from users table | + run php-cs-fixer | Details |
| LL-1552 | Updated to Laravel 9 | Details | |
| removed code, that dropped billing address on subscription change | Details | |
| Feature/ll 1192 store tags correctly | Details | |
| Feature/ll 1552 post laravel optimizations from ll 1570 to ll 1586 | Details | |
| LL-1589-translations-reduction-of-redundancies | translation structure optimized translations reduction of redundancies translations names shortened | Details |
| LL-1592-preg-match-message-when-sending-mail | simply get a list of email addresses sent to | Details |
| LL-1514-unused-view-app-trainingReports | Removal of unused scripts and testing of system dependencies after removal. The scripts are probably leftovers from myc and have not been removed yet. | Details |
| LL-1515-empty-vue-TrainingStatusReportFilter.vue | rest from a merge 2020-02 | Details |
| added all responses to email about new training query | Details | |
| Feature/ll 1552 laravel 10 update | Details | |
| + imported latest french translation | + fixed some inconsistencies | Details |
| LL-1565 | monthly prices changed in to yearly prices | Details | |
| Feature/ll 1595 add missing flash message | Details | |
| Feature/ll 1517 slimdump for staging | Details | |
| Feature/ll 1598 optimize relation code | viele kleine Optimierungen am Code, die den Code besser lesbar, wartbarer und performanter machen | Details |
| LL-1539 added missing translation for email to user about assignment of additinal course | Details | |
| Feature/ll 1591 add status filter to employee report | Details | |
| LL-1550-user-report-available-until-shows-one-day-too-many-in-export | Use carbon foramtDate with respect_auth_timezone = false | Details |
| Feature/ll 1551 customer communication template empty html | Details | |
| Feature/ll 1605 users should not be able to book 2 subscriptions with 1 email address | Details | |
| Close last opened menu before refreshing jstree. This will fix the bug with the newly created node. | Details | |
| LL-1596 - identified some user centric code where it makes more sense to use… | LL-1596 - identified some user centric code where it makes more sense to use ->formatDate(false) than ->formatDate() | Details |
| assignment was not possible due to missing version id | create required training version if not available | Details |
| LL-1544 Add training_status filter | Die API Anpassungen sind mit in https://gitlab.learningsystem.de/lms/mycompetence/merge_requests/551 integriert | Details |
| LL-1542 send additional notifications | Details | |
| Additional Services - Feature/ll 1566 logging table model | s. http://jira.learningsystem.de/browse/LL-1566 | Details |
| Feature/ll 1555 data processing of terminated client | s. http://jira.learningsystem.de/browse/LL-1555 | Details |
| Feature/ll 1608 conversion of the training supervisors | Details | |
| LL-1621: Das Feld "Kontakt" zu der Validierung hinzugefügt. | Details | |
| Integration of ou supervisor as preferred training supervisor. Usercontroller… | Integration of ou supervisor as preferred training supervisor. Usercontroller update() gets additional check for is_training_supervisor. is_training_supervisor is also disabled if it has no permission or is not an ou supervisor. Happens if the user is no longer an ou supervisor and has no more permissions to be is_training_supervisor. | Details |
| If necessary, confirm the registration when successfully resetting the password. | Details | |
| added new other message if ! superadmin, Your customer account was cancelled on :date... | Details | |
| LL-1422: Zusätzlicher Status-filter für Benutzer ohne Anmeldung. | Details | |
| added never-logged-in filter in user list | Details | |
| LL-1451-round-learning-time-in-certificate-better | function that is only used for the certificate has been updated | Details |
| Feature/ll 1597 client login page and cookie bot for english | Details | |
| Feature/ll 1619 unify dump export | Details | |
| LL-1643 added username for $core_attributes in… | LL-1643 added username for $core_attributes in app/Notifications/CoreUserDataModified.php this will now send an email if the username changes | Details |
| LL-1645 added status and sso in the export of the user overview - work on translations | Details | |
| Feature/ll 1644 always react on temporary activation | Details | |
| LL-1651 All displays adjusted with "X to Y of Z". | Details | |
| LL-1647 deactivate checkbox as default for redirect in training | Details | |
| now the logo is selected depending on the system language (.env -> APP_LOCALE)… | now the logo is selected depending on the system language (.env -> APP_LOCALE) with the fallback to config/app.php -> locale. Config::get('app.locale') or config('app.locale') cannot be used alone as this value is changed by the user session. | Details |
| + fixed concurrency problem for content api | + fixed bug in function getting item title + improved code a little bit + added required extension to composer.json | Details |
| Feature/code review | *A)* der Code unter app/ wurde komplett durchgearbeitet und Fehler, die die IDE gemeledet hat wurden beinahe ausnahmslos beseitigt. Nicht beseitigt wurden Meldungen über die *nicht Verwendung von Funtionen* (=unused element), *Code-Duplikate* und *Potentially polimorphyc call* . *B)* Der Code wurde danach mit PHP-Stan analysiert und beinahe alle Probleme beseitigt. *Wichtig* ist hier, dass *composer analyse app/Model/* keine Fehler liefert, aber *composer analyse app/* meldet, dass in einigen Model-Klassen undefinierte Probleme existieren (Class self was not found while trying to analyse it - discovering symbols is probably not configured properly.) | Details |
| provided service account notifications | centralized calls of above service to boot functions of user - Die Notification an den User, wenn er angelegt wird wurde zwar zentralisiert, habe das aber wieder rausgenommen, da diese E-Mail nicht immer erwünscht ist und ausserdem diverse Tests fehlgeschlagen sind | Details |
| LL1654 switch training reminder to regular index detail view and work on translations | Details | |
| Feature/ll 1652 change training reminder module to new translation | Details | |
| LL-1529 add alternative communication email in api and added shared_mailbox to filter | added alternative communication email in api, added shared_mailbox to filter and extended api test by shared_mailbox | Details |
| LL-1066 enable of api keys for client admins | added necessary permission to getAdministratorPermissions and client | Details |
| Feature/ll 1656 fix paging drops filters | Proaktiv Stellen angepasst, wo Pager ohne Query-Filter-Übergabe genutzt wurden | Details |
| when moving a user to another client, we move his training assignments now too,… | when moving a user to another client, we move his training assignments now too, except of assignments for client specific trainings none individiual assignments lose group and unit context | Details |
| LL-1632: Lösung mit der Circular-Progress-Komponente | Details | |
| Bezug LL-1658 - Feature/ll next approach to fix player controller concurrency bug | SCORM-Session-Serialisierung überarbeitet | Details |
| Feature/code revision after ide feedback | Diverse Kleinigkeiten angepasst, so dass die IDE und PHP-Stan weniger meckern. | Details |
| user detail report: exporting status and passed_at in separate columns | Die Umsetzung beinhaltet nach Absprache mit Uli eine Erweiterung in der Export-Datei | Details |
| LL-1645-in-the-export-of-the-user-overview-the-column-status-is-missing-replace-with-activie | rename export column from Status to Aktiv and replace status value with is_active. Check for im and export | Details |
| Feature/ll 1599 extend user ex im port for activity states | Details | |
| rewrote classes that implemented Rule to implement ValidationRule now | Details | |
| fixed to set duplicate username for superadmins when editing users with client context | + when user is logged out ClientService is reset + removed use of $this->get('client_id') in CreateUserRequest and in UpdateUserRequest, as client_id should not be passe all to this request + fixed possibility to move user to other client, when its username is already present in target client + fixed to set dublicate username for superadmins when editing users with client context | Details |
| + registered daterangepicker in bootstrap.js and app.scss | + removed cdn load of daterangepicker in complete system + removed cdn load of moment in complete system as it is already available by app,js auf dem Chrome gab es ein timing problem für den daterange picker | Details |
| LL-1667: Es wird die User-funktion verwendet um die Verbindung zu Mycompetence… | LL-1667: Es wird die User-funktion verwendet um die Verbindung zu Mycompetence aufzubauen. Superadmin können allerdings nicht buchen | Details |
| LL-1670-refactoring-register-policies-method | The registerPolicies method of the AuthServiceProvider is now invoked automatically by the framework | Details |
| LL-1666 optimize npm | deprecated packages von NPM so gut es geht addressiert. Nicht genutzte Packages entfernt, veraltete Packages aktualisiert oder ausgetauscht. 1) package url wurde manuell hinzugefügt, um via deduping laravel-mix auf eine neuere Version zu zwingen. 2) folgende Packages können nicht aktualisert werden: ``` npm WARN skipping integrity check for git dependency ssh://git@github.com/TRA-Platform-Management/vue-picture-input.git npm WARN deprecated stable@0.1.8: Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility code@ /home/vagrant/code └─┬ laravel-mix@6.0.49 └─┬ cssnano@5.1.15 └─┬ cssnano-preset-default@5.2.14 └─┬ postcss-svgo@5.1.0 └─┬ svgo@2.8.0 └── stable@0.1.8 npm WARN deprecated @babel/plugin-proposal-object-rest-spread@7.20.7: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead. code@ /home/vagrant/code └─┬ laravel-mix@6.0.49 └── @babel/plugin-proposal-object-rest-spread@7.20.7 neueste Version von laravel-mix ``` ``` npm WARN deprecated consolidate@0.15.1: Please upgrade to consolidate v1.0.0+ as it has been modernized with several long-awaited fixes implemented. Maintenance is supported by Forward Email at https://forwardemail.net ; follow/watch https://github.com/ladjs/consolidate for updates and release changelog code@ /home/vagrant/code └─┬ vue-loader@15.11.1 └─┬ @vue/component-compiler-utils@3.3.0 └── consolidate@0.15.1 letzte Version für vue2 ``` ``` npm WARN deprecated popper.js@1.16.1: You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1 code@ /home/vagrant/code ├─┬ bootstrap@4.6.2 │ └── popper.js@1.16.1 deduped └── popper.js@1.16.1 Popper2 nicht kompatibel mit Bootstrap 4 ``` | Details |
| Feature/ll 1649 check and optimise export of all reports all subtasks | Details | |
| Feature/LL - add scorm converter ui to content administration | für Superadmins steht ein UI zum erstellen von SCORM-Paketen aus PPTX, PPT, DOCX, DOC, XLSX, XLS und PDF bereit. Uli macht das bisher über die Konsole als API-Aufruf. | Details |
| Feature/ll 1620 benutzerimport korrekturen | Details | |
| Feature/ll 1679 internal identifier for pages | Details | |
| Feature/ll 1615 mail config for postfix | Details | |
| LL-1543 Add user filter/metadata to orders | Dieser PR benötigt das Gegenstück für MyCompetence | Details |
| fixed rerender problem on data change | Details | |
| Feature/code correction adviced by ide | worked actively on code quality | Details |
| Feature/ll 1669 fehlermeldungen beim einloesen eines voucher | Details | |
| improved logging of invalid api key | Statt einem Stacktrace werden nun sinnvolle Daten ins Log geschrieben, wenn ein ungültiger API-Key verwendet wird | Details |
| optimized report data generation by reducing | Der Superuser Report "Nutzungsreport" wurde bzgl. Performance optimiert | Details |
| LL-1688: Bei der Darstellung der Trainings im Benutzerdatenblatt werden… | LL-1688: Bei der Darstellung der Trainings im Benutzerdatenblatt werden gelöschte Trainings nun übersprungen. Sonst knallte die Pageable List. | Details |
| LL-1672-trainings-that-cannot-be-booked-can-be-assigned-in-classroomtraining | remove trainings that cannot be booked inn classroom edit and create form select options employee report training selection remains with non-bookable trainings options | Details |
| + exclude expired cyclic orders for groups and units without active users from… | + exclude expired cyclic orders for groups and units without active users from generation of next cycle + generation of next cycle skips already elapsed intervals | Details |
| LL-1640 | + added trainings filter to user report and propagate that filter to certificate export + added trainings filter to user certificate view and export | Details |
| Feature/ll 1553 add export to organization unit report | Es sollte möglich sein, einen Abteilungsreport aus dem System zu ziehen, so dass die Übersichten für die Abteilungen einzeln sichtbar sind Ebenso soll für den Gruppen-Report ein Export verfügbar sein s. feature/LL-1553-add-export-to-organization-unit-report | Details |
| LL-1696-invalid-e-mail-address-has-entered-the-system | fix email regex | Details |
| LL-1683-catalog-management-overview-of-the-assigned-cliens | added assigned-cliens to additional information in catalogs | Details |
| Feature/ll 1695 optimize user report detailed export | s. http://jira.learningsystem.de/browse/LL-1695 | Details |
| Feature/ll 1691 queuing of mails and notifications | Details | |
| Feature/ll 1623 separate acount closed page | Details | |
| Feature/ll 1610 optimize booking process for groups and units | Details | |
| LL-1503: Anzeige von vererbten Trainings in Unterabteilung mit Link auf… | LL-1503: Anzeige von vererbten Trainings in Unterabteilung mit Link auf Abteilung, wenn User Zugriff darauf hat. | Details |
| Feature/ll 1368 optionally exclude supervisors from unit orders | Details | |
| Feature/ll 1351 provide group copy fkt | Details | |
| LL-1607-training-reminders-interval-delivery && LL-1715-fix-error-when-saving… | LL-1607-training-reminders-interval-delivery && LL-1715-fix-error-when-saving training-reminders-type-date Add colums interval and interval_delivery_at to training-reminders table define interval is only available for reminders with type date allowed interval values under 7 days and over 180 days expired reminders are updated via cron job set trigger for date with trigger_date | Details |
| LL-1730/LL-1731 Authorized user | Dieser merge request fügt ein selectize Feld für die Clients hinzu. Hier werden nur aktive clients aufgelistet die eine subscription relation haben. Ausserdem wird nun der Benutzer gespeichert, der ein Training bucht/freigibt. Diese Daten werden im Export und UI ausgegeben. Damit die Metadaten zurückgegeben werden können, wird https://gitlab.learningsystem.de/lms/mycompetence/commit/26f2da55d139e984452f2ff71fcefb5de4b6b71e benötigt | Details |
| Feature/ll 1685 fix problems with content sessions | Details | |
| Feature/ll 1380 option to deactivat content preview for catalog | Details | |
| Feature/ll 1719 catalog training assigment remove group is not saved | Details | |
| Feature/ll 1137 new order module | Details | |
| LL-1729: added 5 year interval | Details | |
| reduced categories to those for which one can book trainings | Details | |
| fix to LL-1732 | documented variable names changed from camelcase to snake case, but this was not adapted in code | Details |
| Feature/ll 955 new feature complete trainings by superadmin | Details | |
| Feature/ll 1748 client admin reminder x days before order end | Details | |
| reactivated supervisor permission SUPERVOSOR_CAN_CREATE_USER | did some code optimizations | Details |
| Feature/ll 1749 secure classroom training media | Details | |
| Feature/ll 198 standardtrainings fuer gruppen und abteilungen | Unterstützung von Onboarding-Buchungen für Abteilungen und Gruppen | Details |
| LL-1530: Auswahl von Abteilungen für Präsenz | Details | |
| Feature/ll 1742 classroom training certificates | Details | |
| LL-1752 - supervisor reminder sent additionally via database | Details | |
| LL-1756 fixed sorting for orders in groups and organizational units | Details | |
| LL-1759 - provided missing translations in certificate export | Details | |
| Feature/ll 1748 switch between standard and customized reminders | Umbau der Reminder | Details |
| Feature/ll 1638 multiple tn lists | Details | |
| Feature/ll php stan level 3 | Details | |
| Feature/ll 1431 create classroomtrainings by supervisor | Details | |
| LL-1699 - fixed error when sorting distribution partners by campaign number or by redeemed vouchers | Details | |
| LL-1747: Show net prices | Benötigt https://gitlab.learningsystem.de/lms/mycompetence/merge_requests/602 damit die Preise korrekt angezeigt werden, da ein Fehler in der Berechnung innerhalb der API vorhanden war | Details |
| LL-1745: Fix permission checks | Hier war die Abfrage der Berechtigungen noch falsch. Ausserdem ist jetzt ein Datumsfilter integriert.
Benötigt https://gitlab.learningsystem.de/lms/mycompetence/merge_requests/604
image |
Details |
| LL-1754: Show order pagination | Details | |
| Feature/ll csti security client side template injection | http://jira.learningsystem.de/browse/LL-1777 Sicherheitslücke (RCSS) in der UWL | Details |
| LL-1774 client admin can save client catalog now without catalog loosing client context | Details | |
| Feature/ll 1780 free customers have access to the certificate | Details | |
| LL-1789-extend-filter-CMS-pages-to-include-without-archived | status optition not archived added | Details |
| LL-1778: filtering for groups include onboarding-groups | Details | |
| LL-1784: json_encode berücksichtigt nun auch die Apostrophe | Details | |
| LL-1762, LL-1763, LL-1766: Suche, Sortierung, Status von ContentBlocks | Details | |
| Feature/ll 1764 css scripts contentblocks | Details | |
| Feature/ll 1765 code content block | Details | |
| Feature/ll 1788 css scripts pages | Details | |
| Merge branch 'feature/LL-1780-free-customers-have-access-to-the-certificate' into 'develop' | Feature/ll 1780 free customers have access to the certificate See merge request lms/seventeen!968 (cherry picked from commit e8332a0980a38ae76f53accc0eee091d061d4417) b9e0c4e9 LL-1780-free-customers-have-access-to-the-certificate 54e58909 fixer... 244dbdd8 LL-1780-free-customers-have-access-to-the-certificate 72361595 LL-1780-free-customers-have-access-to-the-certificate 54fdaf6b add certificate permission from basic subscription for… | Details |
| Feature/ll fix php stan level 4 myc api problem | Reduktion der PHPStan Level 4 Fehler auf 0 Vorsicht der MYC-API Code ist zwar im Tinker getestet, aber nicht gegen die MYC-API | Details |
| LL-1794 department assignment is not adopted for user creation | Falls jemand kein Supervisor war und auch nicht die Rechte hatte Abteilungen einzusehen, dann knallte der Code If a superior with the general right to create users (without client-specific right for supervisor to create and delete users) assigns an organizational unit when creating a user, this is not transferred. | Details |
| LL-1771 - find supervisors for pure supervisors | - supervisor of user now cannot be the user itself Mechanismus zur Identifikation von Vorgesetzten greift zu kurz User::getSupervisors() liefert bei Nutzung von Abteilungen nur für User, die Mitarbeiter sind, den Vorgesetzten. Das ist im ersten Schritt zwar sinnvoll, aber falls so kein Vorgesetzter gefunden wird, muss im nächsten Schritt nach Vorgesetzten des User gesucht werden, oberhalb von Abteilungen, in denen er selbst Vorgesetzter ist. Das ist wegen der Reminder wichtig. (Gregor ist informiert) Momentan werden Abteilungsleiter nur in den Mails an die Mandanten-Admins aufgelistet, wenn sie noch offene UW haben. | Details |
| LL-1790 added flag once_in_a_lifelime to onboarding orders and implemented ui and logic | LL-1790 - Schalter "once-in-a-lifetime" für Onboardings bereitstellen Für Onboardings sollte es eine Möglichkeit geben, dass das Onboarding nur für einen User gebucht wird, wenn er es noch nie bestanden hat. | Details |
| Feature/ll 1773 multiple supervisors for classroom trainings | LL-1773 - Präsenzunterweisungen - Zugriff weitere VG Ein Nutzer mit der Permission, Präsenzunterweisungen anzulegen und zu bearbeiten respektive ein Vorgesetzter, der der Ersteller der Präsenz-Veranstaltung ist kann (beim Erstellen und Bearbeiten) weitere Nutzer für den Zugriff zuteilen. Hierzu wird ein Auswahlfeld (Mehrfachauswahl) hinzugefügt, welches eine Liste der zur Verfügung stehenden Nutzer enthält. Die Liste der Nutzer, denen Zugriff gewährt werden kann, enthält ausschließlich Vorgesetzte - Nutzer mit der globalen Permission können die Präsenzunterweisung eh einsehen und bearbeiten. Die Liste der User ist ggf. beschränkt durch die Sichtbarkeit des bearbeitenden Vorgesetzten: Es stehen nur andere Vorgesetzte aus der / den gleichen Abteilung(en) und den Kindsknoten zur Verfügung. Nutzer mit globaler Permission können Vorgesetzte aus mehreren unabhängigen Abteilungen hinzufügen. Weitere Vorgesetzte, die über diese Liste hinzugefügt wurden, können die Präsenz-Veranstaltung sehen und bearbeiten. Sie können - gemäß der bereits bestehenden Regeln - ihre Mitarbeiter hinzufügen, Details an der Veranstaltung ändern und die Anwesenheit / das Bestehen markieren. Sie erhalten jedoch keinen zusätzlichen Zugriff auf Aktionen an abteilungsfremden Nutzern (Entfernen und Zugriff auf Zertifikate). | Details |
| LL-1796: Der SSO-Tenant kann mit dummy-metadaten befüllt werden. Dazu muss nicht… | LL-1796: Der SSO-Tenant kann mit dummy-metadaten befüllt werden. Dazu muss nicht unbedingt SSO aktiv sein. | Details |
| LL-1781 - API extension - provides succedded progress to all users of a client… | LL-1781 - API extension - provides succedded progress to all users of a client with new sort option "updated_at" Beschreibung Es braucht ein API, die den Fortschritt aller Mandanten-User ausgibt. Die API muss den Fortschritt für alle bestandenen Unterweisungen ausgeben. Es muss dabei möglich sein nach dem Bestehensdatum zu sortieren. Damit kann man effizient alle aktuell bestandenen Unterweisungen abrufen Das wurde immer wieder bei Kunden angefragt Im Ticket http://jira.learningsystem.de/browse/LL-1781 wurde bereits ein Vorschlag für den Text der API-Dokumentation gemacht | Details |
| Feature/ll 1797 precedence and interval minimalization for onboardings | s. http://jira.learningsystem.de/browse/LL-1797 | Details |
| Feature/ll 1800 rework tags | In punkto Sortierung ist die UWL-Lösung besser als die MYC-Lösung | Details |
| LL-1801 taken solution approach from MYC after a talk to Sascha | LL-1801 - Benutzer Zuordnungsliste wird nicht vollständig geladen Mögliche Teilnehmer werden nicht alle in der Liste angezeigt. Siehe select-multiple Zuordnung Benutzer zur Abteilungen. Siehe select-multiple Zuordnung Benutzer zur Gruppe. Siehe select-multiple Zuordnung Benutzer zur Präsentunterweisungen Vermutlich paginiertes holen von Usern. Bitte auch die Suche prüfen. Wurde zuletzt für MYC und die verknüpften Trainings, in den Trainings-Details, behoben. | Details |
| Feature/ll 1414 access to trained version from employee report | http://jira.learningsystem.de/browse/LL-1414 | Details |
| LL-1709 >> LL-1085 display post office box in client administration | + build validation rules + build js switch code between street address and post office box address + removed unused address requests s. http://jira.learningsystem.de/browse/LL-1085 | Details |
| Feature/ll 872 code review user model | Das Ticket war sehr lange offen und es gab viel Input! + geprüft und nicht verändert wurden die Mutatoren, die ab Larvel9 anders erstellt werden. Wobei sich herausstellt, dass wir gar fast keine Mutatoren als Mutatoren nutzen, sondern als Weg komplexe Model-Berechnungen in eine Funktion zu packen und die Ergebisse einfach in die JSON-Repräsentation des Objektes zu bekommen. Hier sollte in Zukunft abgewogen werden, ob ein wirklicher Nutzen vorliegt, wenn die Funktion am Objekt als Attribut erscheint. Wenn nicht sollte sie auch nur als Funktion aufgerufen werden. + fillable wurde überarbeitet + Datetime-Felder wurden in $cast deklariert + nicht genutzte DB-Felder wurden entfernt | Details |
| LL-1799: Supervisor kann nur buchen, wenn er das Recht dazu hat. Beim Buchen… | LL-1799: Supervisor kann nur buchen, wenn er das Recht dazu hat. Beim Buchen wurde das falsche Recht abgefragt. Preis wurde angezeigt ohne das Recht. has-subscription-test vereinfacht auf Anweisung von Sascha | Details |
| Feature/ll 1698 integration of the authoring tool excelerate | Details | |
| Feature/ll 1813 fix onboarding bug | LL-1813 - doppelte Buchung über Abteilung + Onboarding s. http://jira.learningsystem.de/browse/LL-1813 | Details |
| Feature/ll 1760 add blog | Details | |
| Feature/ll 1321 change history for users v2 | LL-1321 - Änderungshistorie für User verwendet wurde die Bibliothek https://github.com/VentureCraft/revisionable | Details |
| LL-1326 the employee report will now display a graphical / summarized representation | Details | |
| Feature/ll code quality improvement | Alle Controller überarbeitet. + Rückgabewerte typisiert bzw. Typisierung korrigiert + Eingabeparameter typisiert bzw. Typisierung korrigiert + kleinere Code-Optimierungen + Code weiter PHP-Stan Level 4 konform | Details |
| Feature/ll 1821 extend subscription export for billing parameters | LL-1821 Export Abonnementen Liste anpassen Ulli und ich müssen eine Liste erstellen von den Kunden die angepasste Preise haben und nicht den Standard Preis vom Abo zahlen. Kann man im Export die Spalten mit aufnehmen? • Regulärer monatlicher Preis • Monatlicher Preis • Zahlung (quartalsweise) • Zahlung (jährlich) | Details |
| Feature/ll 1812 supervisors see training queries of foreign users | Details | |
| Feature/ll code quality authoring tool | Korrektur-Zweig zum Autorentool | Details |
| LL-1744 - display additional trainings in profile | LL-1744 - Ergänzung Profil um Fortbildungshistorie | Details |
| Feature/ll 1746 rework myc training display on dashboard | Umsetzung erfolgt sowohl in myCompetence as auch in der UWL im gleichnamigen Zweig feature/LL-1746-rework-myc-training-display-on-dashboard Hier im UWL Zweig sind in der Datei DashboardController.php die Zeilen 67-68 Code auskommentiert. Sobald der Zweig in myCompetence integriert wurde, dürfen diese Kommentare entfernt werden. Solange die Kommentare gesetzt sind, wird nicht absteigend nach Zuweisungsdatum sortiert und es werden auch nicht bestandene Fortbildungen herausgefiltert, wohl aber nicht angezeigt. Ticket: http://jira.learningsystem.de/browse/LL-1746 MYC-Merge-Request: https://gitlabnew.learningsystem.de/lms/mycompetence/-/merge_requests/3 | Details |
| LL-1779 - Fortbildungen buchen als optionale Berechtigung bei Vorgesetzten | s. http://jira.learningsystem.de/browse/LL-1779 Bitte die Umstellungen in der Rechteprüfung. genau ansehen. Kritisch sind die Methoden: * User::canBookMyCompetenceTraining() und * User::canApproveMycompetenceTrainingRequests() die sich nur darin unterscheiden, dass beim Allgemeinen Recht noch geprüft wird, ob man die Preise sehen kann | Details |
| LL-1727 - show rating information in MYC catalog, when passed by API | - requires Merge-Request https://gitlabnew.learningsystem.de/lms/mycompetence/-/merge_requests/4 to be merged first s. http://jira.learningsystem.de/browse/LL-1727 | Details |
| Feature/ll 1714 myc watch list | LL-1714 - Merklisten für myCompetence-Trainings s. http://jira.learningsystem.de/browse/LL-1714 Analog myCompetence.de wünschen die User die Möglichkeit, Trainings in einer Merkliste zwischenzuspeichern Es wäre hier auch sinnvoll, mehrere Listen - analog Amazon - anlegen zu können, damit die User direkt die Möglichkeit haben, Trainings für bestimmte Zwecke/Abteilungen/Bereiche zu speichern und hier zunächst zu sammeln. | Details |
| LL-1785 extended order report and export for organizational units | LL-1785 - Erweiterung myC-Buchungen GUI und Export um Abteilungen s. http://jira.learningsystem.de/browse/LL-1785 | Details |
| LL-1825: Abteilungen unique gemacht, da sonst eine Abteilung als betreute… | LL-1825: Abteilungen unique gemacht, da sonst eine Abteilung als betreute Abteilung und als Unterabteilung einer betreuteten Abteilung aufgeführt werden kann | Details |
| Feature/ll 1724 myc budget | Details | |
| LL-1823 make sure a training passed this year supresses a later onboarding | LL-1823 - falsche Zuweisung von Onboarding-Buchung beim Aktivieren von Usern http://jira.learningsystem.de/browse/LL-1823 | Details |
| Feature/ll 1809 optimize implicite group based bookings | LL-1809 Bei impliziter Buchung durch Gruppenzuordnung werden nicht immer Zuweisungen erzeugt s. http://jira.learningsystem.de/browse/LL-1809 | Details |
| Feature/ll 1533 multilangual certificates | LL-1533 - Mehrsprachigkeit der myC-Zertifikate s. http://jira.learningsystem.de/browse/LL-1533 | Details |
| skipping authoring tool api tests, when api is not available | LL-1836 - Wenn das Autorenwerkzeug nicht erreichbar ist, dann müssen die entsprechenden Tests ausgelassen werden s. http://jira.learningsystem.de/browse/LL-1836 | Details |
| Feature/ll 1835 28 day reminder must excude future assignments | LL-1835 - Kein 28-Tage-Mail-System-Mail an Vorgesetzte "N-Tage vor Ende" bei zukünftigen Buchungen s. http://jira.learningsystem.de/browse/LL-1835 | Details |
| Feature/ll 1824 modify existing onboardings | LL-1824 - Onboarding Einstellungen bearbeiten Ist es möglich das man im Nachhinein die "Verfügbarer Zeitraum" und " wenn niemals bestanden" bearbeiten kann? s. http://jira.learningsystem.de/browse/LL-1824 | Details |
| LL-1722-display-preview-videos-myc-in-uwl-and-customization-detail-page | added preview image and preview video for customer video preview to top of the content | Details |
| Feature/ll 1456 faq rework | s. http://jira.learningsystem.de/browse/LL-1456 | Details |
| LL-1830-add-all-users-button-for-subscriptions | Button “all users” for subscriptions added in exactly the same way as for clients | Details |
| Feature/ll 1851 release 6.2.1 fix vue user training listing | s. http://jira.learningsystem.de/browse/LL-1851 | Details |
| LL-1829-linking-all-users-in-the-client | the same -all users- button from the client table was inserted in the client settings for the right list users | Details |
| LL-1831-export-subscription-list-customization | subscription list exporting added or changed columns: Individual price per month (yes/no) the -payment (quarterly or annually)- show the price instead of yes/no Date of termination Company address (fields separated as when entering) | Details |
| LL-1849 checked for all reports that initial filters are applied to report exports | s. http://jira.learningsystem.de/browse/LL-1849 | Details |
| LL-1832-further-fields-in-the-client-data-sheet | * added free text field for entering the sales contact person, placed below contact person * inserted in the settings tab switch for online client field after the internal account field * added useMycompetence indicator * added useChargeablecatalog indicator * added useOwnCatalogs field indicator * added authoring_tool_indicator added all files to the gui and to the export list | Details |
| LL-1853 added missing logic, when a organizational unit is being deleted | s. http://jira.learningsystem.de/browse/LL-1853 | Details |
| Feature/ll 1828 delete button for free clients | s. http://jira.learningsystem.de/browse/LL-1828 | Details |
| LL-1833-customize-user-overview-super-admin | removed Personnel number added units (with line break) position: employee or manager (also as filter) | Details |
| Feature/ll 1827 customer hidden subscription models | s. http://jira.learningsystem.de/browse/LL-1827 | Details |
| LL-1847-status-display-in-the-view-of-the-individual-training-queries | Status added to view training requests | Details |
| Feature/ll security improvement | + replaced output of "csrf_field()" by "@csrf" + Rule "csti_save" extended, so that it does not allow "<" and ">" characters | Details |
| Feature/ll 1642 filter for catalogs | Details | |
| Feature/ll 1861 block order in positions | Sortierung gefixt. Alten Code entfernt - wenn nicht mehr 3 verschiedene Listen übergeben werden, von denen 2 nicht genutzt werden, ist es auch einfacher in der korrekten Liste die Sortierung zu korrigieren... | Details |
| LL-1858 Field information not removable | added field to list of potential null fields. | Details |