Namen bei allen Ausleihen #87
Closed
opened 2026-11-01 09:44:57 +00:00 by Aiirondev
·
4 comments
No Branch/Tag Specified
main
v1.1.4
v1.1.4-dev.17
v1.1.4-dev.16
v1.1.4-dev.15
v1.1.4-dev.14
v1.1.4-dev.13
v1.1.4-dev.12
v1.1.4-dev.11
v1.1.4-dev.10
v1.1.4-dev.9
v1.1.4-dev.8
v1.1.4-dev.7
v1.1.4-dev.6
v1.1.4-dev.5
v1.1.4-dev.4
v1.1.4-dev.3
v1.1.4-dev.2
v1.1.4-dev.1
v1.1.3
v1.1.3-dev.5
v1.1.3-dev.4
v1.1.3-dev.3
v1.1.3-dev.2
v1.1.3-dev.1
v1.1.2
v1.1.2-dev.3
v1.1.2-dev.2
v1.1.2-dev.1
v1.1.1
v1.1.1-dev.6
v1.1.1-dev.5
v1.1.1-dev.4
v1.1.1-dev.3
v1.1.1-dev.2
v1.1.1-dev.1
v1.1.0
v1.0.7
v1.0.7-dev.2
v1.0.7-dev.1
v1.0.6
v1.0.6-dev.4
v1.0.6-dev.3
v1.0.6-dev.2
v1.0.6-dev.1
v1.0.5
v1.0.5-dev.4
v1.0.5-dev.3
v1.0.5-dev.2
v1.0.5-dev.1
v1.0.4
v1.0.4-dev.1
v1.0.3
v1.0.2
v1.0.2-dev.2
v1.0.2-dev.1
v1.0.1
v1.0.1-dev.2
v1.0.1-dev.1
v1.0.0
v0.16.0
v0.15.2-dev.3
v0.15.2-dev.2
v0.15.2-dev.1
v0.15.1
v0.15.1-dev.4
v0.15.1-dev.3
v0.15.1-dev.2
v0.15.1-dev.1
v0.15.0
v0.14.5-dev.2
v0.14.5-dev.1
v0.14.4
v0.14.3
v0.14.3-dev.5
v0.14.3-dev.4
v0.14.3-dev.3
v0.14.3-dev.2
v0.14.3-dev.1
v0.14.2
v0.14.2-dev.7
v0.14.2-dev.6
v0.14.2-dev.5
v0.14.2-dev.4
v0.14.2-dev.3
v0.14.2-dev.2
v0.14.2-dev.1
v0.14.1
v0.14.1-dev.3
v0.14.1-dev.2
v0.14.1-dev.1
v0.14.0
v0.13.25-dev.14
v0.13.25-dev.13
v0.13.25-dev.12
v0.13.25-dev.11
v0.13.25-dev.10
v0.13.25-dev.9
v0.13.25-dev.8
v0.13.25-dev.7
v0.13.25-dev.6
v0.13.25-dev.5
v0.13.25-dev.4
v0.13.25-dev.3
v0.13.25-dev.2
v0.13.25-dev.1
v0.13.24
v0.13.24-dev.6
v0.13.24-dev.5
v0.13.24-dev.4
v0.13.24-dev.3
v0.13.24-dev.2
v0.13.24-dev.1
v0.13.23
v0.13.23-dev.11
v0.13.23-dev.10
v0.13.23-dev.9
v0.13.23-dev.8
v0.13.23-dev.7
v0.13.23-dev.6
v0.13.23-dev.5
v0.13.23-dev.4
v0.13.23-dev.3
v0.13.23-dev.2
v0.13.23-dev.1
v0.13.22
v0.13.22-dev.6
v0.13.22-dev.5
v0.13.22-dev.4
v0.13.22-dev.3
v0.13.22-dev.2
v0.13.22-dev.1
v0.13.21
v0.8.32-dev.1
v0.13.21-dev.30
v0.13.21-dev.29
v0.13.21-dev.28
v0.13.21-dev.27
v0.13.21-dev.26
v0.13.21-dev.25
v0.13.21-dev.24
v0.13.21-dev.23
v0.13.21-dev.22
v0.13.21-dev.21
v0.13.21-dev.20
v0.13.21-dev.19
v0.13.21-dev.18
v0.13.21-dev.17
v0.13.21-dev.16
v0.13.21-dev.15
v0.13.21-dev.14
v0.13.21-dev.13
v0.13.21-dev.12
v0.13.21-dev.11
v0.13.21-dev.10
v0.13.21-dev.9
v0.13.21-dev.8
v0.13.21-dev.7
v0.13.21-dev.6
v0.13.21-dev.5
v0.13.21-dev.4
v0.13.21-dev.3
v0.13.21-dev.2
v0.13.21-dev.1
v0.13.20
v0.13.20-dev.27
v0.13.20-dev.26
v0.13.20-dev.25
v0.13.20-dev.24
v0.13.20-dev.23
v0.13.20-dev.22
v0.13.20-dev.21
v0.13.20-dev.20
v0.13.20-dev.19
v0.13.20-dev.18
v0.13.20-dev.17
v0.13.20-dev.16
v0.13.20-dev.15
v0.13.20-dev.14
v0.13.20-dev.13
v0.13.20-dev.12
v0.13.20-dev.11
v0.13.20-dev.10
v0.13.20-dev.9
v0.13.20-dev.8
v0.13.20-dev.7
v0.13.20-dev.6
v0.13.20-dev.5
v0.13.20-dev.4
v0.13.20-dev.3
v0.13.20-dev.2
v0.13.20-dev.1
v0.13.19
v0.13.19-dev.1
v0.13.18
v0.13.18-dev.12
v0.13.18-dev.11
v0.13.18-dev.10
v0.13.18-dev.9
v0.13.18-dev.8
v0.13.18-dev.7
v0.13.18-dev.6
v0.13.18-dev.5
v0.13.18-dev.4
v0.13.18-dev.3
v0.13.18-dev.2
v0.13.18-dev.1
v0.13.17
v0.13.17-dev.4
v0.13.17-dev.3
v0.13.17-dev.2
v0.13.17-dev.1
v0.13.16
v0.13.16-dev.17
v0.13.16-dev.16
v0.13.16-dev.15
v0.13.16-dev.14
v0.13.16-dev.13
v0.13.16-dev.12
v0.13.16-dev.11
v0.13.16-dev.10
v0.13.16-dev.9
v0.13.16-dev.8
v0.13.16-dev.7
v0.13.16-dev.6
v0.13.16-dev.5
v0.13.16-dev.4
v0.13.16-dev.3
v0.13.16-dev.2
v0.13.16-dev.1
v0.13.15
v0.13.15-dev.4
v0.13.15-dev.3
v0.13.15-dev.2
v0.13.15-dev.1
v0.13.14
v0.13.14-dev.19
v0.13.14-dev.18
v0.13.14-dev.17
v0.13.14-dev.16
v0.13.14-dev.15
v0.13.14-dev.14
v0.13.14-dev.13
v0.13.14-dev.12
v0.13.14-dev.11
v0.13.14-dev.10
v0.13.14-dev.9
v0.13.14-dev.8
v0.13.14-dev.7
v0.13.14-dev.6
v0.13.14-dev.5
v0.13.14-dev.4
v0.13.14-dev.3
v0.13.14-dev.2
v0.13.14-dev.1
v0.13.13
v0.13.13-dev.5
v0.13.13-dev.4
v0.13.13-dev.3
v0.13.13-dev.2
v0.13.13-dev.1
v0.13.12
v0.13.12-dev.9
v0.13.12-dev.8
v0.13.12-dev.7
v0.13.12-dev.6
v0.13.12-dev.5
v0.13.12-dev.4
v0.13.12-dev.3
v0.13.12-dev.2
v0.13.12-dev.1
v0.13.11
v0.13.11-dev.15
v0.13.11-dev.14
v0.13.11-dev.13
v0.13.11-dev.12
v0.13.11-dev.11
v0.13.11-dev.10
v0.13.11-dev.9
v0.13.11-dev.8
v0.13.11-dev.7
v0.13.11-dev.6
v0.13.11-dev.5
v0.13.11-dev.4
v0.13.11-dev.3
v0.13.11-dev.2
v0.13.11-dev.1
v0.13.10
v0.13.10-dev.1
v0.13.9
v0.13.9-dev.2
v0.13.9-dev.1
v0.13.8
v0.13.8-dev.1
v0.13.7
v0.13.6
v0.13.6-dev.1
v0.13.5
v0.13.4
v0.13.3
v0.13.3-dev.2
v0.13.3-dev.1
v0.13.2
v0.13.2-dev.1
v0.13.1
v0.13.1-dev.7
v0.13.1-dev.6
v0.13.1-dev.5
v0.13.1-dev.4
v0.13.1-dev.3
v0.13.1-dev.2
v0.13.1-dev.1
v0.13.0
v0.12.113-dev.1
v0.12.112
v0.12.112-dev.135
v0.12.111
v0.12.110
v0.12.109
v0.12.108
v0.12.107
v0.12.106
v0.12.105
v0.12.104
v0.12.103
v0.12.102
v0.12.101
v0.12.100
v0.12.99
v0.12.98
v0.12.97
v0.12.96
v0.12.95
v0.12.94
v0.12.93
v0.12.92
v0.12.91
v0.12.90
v0.12.89
v0.12.88
v0.12.87
v0.12.86
v0.12.85
v0.12.84
v0.12.83
v0.12.82
v0.12.81
v0.12.80
v0.12.79
v0.12.78
v0.12.77
v0.12.76
v0.12.75
v0.12.74
v0.12.73
v0.12.72
v0.12.71
v0.12.70
v0.12.69
v0.12.68
v0.12.67
v0.12.66
v0.12.65
v0.12.64
v0.12.63
v0.12.62
v0.12.61
v0.12.60
v0.12.59
v0.12.58
v0.12.57
v0.12.56
v0.12.55
v0.12.54
v0.12.53
v0.12.52
v0.12.51
v0.12.50
v0.12.49
v0.12.48
v0.12.47
v0.12.46
v0.12.45
v0.12.44
v0.12.43
v0.12.42
v0.12.41
v0.12.40
v0.12.39
v0.12.38
v0.12.37
v0.12.36
v0.12.35
v0.12.34
v0.12.33
v0.12.32
v0.12.31
v0.12.30
v0.12.29
v0.12.28
v0.12.27
v0.12.26
v0.12.25
v0.12.24
v0.12.23
v0.12.22
v0.12.21
v0.12.20
v0.12.19
v0.12.18
v0.12.17
v0.12.16
v0.12.15
v0.12.14
v0.12.13
v0.12.12
v0.12.11
v0.12.10
v0.12.9
v0.12.8
v0.12.7
v0.12.6
v0.12.5
v0.12.4
v0.12.3
v0.12.2
v0.12.1
v0.12.0
v0.11.45
v0.11.44
v0.11.43
v0.11.42
v0.11.41
v0.11.40
v0.11.39
v0.11.38
v0.11.37
v0.11.36
v0.11.35
v0.11.34
v0.11.33
v0.11.32
v0.11.31
v0.11.30
v0.11.29
v0.11.28
v0.11.27
v0.11.26
v0.11.25
v0.11.24
v0.11.23
v0.11.22
v0.11.21
v0.11.20
v0.11.19
v0.11.18
v0.11.17
v0.11.16
v0.11.15
v0.11.14
v0.11.13
v0.11.12
v0.11.11
v0.11.10
v0.11.9
v0.11.8
v0.11.7
v0.11.6
v0.11.5
v0.11.4
v0.11.3
v0.11.2
v0.11.1
v0.11.0
v0.10.8
v0.10.7
v0.10.6
v0.10.5
v0.10.4
v0.10.3
v0.10.2
v0.10.1
v0.10.0
v0.9.11
v0.9.10
v0.9.9
v0.9.8
v0.9.7
v0.9.6
v0.9.5
v0.9.4
v0.9.3
v0.9.2
v0.9.1
v0.9.0
v0.8.80
v0.8.79
v0.8.78
v0.8.77
v0.8.76
v0.8.75
v0.8.74
v0.8.73
v0.8.72
v0.8.71
v0.8.70
v0.8.69
v0.8.68
v0.8.67
v0.8.66
v0.8.65
v0.8.64
v0.8.63
v0.8.62
v0.8.61
v0.8.60
v0.8.59
v0.8.58
v0.8.57
v0.8.56
v0.8.55
v0.8.54
v0.8.53
v0.8.52
v0.8.51
v0.8.50
v0.8.49
v0.8.48
v0.8.47
v0.8.46
v0.8.45
v0.8.44
v0.8.43
v0.8.42
v0.8.41
v0.8.40
v0.8.39
v0.8.38
v0.8.37
v0.8.36
v0.8.35
v0.8.34
v0.8.33
v0.8.32
v0.8.31.1
v0.8.31
v0.8.30
v0.8.29
v0.8.28
v0.8.27
v0.8.26
v0.8.25
v0.8.24
v0.8.23
v0.8.22
v0.8.21
v0.8.20
v0.8.19
v0.8.18
v0.8.17
v0.8.16
v0.8.15
v0.8.14
v0.8.13
v0.8.12
v0.8.11
v0.8.10
v0.8.9
v0.8.8
v0.8.7
v0.8.6
v0.8.5
v0.8.4
v0.8.3
v0.8.2
v0.8.1
v0.8.0
v0.7.79-dev
v0.7.78
v0.7.77
v0.7.76
v0.7.75
v0.7.74
v0.7.73
v0.7.72
v0.7.71
v0.7.70
v0.7.69
v0.7.68
v0.7.67
v0.7.66
v0.7.65
v0.7.64
v0.7.63
v0.7.62
v0.7.61
v0.7.60
v0.7.59
v0.7.58
v0.7.57
v0.7.56
v0.7.55
v0.7.54
v0.7.53
v0.7.52
v0.7.51
v0.7.50
v0.7.49
v0.7.48
v0.7.47
v0.7.46
v0.7.44
v0.7.45
v0.7.43
v0.7.42
v0.7.40
v0.7.39
v0.7.41
v0.7.38
v0.7.37
v0.7.36
v0.7.35
v0.7.34
v0.7.33
v0.7.32
v0.7.31
v0.7.30
v0.7.29
v0.7.27
v0.7.28
v0.7.26
v0.7.25
v0.7.24
v0.7.23
v0.7.22
v0.7.21
v0.7.20
v0.7.19
v0.7.18
v0.7.17
v0.7.16
v0.7.14
v0.7.15
v0.7.13
v0.7.12
v0.7.11
v0.7.10
v0.7.9
v0.7.8
v0.7.7
v0.7.6
v0.7.5
v0.7.4
v0.7.3
v0.7.2
v0.7.1
v0.7.0
v0.6.80
v0.6.79
v0.6.78
v0.6.77
v0.6.76
v0.6.75
v0.6.74
v0.6.73
v0.6.71
v0.6.72
v0.6.70
v0.6.69
v0.6.68
v0.6.67
v0.6.66
v0.6.65
v0.6.64
v0.6.63
v0.6.62
v0.6.61
v0.6.60
v0.6.59
v0.6.58
v0.6.57
v0.6.56
v0.6.55
v0.6.54
v0.6.53
v0.6.52
v0.6.51
v0.6.50
v0.6.49
v0.6.48
v0.6.46
v0.6.47
v0.6.45
v0.6.44
v0.6.43
v0.6.42
v0.6.41
v0.6.40
v0.6.39
v0.6.38
v0.6.37
v0.6.36
v0.6.35
v0.6.34
v0.6.33
v0.6.32
v0.6.31
v0.6.30
v0.6.29
v0.6.28
v0.6.27
v0.6.26
v0.6.25
v0.6.23
v0.6.24
v0.6.22
v0.6.21
v0.6.20
v0.6.19
v0.6.18
v0.6.17
v0.6.16
v0.6.15
v0.6.14
v0.6.13
v0.6.12
v0.6.11
v0.6.10
v0.6.9
v0.6.8
v0.6.7
v0.6.5
v0.6.6
v0.6.4
v0.6.3
v0.6.2
v0.6.1
v0.6.0
v0.5.34
v0.5.33
v0.5.32
v0.5.31
v0.5.30
v0.5.29
v0.5.28
v0.5.27
v0.5.26
v0.5.25
v0.5.24
v0.5.23
v0.5.22
v0.5.21
v0.5.20
v0.5.19
v0.5.18
v0.5.17
v0.5.16
v0.5.15
v0.5.14
v0.5.13
v0.5.12
v0.5.11
v0.5.10
v0.5.9
v0.5.8
v0.5.7
v0.5.6
v0.5.5
v0.5.4
v0.5.3
v0.5.2
v0.5.1
v0.5.0
v0.4.1
v0.4.0
v0.3.1
v0.3.0
v0.2.20
v0.2.19
v0.2.18
v0.2.17
v0.2.16
v0.2.15
v0.2.14
v0.2.13
v0.2.12
v0.2.11
v0.2.10
v0.2.9
v0.2.8
v0.2.7
v0.2.6
v0.2.5
v0.2.4
v0.2.3
v0.2.2
v0.2.1
v0.2.0
v0.1.7
v0.1.6
v0.1.5
v0.1.4
v0.1.3
v0.1.2
v0.1.1
v0.1.0
v0.0.9
v0.0.8
v0.0.7
v0.0.6
v0.0.5
v0.0.4
v0.0.3
v0.0.2
v0.0.1
Labels
Clear labels
Compat/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Needs Review
Breaking change that won't be backward compatible
Something is not working
Documentation changes
Improve existing functionality
New functionality
This is security issue
Issue or pull request related to testing
Priority
Critical
1
The priority is critical
Priority
High
2
The priority is high
Priority
Low
4
The priority is low
Priority
Medium
3
The priority is medium
Reviewed
Confirmed
1
Issue has been confirmed
Reviewed
Duplicate
2
This issue or pull request already exists
Reviewed
Invalid
3
Invalid issue
Reviewed
Won't Fix
3
This issue won't be fixed
Status
Abandoned
3
Somebody has started to work on this but abandoned work
Status
Blocked
1
Something is blocking this issue or pull request
Status
Need More Info
2
Feedback is required to reproduce issue or to continue work
Projects
Clear projects
No project
No Assignees
Aiirondev_dev
Notifications
Total Time Spent: 28 hours 11 minutes
Aiirondev
28 hours 11 minutes
No due date set.
Dependencies
No dependencies set.
Reference: Invario/Inventarsystem#87
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Von encryptet Namen zurück zu normalen Namen bei der ausleihe Übersicht bei Inventarsystem
Ursache
Die Ausleihen speichern den Benutzer inzwischen als MongoDB-User-ID:
Mehrere Anzeige-Stellen behandelten diesen Wert aber weiterhin wie einen verschlüsselten Benutzernamen und riefen nur decrypt_text() auf. Eine User-ID kann dadurch nicht in einen Benutzernamen umgewandelt werden und wurde deshalb direkt angezeigt.
Studenten-Ausweis-IDs bleiben davon getrennt und werden weiterhin über die bestehende Entschlüsselungslogik verarbeitet.
Umsetzung
Ich habe nur die relevanten Bereiche angepasst:
Einen zentralen Resolver für Anzeige-Benutzernamen in Web/app.py:161 ergänzt.
Sucht zuerst nach einem User anhand seiner MongoDB-ID.
Gibt den gespeicherten Benutzernamen zurück.
Unterstützt als Fallback weiterhin alte verschlüsselte Benutzernamen.
Eine tenant-fähige User-ID-Suche in Web/modules/database/user.py:876 ergänzt.
Die relevanten Anzeige- und API-Stellen auf den Resolver umgestellt, unter anderem:
Ausleihübersichten
geplante Buchungen
Logs
Schadens- und Ausleihanzeigen
Benachrichtigungen
Rechnungs-/Bibliotheksansichten
Stornierung einer Ausleihe, damit die Berechtigungsprüfung mit User-IDs funktioniert
Validierung
Keine Syntaxfehler in Web/app.py
Keine Syntaxfehler in Web/modules/database/user.py
git diff --check erfolgreich
Im Repository wurden keine automatisierten Python-Testdateien gefunden
Die Änderung ist bewusst auf Benutzer-Anzeige- und Benutzer-Zuordnungsstellen beschränkt; die Verarbeitung von Schülerausweis-IDs wurde nicht verändert.
Commit:
79cf958c3cPreRelease: v1.1.4-dev.12
In Web/app.py:3578 wurde die Anzeige bisher nur mit safe_decrypt() verarbeitet. Dadurch blieben verschlüsselte Namen sichtbar.
Jetzt wird dort der zentrale _display_username()-Resolver verwendet. Damit werden folgende Werte korrekt behandelt:
normale User-ID
Bibliotheksausweis-ID über users.StudentCardId
alte verschlüsselte Benutzernamen
alte Ausleihen, die versehentlich die student_cards._id enthalten
2. Alle Ausleihungen
Die Liste unter /admin/borrowings nutzt ebenfalls den erweiterten Resolver. Wenn in einer alten Ausleihe nur die Objekt-ID des Bibliotheksausweises gespeichert ist, wird jetzt:
das student_cards-Dokument über dessen _id gesucht,
daraus die AusweisId gelesen,
der zugehörige User über users.StudentCardId ermittelt,
der Benutzername angezeigt.
Dafür wurde in Web/modules/database/user.py:711 der gezielte Fallback get_user_by_student_card_record_id() ergänzt.
Validierung
Keine Syntaxfehler in Web/app.py
Keine Syntaxfehler in Web/modules/database/user.py
git diff --check erfolgreich
Keine weiteren Stellen gefunden, die in diesen beiden Ansichten noch direkt safe_decrypt(raw_user) für die Benutzeranzeige verwenden
Commit:
1a32a078bcPreRelease: v1.1.4-dev.14
Release: v1.1.4