Merge branch 'master' into fradrive/newletter
This commit is contained in:
commit
e5cbd096ce
83
CHANGELOG.md
83
CHANGELOG.md
@ -2,6 +2,89 @@
|
|||||||
|
|
||||||
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
||||||
|
|
||||||
|
## [27.4.67](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/compare/v27.4.66...v27.4.67) (2024-06-17)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **avs:** fix rare avs update bug involving values optional in avs but compulsory in user entity ([a6d0105](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a6d0105903caba0eb47715eeb217ea2c53d99e23))
|
||||||
|
|
||||||
|
## [27.4.66](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/compare/v27.4.65...v27.4.66) (2024-06-12)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **avs:** fix [#164](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/164) by removing companyPersonalNumber and companyDepartment upon ldap sync expiry ([da74b95](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/da74b957295caefb010c90297af557f997b18e7c))
|
||||||
|
* **avs:** fix [#165](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/165) by updating userCompanyDepartmen and userCompanyPersonalNumer ([76e0710](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/76e0710c7b54a40d2c236299ea4fabd009d3f35a))
|
||||||
|
* **avs:** repeated avs sync enqueue no longe violates duplicate db uniqueness constraints ([996e6a0](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/996e6a0ce563bda96638863efd40ce38fce8ac2b))
|
||||||
|
* **avs:** update email on manual company switch ([9fd80f2](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/9fd80f25526eefce217c659f6ea2991771c11ece)), closes [#164](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/164)
|
||||||
|
|
||||||
|
## [27.4.65](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/compare/v27.4.64...v27.4.65) (2024-06-10)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **avs:** company update no longer fails on duplicate key ([bb101de](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/bb101dee7b40cd3d8ba10a559af642396d5b87b5))
|
||||||
|
* **avs:** profile page correctly indicates automatic email and postal addresses ([e553ad4](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/e553ad4358a71fc96fa946533f0441d4af5202c9))
|
||||||
|
* **avs:** steps towards [#164](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/164) ([aa1d230](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/aa1d230e497f0e59dbea9f4fd5c7da773f5a4280))
|
||||||
|
* **lette:** adjust window for new pin letters ([6acfd84](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/6acfd849aeb473a018f7a9c34e69f61b3c22b6f8))
|
||||||
|
|
||||||
|
## [27.4.64](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/compare/v27.4.63...v27.4.64) (2024-05-27)
|
||||||
|
|
||||||
|
## [27.4.63](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/compare/v27.4.62...v27.4.63) (2024-05-23)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **avs:** company update checks uniques and ignores those updates if necessary ([9451d90](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/9451d90a9e00d08a2a7d169c4674d99ff1018ee9))
|
||||||
|
|
||||||
|
## [27.4.62](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/compare/v27.4.61...v27.4.62) (2024-05-19)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **avs:** avs update on company shorthands working now ([ff2347b](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ff2347b1c950c7a2bb281cdcd07a52925e23b9f0))
|
||||||
|
* **avs:** deal gracefully with empty card status results ([ccf9340](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ccf934044938277d821eb4b9ea08a8a134e84189))
|
||||||
|
|
||||||
|
## [27.4.61](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/compare/v27.4.60...v27.4.61) (2024-05-06)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **avs:** fix [#76](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/76) allowing company changes and fix [#69](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/69) ([3c4a0b8](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/3c4a0b86c1e3d8a28405ab73b964ba1b988d2822))
|
||||||
|
* **build:** add missing tex packages ([6750798](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/6750798920dc76882f4e8ef39b47018fb7b77e44))
|
||||||
|
* **build:** workaround non modal form result handler ([2fbd281](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/2fbd28154cd7aea282eaa2604a42263ac90e3b1e))
|
||||||
|
|
||||||
|
## [27.4.60](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/compare/v27.4.59...v27.4.60) (2024-04-26)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **avs:** disable caching by 0s no longer causes an exception ([d578e80](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d578e80282c8bf6872fa6040514a9d2c85582707))
|
||||||
|
* **avs:** fix [#152](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/152) by providing new online avs card filter throughout ([ad2375b](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ad2375b338866f37c8b7825a9eab12fa6c9abccb))
|
||||||
|
* **avs:** fix [#36](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/36) and remove dead code ([4f8850b](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/4f8850b3b4f710f9cf59163175b27599c97ac5c0))
|
||||||
|
* **avs:** fix [#69](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/69) by redesigning live avs status page ([697979c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/697979c277ce7198f4573d6cea30373a1fcc17da))
|
||||||
|
* **avs:** invalidate contact cache after licence writes ([c382be9](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/c382be9325fcc92e13cb5dc2ad7c20b198db26fc))
|
||||||
|
* **avs:** several minor bugfixes ([a52c8a6](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a52c8a6ad709029a8822d383370b0d2bdd25e7d7)), closes [#158](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/158)
|
||||||
|
* **build:** add import needed for production only ([724e4a0](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/724e4a0bec343ab9c6d172d8e93b8040bbe3fe7d))
|
||||||
|
* **build:** migration needs to check for table existens first ([f439ea4](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/f439ea45af9b1c4a029fc1b9b6383f3c97194ed0))
|
||||||
|
* **build:** minor error non-development code ([66eaa4f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/66eaa4f7dcc124b631414d4a1adbe555a4029100))
|
||||||
|
* **build:** missing parameters added ([83afdf7](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/83afdf760f93fc1a553de3a122b444412ed84ba4))
|
||||||
|
* **build:** simple type error ([d56a1cd](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d56a1cdd46259418faa737b9bb0a9d9ffba442e0))
|
||||||
|
* **build:** type error in test db fill data ([f465cc9](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/f465cc972367233a4944dd0aeb81b223a187bb85))
|
||||||
|
* **doc:** minor haddock problems ([d4f8a6c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d4f8a6c77b2a4a4540935f7f0beca0d0605508c8))
|
||||||
|
* **firm:** supervisor filter acts weird in test environment ([b566e59](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/b566e59eb1325485fe26dc4f0b5cb63165c58f74))
|
||||||
|
* **i18n:** fix some bad plurals ([890f8ad](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/890f8ad8b60115533faa6b99f4c4504243cbfb1d))
|
||||||
|
* **lint:** remove minor superfluous dollar ([64a1233](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/64a123387f3539b73649d02a6ecd97de577097e6))
|
||||||
|
* **qualification:** fix [#159](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/159) by removing an misleadingly named column for user qualification table ([fd6a538](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/fd6a5384d3517958a3c7726e32eed3bad197a591))
|
||||||
|
|
||||||
|
## [27.4.59](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/compare/v27.4.58...v27.4.59) (2024-02-13)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **sql:** remove potential bug in relation to missing parenthesis after not_ ([42695cf](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/42695cf5ef9f21691dc027f1ec97d57eec72f03e))
|
||||||
|
|
||||||
## [27.4.58](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/compare/v27.4.57...v27.4.58) (2024-02-08)
|
## [27.4.58](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/compare/v27.4.57...v27.4.58) (2024-02-08)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
6
fixtest.sh
Executable file
6
fixtest.sh
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
if [[ ! -d .stack-work-test ]]; then
|
||||||
|
mv -vT .stack-work .stack-work-test
|
||||||
|
[[ -d .stack-work-build ]] && mv -vT .stack-work-build .stack-work
|
||||||
|
else
|
||||||
|
echo "Directory .stack-work-test exists already."
|
||||||
|
fi
|
||||||
@ -1,11 +1,9 @@
|
|||||||
# SPDX-FileCopyrightText: 2022 Gregor Kleen <gregor.kleen@ifi.lmu.de>,Steffen Jost <jost@tcs.ifi.lmu.de>
|
# SPDX-FileCopyrightText: 2022-24 Gregor Kleen <gregor.kleen@ifi.lmu.de>,Steffen Jost <jost@tcs.ifi.lmu.de>,Steffen Jost <s.jost@fraport.de>
|
||||||
#
|
#
|
||||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
|
|
||||||
|
FAQLoginExpired: Mein Passwort ist abgelaufen und muss erneuert werden
|
||||||
FAQNoCampusAccount: Ich habe keine Fraport AG Kennung (Büko-Login); kann ich trotzdem Zugang zum System erhalten?
|
FAQNoCampusAccount: Ich habe keine Fraport AG Kennung (Büko-Login); kann ich trotzdem Zugang zum System erhalten?
|
||||||
FAQForgottenPassword: Ich habe mein Passwort vergessen
|
FAQForgottenPassword: Ich habe mein Passwort vergessen
|
||||||
FAQCampusCantLogin: Ich kann mich mit meiner Fraport AG Kennung (Büko-Login) nicht anmelden
|
FAQCampusCantLogin: Ich kann mich mit meiner Fraport AG Kennung (Büko-Login) nicht anmelden
|
||||||
FAQCourseCorrectorsTutors: Wie kann ich Ausbilder oder Korrektoren für meine Kursart konfigurieren?
|
FAQNotLecturerHowToCreateCourses: Wie kann ich eine neue Kursart anlegen?
|
||||||
FAQNotLecturerHowToCreateCourses: Wie kann ich eine neue Kursart anlegen?
|
|
||||||
FAQExamPoints: Warum kann ich bei meiner Klausur keine Punkte eintragen?
|
|
||||||
FAQInvalidCredentialsAdAccountDisabled: Ich kann mich nicht anmelden und bekomme die Meldung „Benutzereintrag gesperrt“
|
|
||||||
@ -1,11 +1,9 @@
|
|||||||
# SPDX-FileCopyrightText: 2022 Gregor Kleen <gregor.kleen@ifi.lmu.de>,Steffen Jost <jost@tcs.ifi.lmu.de>
|
# SPDX-FileCopyrightText: 2022-24 Gregor Kleen <gregor.kleen@ifi.lmu.de>,Steffen Jost <jost@tcs.ifi.lmu.de>,Steffen Jost <s.jost@fraport.de>
|
||||||
#
|
#
|
||||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
|
|
||||||
|
FAQLoginExpired: My password expired
|
||||||
FAQNoCampusAccount: I don't have Fraport AG credentials (Büko login); can I still get access?
|
FAQNoCampusAccount: I don't have Fraport AG credentials (Büko login); can I still get access?
|
||||||
FAQForgottenPassword: I have forgotten my password
|
FAQForgottenPassword: I have forgotten my password
|
||||||
FAQCampusCantLogin: I can't log in using my Fraport AG credentials (Büko login)
|
FAQCampusCantLogin: I can't log in using my Fraport AG credentials (Büko login)
|
||||||
FAQCourseCorrectorsTutors: How can I add instructors or correctors to my course?
|
FAQNotLecturerHowToCreateCourses: How can I create new courses?
|
||||||
FAQNotLecturerHowToCreateCourses: How can I create new courses?
|
|
||||||
FAQExamPoints: Why can't I enter achievements for my exam as points?
|
|
||||||
FAQInvalidCredentialsAdAccountDisabled: I can't log in and am instead given the message “Account disabled”
|
|
||||||
@ -25,7 +25,8 @@ TableQualificationSapExport: SAP
|
|||||||
TableQualificationSapExportTooltip: Wird die Qualifikation an das SAP übermittelt? Betrifft nur Benutzer mit Fraport Personalnummer.
|
TableQualificationSapExportTooltip: Wird die Qualifikation an das SAP übermittelt? Betrifft nur Benutzer mit Fraport Personalnummer.
|
||||||
LmsQualificationValidUntil: Gültig bis
|
LmsQualificationValidUntil: Gültig bis
|
||||||
TableQualificationLastRefresh: Zuletzt erneuert
|
TableQualificationLastRefresh: Zuletzt erneuert
|
||||||
TableQualificationLastNotified: Letzte Benachrichtigung
|
TableQualificationLastNotified: Letzte Benachrichtigung über erfolgte Gültigkeitsänderung
|
||||||
|
TableQualificationLastNotifiedTooltip: Hier werden ausschließlich Benachrichtigungen berücksichtigt, die über einen bereits erfolgten Ablauf/Entzug/Wiedererteilung informieren. Dies ignoriert insbesondere reguläre Verlängerung, z.B. durch E-Learning.
|
||||||
TableQualificationFirstHeld: Erstmalig
|
TableQualificationFirstHeld: Erstmalig
|
||||||
TableQualificationBlockedDue: Entzug
|
TableQualificationBlockedDue: Entzug
|
||||||
TableQualificationBlockedTooltip: Wann wurde die Qualifikation vorübergehend außer Kraft gesetzt und warum wurde dies veranlasst?
|
TableQualificationBlockedTooltip: Wann wurde die Qualifikation vorübergehend außer Kraft gesetzt und warum wurde dies veranlasst?
|
||||||
|
|||||||
@ -25,7 +25,8 @@ TableQualificationSapExport: Sent to SAP
|
|||||||
TableQualificationSapExportTooltip: Is this qualification transmitted to SAP? Only applies to qualification holder having a Fraport AG personnel number.
|
TableQualificationSapExportTooltip: Is this qualification transmitted to SAP? Only applies to qualification holder having a Fraport AG personnel number.
|
||||||
LmsQualificationValidUntil: Valid until
|
LmsQualificationValidUntil: Valid until
|
||||||
TableQualificationLastRefresh: Last renewed
|
TableQualificationLastRefresh: Last renewed
|
||||||
TableQualificationLastNotified: Last notified
|
TableQualificationLastNotified: Last notified about validity change
|
||||||
|
TableQualificationLastNotifiedTooltip: The date of the last notification about any already effective change in validity due to revocation or reissue. This does not entail regular validity extensions, e.g. due to e-learning.
|
||||||
TableQualificationFirstHeld: First held
|
TableQualificationFirstHeld: First held
|
||||||
TableQualificationBlockedDue: Revocations
|
TableQualificationBlockedDue: Revocations
|
||||||
TableQualificationBlockedTooltip: Why and when was this qualification temporarily suspended?
|
TableQualificationBlockedTooltip: Why and when was this qualification temporarily suspended?
|
||||||
|
|||||||
@ -69,7 +69,7 @@ QualificationUser
|
|||||||
lastRefresh Day -- lastRefresh > validUntil possible, if Qualification^elearningOnly == False
|
lastRefresh Day -- lastRefresh > validUntil possible, if Qualification^elearningOnly == False
|
||||||
firstHeld Day -- first time the qualification was earned, should never change
|
firstHeld Day -- first time the qualification was earned, should never change
|
||||||
scheduleRenewal Bool default=true -- if false, no automatic renewal is scheduled and the qualification expires
|
scheduleRenewal Bool default=true -- if false, no automatic renewal is scheduled and the qualification expires
|
||||||
lastNotified UTCTime default=now() -- last notficiation about being invalid
|
lastNotified UTCTime default=now() -- last notficiation about actual licence validity changes (does not entail e-learning notifications)
|
||||||
-- Reasons and temporary revocations are implemented through QualificationUserBlock
|
-- Reasons and temporary revocations are implemented through QualificationUserBlock
|
||||||
-- TODO: adjust SAP interface to transmit end dates
|
-- TODO: adjust SAP interface to transmit end dates
|
||||||
UniqueQualificationUser qualification user
|
UniqueQualificationUser qualification user
|
||||||
|
|||||||
@ -1,3 +1,3 @@
|
|||||||
{
|
{
|
||||||
"version": "27.4.58"
|
"version": "27.4.67"
|
||||||
}
|
}
|
||||||
|
|||||||
2
package-lock.json
generated
2
package-lock.json
generated
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "uni2work",
|
"name": "uni2work",
|
||||||
"version": "27.4.58",
|
"version": "27.4.67",
|
||||||
"lockfileVersion": 1,
|
"lockfileVersion": 1,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "uni2work",
|
"name": "uni2work",
|
||||||
"version": "27.4.58",
|
"version": "27.4.67",
|
||||||
"description": "",
|
"description": "",
|
||||||
"keywords": [],
|
"keywords": [],
|
||||||
"author": "",
|
"author": "",
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
name: uniworx
|
name: uniworx
|
||||||
version: 27.4.58
|
version: 27.4.67
|
||||||
dependencies:
|
dependencies:
|
||||||
- base
|
- base
|
||||||
- yesod
|
- yesod
|
||||||
|
|||||||
@ -193,7 +193,7 @@ handleAddUserR tid ssh csh tdesc ttyp = do
|
|||||||
currentRoute <- fromMaybe (error "postCAddUserR called from 404-handler") <$> getCurrentRoute
|
currentRoute <- fromMaybe (error "postCAddUserR called from 404-handler") <$> getCurrentRoute
|
||||||
|
|
||||||
(_ , registerConfirmResult) <- runButtonForm FIDCourseRegisterConfirm
|
(_ , registerConfirmResult) <- runButtonForm FIDCourseRegisterConfirm
|
||||||
-- $logDebugS "***AbortProblem***" $ tshow registerConfirmResult
|
-- $logDebugS "***AbortProblem***" $ tshow registerConfirmResult
|
||||||
prefillUsers <- case registerConfirmResult of
|
prefillUsers <- case registerConfirmResult of
|
||||||
Nothing -> return mempty
|
Nothing -> return mempty
|
||||||
(Just BtnCourseRegisterAbort) -> do
|
(Just BtnCourseRegisterAbort) -> do
|
||||||
|
|||||||
@ -103,7 +103,7 @@ runInterfaceLogTable interfs@(reqIfs,_) = do
|
|||||||
|
|
||||||
mkInterfaceLogTable :: (Bool -> Widget) -> ReqBanInterfaceHealth -> DB ([(Text,Bool)], Widget)
|
mkInterfaceLogTable :: (Bool -> Widget) -> ReqBanInterfaceHealth -> DB ([(Text,Bool)], Widget)
|
||||||
mkInterfaceLogTable flagError interfs@(reqIfs, banIfs) = do
|
mkInterfaceLogTable flagError interfs@(reqIfs, banIfs) = do
|
||||||
-- $logWarnS "DEBUG" $ tshow ([ihDebugShow x | x<- reqIfs], [ihDebugShow x | x<- banIfs])
|
-- $logWarnS "DEBUG" $ tshow ([ihDebugShow x | x<- reqIfs], [ihDebugShow x | x<- banIfs])
|
||||||
void $ liftHandler $ timeoutHandler 42000001 $ runDB $ runInterfaceChecks interfs
|
void $ liftHandler $ timeoutHandler 42000001 $ runDB $ runInterfaceChecks interfs
|
||||||
now <- liftIO getCurrentTime
|
now <- liftIO getCurrentTime
|
||||||
dbTableDB ilvalidator DBTable{dbtColonnade=colonnade now, ..}
|
dbTableDB ilvalidator DBTable{dbtColonnade=colonnade now, ..}
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
-- SPDX-FileCopyrightText: 2022-2023 Felix Hamann <felix.hamann@campus.lmu.de>, Gregor Kleen <gregor@kleen.consulting>, Sarah Vaupel <sarah.vaupel@ifi.lmu.de>, Steffen Jost <jost@tcs.ifi.lmu.de>, Winnie Ros <winnie.ros@campus.lmu.de>
|
-- SPDX-FileCopyrightText: 2022-2024 Felix Hamann <felix.hamann@campus.lmu.de>, Gregor Kleen <gregor@kleen.consulting>, Sarah Vaupel <sarah.vaupel@ifi.lmu.de>, Steffen Jost <jost@tcs.ifi.lmu.de>, Winnie Ros <winnie.ros@campus.lmu.de>, Steffen Jost <s.jost@fraport.de>
|
||||||
--
|
--
|
||||||
-- SPDX-License-Identifier: AGPL-3.0-or-later
|
-- SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
|
|
||||||
@ -13,12 +13,12 @@ import Data.Map ((!))
|
|||||||
import qualified Data.CaseInsensitive as CI
|
import qualified Data.CaseInsensitive as CI
|
||||||
import qualified Data.Set as Set
|
import qualified Data.Set as Set
|
||||||
|
|
||||||
import qualified Database.Esqueleto.Legacy as E
|
-- import qualified Database.Esqueleto.Legacy as E
|
||||||
import qualified Database.Esqueleto.Utils as E
|
-- import qualified Database.Esqueleto.Utils as E
|
||||||
|
|
||||||
import Development.GitRev
|
import Development.GitRev
|
||||||
|
|
||||||
import Auth.LDAP (ADError(..), ADInvalidCredentials(..), CampusMessage(..))
|
-- import Auth.LDAP (ADError(..), ADInvalidCredentials(..), CampusMessage(..))
|
||||||
|
|
||||||
import Yesod.Auth.Message(AuthMessage(..))
|
import Yesod.Auth.Message(AuthMessage(..))
|
||||||
|
|
||||||
@ -175,6 +175,7 @@ showFAQ :: ( MonadAP m
|
|||||||
, MonadThrow m
|
, MonadThrow m
|
||||||
)
|
)
|
||||||
=> Route UniWorX -> FAQItem -> m Bool
|
=> Route UniWorX -> FAQItem -> m Bool
|
||||||
|
showFAQ _ FAQLoginExpired = return True
|
||||||
showFAQ _ FAQNoCampusAccount = is _Nothing <$> maybeAuthId
|
showFAQ _ FAQNoCampusAccount = is _Nothing <$> maybeAuthId
|
||||||
showFAQ (AuthR _) FAQCampusCantLogin = return True
|
showFAQ (AuthR _) FAQCampusCantLogin = return True
|
||||||
showFAQ _ FAQCampusCantLogin = is _Nothing <$> maybeAuthId
|
showFAQ _ FAQCampusCantLogin = is _Nothing <$> maybeAuthId
|
||||||
@ -183,38 +184,20 @@ showFAQ _ FAQForgottenPassword = is _Nothing <$> maybeAuthId
|
|||||||
showFAQ _ FAQNotLecturerHowToCreateCourses
|
showFAQ _ FAQNotLecturerHowToCreateCourses
|
||||||
= and2M (is _Just <$> maybeAuthId)
|
= and2M (is _Just <$> maybeAuthId)
|
||||||
(not <$> hasWriteAccessTo CourseNewR)
|
(not <$> hasWriteAccessTo CourseNewR)
|
||||||
showFAQ (CourseR tid ssh csh _) FAQCourseCorrectorsTutors
|
-- showFAQ (CourseR tid ssh csh _) FAQCourseCorrectorsTutors
|
||||||
= and2M (is _Just <$> maybeAuthId)
|
-- = and2M (is _Just <$> maybeAuthId)
|
||||||
(or2M (hasWriteAccessTo $ CourseR tid ssh csh SheetNewR)
|
-- (or2M (hasWriteAccessTo $ CourseR tid ssh csh SheetNewR)
|
||||||
(hasWriteAccessTo $ CourseR tid ssh csh CTutorialNewR)
|
-- (hasWriteAccessTo $ CourseR tid ssh csh CTutorialNewR)
|
||||||
)
|
-- )
|
||||||
showFAQ (CExamR tid ssh csh examn _) FAQExamPoints
|
-- showFAQ _ _ = return False
|
||||||
= and2M (hasWriteAccessTo $ CExamR tid ssh csh examn EEditR)
|
|
||||||
noExamParts
|
|
||||||
where
|
|
||||||
noExamParts = liftHandler . runDB . E.selectNotExists . E.from $ \(examPart `E.InnerJoin` exam `E.InnerJoin` course) -> do
|
|
||||||
E.on $ course E.^. CourseId E.==. exam E.^. ExamCourse
|
|
||||||
E.on $ exam E.^. ExamId E.==. examPart E.^. ExamPartExam
|
|
||||||
E.where_ $ course E.^. CourseTerm E.==. E.val tid
|
|
||||||
E.&&. course E.^. CourseSchool E.==. E.val ssh
|
|
||||||
E.&&. course E.^. CourseShorthand E.==. E.val csh
|
|
||||||
E.&&. exam E.^. ExamName E.==. E.val examn
|
|
||||||
showFAQ _ FAQInvalidCredentialsAdAccountDisabled = maybeT (return False) $ do
|
|
||||||
guardM $ is _Nothing <$> maybeAuthId
|
|
||||||
sessionError <- MaybeT $ lookupSessionJson SessionError
|
|
||||||
guard $ sessionError == PermissionDenied (toPathPiece $ ADInvalidCredentials ADAccountDisabled)
|
|
||||||
return True
|
|
||||||
showFAQ _ _ = return False
|
|
||||||
|
|
||||||
prioFAQ :: Monad m
|
prioFAQ :: Monad m
|
||||||
=> Route UniWorX -> FAQItem -> m Rational
|
=> Route UniWorX -> FAQItem -> m Rational
|
||||||
|
prioFAQ _ FAQLoginExpired = return 2
|
||||||
prioFAQ _ FAQNoCampusAccount = return 1
|
prioFAQ _ FAQNoCampusAccount = return 1
|
||||||
prioFAQ _ FAQCampusCantLogin = return 1
|
prioFAQ _ FAQCampusCantLogin = return 1
|
||||||
prioFAQ _ FAQForgottenPassword = return 1
|
prioFAQ _ FAQForgottenPassword = return 1
|
||||||
prioFAQ _ FAQNotLecturerHowToCreateCourses = return 1
|
prioFAQ _ FAQNotLecturerHowToCreateCourses = return 1
|
||||||
prioFAQ _ FAQCourseCorrectorsTutors = return 1
|
|
||||||
prioFAQ _ FAQExamPoints = return 2
|
|
||||||
prioFAQ _ FAQInvalidCredentialsAdAccountDisabled = return 3
|
|
||||||
|
|
||||||
|
|
||||||
getInfoLecturerR :: Handler Html
|
getInfoLecturerR :: Handler Html
|
||||||
|
|||||||
@ -595,7 +595,10 @@ postQualificationR sid qsh = do
|
|||||||
) $ \( view $ resultQualUser . _entityVal . _qualificationUserScheduleRenewal -> b) -> ifIconCell (not b) IconNoNotification
|
) $ \( view $ resultQualUser . _entityVal . _qualificationUserScheduleRenewal -> b) -> ifIconCell (not b) IconNoNotification
|
||||||
, sortable (Just "lms-status-plus")(i18nCell MsgTableLmsStatus & cellTooltipWgt Nothing (lmsStatusInfoCell isAdmin auditMonths))
|
, sortable (Just "lms-status-plus")(i18nCell MsgTableLmsStatus & cellTooltipWgt Nothing (lmsStatusInfoCell isAdmin auditMonths))
|
||||||
$ \(preview $ resultLmsUser . _entityVal -> lu) -> foldMap (lmsStatusCell isAdmin linkLmsUser) lu
|
$ \(preview $ resultLmsUser . _entityVal -> lu) -> foldMap (lmsStatusCell isAdmin linkLmsUser) lu
|
||||||
, sortable (Just "last-notified") (i18nCell MsgTableQualificationLastNotified) $ \( view $ resultQualUser . _entityVal . _qualificationUserLastNotified -> d) -> dateTimeCell d
|
-- QualificationUserLastNotified is about notification on actual validity changes. If a user's licence is about to expire and renewed before expiry via e-learning, this value does not change.
|
||||||
|
-- NOTE: If this column is reinstatiated, header and tooltip were already updated to avoid any confusion!
|
||||||
|
-- , sortable (Just "last-notified") (i18nCell MsgTableQualificationLastNotified & cellTooltip MsgTableQualificationLastNotifiedTooltip)
|
||||||
|
-- $ \( view $ resultQualUser . _entityVal . _qualificationUserLastNotified -> d) -> dateTimeCell d
|
||||||
]
|
]
|
||||||
psValidator = def & defaultSorting [SortDescBy "last-refresh"]
|
psValidator = def & defaultSorting [SortDescBy "last-refresh"]
|
||||||
tbl <- mkQualificationTable isAdmin qent acts colChoices psValidator
|
tbl <- mkQualificationTable isAdmin qent acts colChoices psValidator
|
||||||
|
|||||||
@ -8,19 +8,27 @@ $# SPDX-License-Identifier: AGPL-3.0-or-later
|
|||||||
<p>
|
<p>
|
||||||
Können sie sich mit <i>exakt identischen</i> (idealerweise #
|
Können sie sich mit <i>exakt identischen</i> (idealerweise #
|
||||||
copy&paste) Daten #
|
copy&paste) Daten #
|
||||||
im <a href="https://www.portal.uni-muenchen.de">Campus-Portal</a> #
|
im <a href="https://myapps.microsoft.com/">myapps.microsoft.com</a> #
|
||||||
anmelden?
|
anmelden?
|
||||||
|
|
||||||
|
<br>
|
||||||
|
Falls sie die Fehlermeldung „Passwort abgelaufen“ oder "password-expired" erhalten, #
|
||||||
|
dann befolgen Sie bitte #
|
||||||
|
<a href=^{faqLink FAQLoginExpired}>
|
||||||
|
diese Anleitung zum erneuern Ihres Passworts.
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
Falls nicht („_{InvalidLogin}“), ist davon auszugehen, dass Sie #
|
Falls nicht („_{InvalidLogin}“), ist davon auszugehen, dass Sie #
|
||||||
Ihre Anmeldedaten falsch eingeben oder #
|
Ihre Anmeldedaten falsch eingeben oder #
|
||||||
<a href=^{faqLink FAQNoCampusAccount}>keine LMU-Benutzerkennung #
|
<a href=^{faqLink FAQNoCampusAccount}>keine gültige Fraport AG #
|
||||||
(ehem. Campus-Kennung) besitzen</a>.
|
Benutzerkennung besitzen</a>. #
|
||||||
|
Rufen Sie in diesem Fall den allgemeinen Fraport IT-Helpdesk #
|
||||||
|
an unter <a href="tel:+49-69-690127">+49-69-690127</a>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Beachten Sie dabei auch, dass Uni2work Leerzeichen sowohl im #
|
Beachten Sie, dass Leerzeichen sowohl im #
|
||||||
Passwort als auch bei der Kennung berücksichtigt.
|
Passwort als auch bei der Kennung berücksichtigt werden.
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
@ -33,34 +41,27 @@ $# SPDX-License-Identifier: AGPL-3.0-or-later
|
|||||||
aktiviertem JavaScript), dass Sie Ihr Passwort korrekt eingeben.
|
aktiviertem JavaScript), dass Sie Ihr Passwort korrekt eingeben.
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Uni2work bietet zwei Login-Formulare.
|
Uni2work bietet mehrere Login-Formulare.
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
Für die Anmeldung mit der LMU-Benutzerkennung (ehem. Campus-Kennung) #
|
Für die Anmeldung mit Ihren Fraport AG Konto #
|
||||||
müssen Sie das Formular „_{MsgLDAPLoginTitle}“ verwenden.
|
müssen Sie das Formular „_{MsgLDAPLoginTitle}“ verwenden.
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
Geben Sie unter „_{MsgCampusIdent}“ ihre vollständige #
|
|
||||||
LMU-Benutzerkennung an. #
|
|
||||||
|
|
||||||
Diese ist identisch mit ihrer <code>@campus.lmu.de</code> E-Mail #
|
|
||||||
Adresse.
|
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Falls Sie seit Ihrem letzten Login in Uni2work ihr Passwort geändert #
|
Falls Sie Ihr Passwort kürzlich geändert #
|
||||||
haben, kann es sein, dass die Änderung des Passworts (noch) nicht #
|
haben, kann es sein, dass die Änderung des Passworts (noch) nicht #
|
||||||
korrekt propagiert wurde.
|
korrekt propagiert wurde. Warten Sie einfach ein paar Minuten oder #
|
||||||
|
versuchen Sie, Ihr altes Passwort zu verwenden.
|
||||||
|
|
||||||
<br>
|
|
||||||
|
|
||||||
In diesem Fall können Sie versuchen Ihr Passwort erneut zu ändern.
|
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Sobald Sie die obigen Hinweise befolgt haben, wenden Sie sich bitte #
|
Sobald Sie die obigen Hinweise befolgt haben, wenden Sie sich bitte #
|
||||||
(erneut) über das <a href=@{HelpR}>Hilfe-Formular</a>, oben rechts #
|
(erneut) über das <a href=@{HelpR}>Hilfe-Formular</a>, oben rechts #
|
||||||
auf jeder Seite, an die Uni2work-Administration.
|
auf jeder Seite, an die FRADrive-Administration.
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
|
|||||||
@ -7,18 +7,29 @@ $# SPDX-License-Identifier: AGPL-3.0-or-later
|
|||||||
|
|
||||||
<p>
|
<p>
|
||||||
Can you log in to #
|
Can you log in to #
|
||||||
the <a href="https://www.portal.uni-muenchen.de">Campus-Portal</a> #
|
the <a href="https://myapps.microsoft.com/">myapps.microsoft.com</a> #
|
||||||
using the <i>exact same</i> (ideally copied & pasted) login data?
|
using the <i>exact same</i> (ideally copied & pasted) login data?
|
||||||
|
|
||||||
|
<br>
|
||||||
|
If you received the error message „Passwort abgelaufen“ or "password-expired" #
|
||||||
|
then please follow #
|
||||||
|
<a href=^{faqLink FAQLoginExpired}>
|
||||||
|
these instructions for password renewal.
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
If you cannot (“_{InvalidLogin}”), this means that you are #
|
If you cannot (“_{InvalidLogin}”), this means that you are #
|
||||||
entering your login data wrong or that you #
|
entering your login data wrong or that you #
|
||||||
<a href=^{faqLink FAQNoCampusAccount}>do not have a LMU user ID #
|
<a href=^{faqLink FAQNoCampusAccount}>
|
||||||
(formerly Campus-ID)</a>.
|
do not have a valid Fraport AG credentials.
|
||||||
|
|
||||||
|
<br>
|
||||||
|
|
||||||
|
In this case please call the general Fraport IT-Servicedesk
|
||||||
|
at <a href="tel:+49-69-690127">+49-69-690127</a>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Please consider that for Uni2work both your user ID and password are #
|
Please consider that for FRADrive both your user ID and password are #
|
||||||
sensitive to whitespace characters.
|
sensitive to whitespace characters.
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
@ -37,31 +48,22 @@ $# SPDX-License-Identifier: AGPL-3.0-or-later
|
|||||||
password manager instead of typing it manually.
|
password manager instead of typing it manually.
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Uni2work offers two login forms.
|
Furthermore, FRADrive offers several login forms.
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
To log in using your LMU user ID (formerly Campus-ID) you need to #
|
To log in using your Fraport AG credentials you need to #
|
||||||
use the form titled “_{MsgLDAPLoginTitle}”.
|
use the form titled “_{MsgLDAPLoginTitle}”.
|
||||||
|
|
||||||
<br>
|
|
||||||
|
|
||||||
Under “_{MsgCampusIdent}” please enter your entire LMU user ID, #
|
|
||||||
which is identical to your <code>@campus.lmu.de</code> email #
|
|
||||||
address.
|
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
If you have changed your password since last you logged into #
|
If you have changed your password since last you logged into #
|
||||||
Uni2work, it may be the case that your password change was not #
|
FRADrive, it may be the case that your password change was not #
|
||||||
propagated properly.
|
propagated properly. Please wait a few minutes and try again,
|
||||||
|
or try changing your password again.
|
||||||
<br>
|
|
||||||
|
|
||||||
If so, please try changing your password again.
|
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Once you have followed the suggestions above, please contact a #
|
Once you have followed the suggestions above, please contact a #
|
||||||
Uni2work-administrator using the <a href=@{HelpR}>Support form</a> #
|
FRADrive-administrator using the <a href=@{HelpR}>Support form</a> #
|
||||||
(at the top right of every page).
|
(at the top right of every page).
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
@ -73,4 +75,4 @@ $# SPDX-License-Identifier: AGPL-3.0-or-later
|
|||||||
|
|
||||||
Never disclose your password to third parties! #
|
Never disclose your password to third parties! #
|
||||||
|
|
||||||
Not even to an Uni2work-administrator or the IT-Servicedesk!
|
Not even to a FRADrive-administrator or the IT-Servicedesk!
|
||||||
|
|||||||
@ -1,10 +0,0 @@
|
|||||||
$newline never
|
|
||||||
|
|
||||||
$# SPDX-FileCopyrightText: 2022 Gregor Kleen <gregor.kleen@ifi.lmu.de>,Winnie Ros <winnie.ros@campus.lmu.de>
|
|
||||||
$#
|
|
||||||
$# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
|
|
||||||
<p>
|
|
||||||
Ausbilder:innen und Korrektor:innen werden beim Anlegen oder Editieren des #
|
|
||||||
jeweiligen Kurses bzw. Übungsblattes angegeben.
|
|
||||||
|
|
||||||
@ -1,9 +0,0 @@
|
|||||||
$newline never
|
|
||||||
|
|
||||||
$# SPDX-FileCopyrightText: 2022 Gregor Kleen <gregor.kleen@ifi.lmu.de>
|
|
||||||
$#
|
|
||||||
$# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
|
|
||||||
<p>
|
|
||||||
Instructors and correctors are assigned when creating or editing the #
|
|
||||||
respective course or exercise sheet.
|
|
||||||
@ -1,14 +0,0 @@
|
|||||||
$newline never
|
|
||||||
|
|
||||||
$# SPDX-FileCopyrightText: 2022 Gregor Kleen <gregor.kleen@ifi.lmu.de>
|
|
||||||
$#
|
|
||||||
$# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
|
|
||||||
|
|
||||||
<p>
|
|
||||||
Klausurpunkte werden in Uni2work pro Teilaufgabe verwaltet.
|
|
||||||
|
|
||||||
<p>
|
|
||||||
Um Klausurleistungen als Punkte anzugeben (und optional automatisch #
|
|
||||||
eine Note daraus zu berechnen), müssen Sie mindestens eine #
|
|
||||||
Teilprüfung/Aufgabe anlegen.
|
|
||||||
@ -1,14 +0,0 @@
|
|||||||
$newline never
|
|
||||||
|
|
||||||
$# SPDX-FileCopyrightText: 2022 Gregor Kleen <gregor.kleen@ifi.lmu.de>
|
|
||||||
$#
|
|
||||||
$# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
|
|
||||||
|
|
||||||
<p>
|
|
||||||
Exam points are managed in Uni2work on a per-exam-part basis.
|
|
||||||
|
|
||||||
<p>
|
|
||||||
To store exam achievements in the form of points (and optionally #
|
|
||||||
automatically compute grades), you need to create at least one #
|
|
||||||
exam part/question.
|
|
||||||
@ -1,27 +1,16 @@
|
|||||||
$newline never
|
$newline never
|
||||||
|
|
||||||
$# SPDX-FileCopyrightText: 2022 Gregor Kleen <gregor.kleen@ifi.lmu.de>,Winnie Ros <winnie.ros@campus.lmu.de>
|
$# SPDX-FileCopyrightText: 2022-24 Gregor Kleen <gregor.kleen@ifi.lmu.de>,Winnie Ros <winnie.ros@campus.lmu.de>,Steffen Jost <s.jost@fraport.de>
|
||||||
$#
|
$#
|
||||||
$# SPDX-License-Identifier: AGPL-3.0-or-later
|
$# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
|
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Wenn Sie sich gewöhnlicherweise mit Ihrer LMU-Benutzerkennug #
|
Wenn Sie Ihr Passwort vergessen haben, wenden Sie sich bitte an #
|
||||||
(ehem. Campus-Kennung) anmelden, wenden Sie sich bitte an #
|
den allgemeinen Fraport IT-Helpdesk unter
|
||||||
den <a href="https://www.it-servicedesk.uni-muenchen.de/faq/index.html#campuskennung-passwort-vergessen">IT-Servicedesk</a> #
|
<a href="tel:+49-69-690127">
|
||||||
um Ihr Passwort zurücksetzen zu lassen.
|
+49-69-690127
|
||||||
|
|
||||||
<p>
|
|
||||||
Wenn Sie sich mit einer Uni2work-internen Kennung anmelden wenden #
|
|
||||||
Sie sich dafür bitte über das <a href=@{HelpR}>Hilfe-Formular</a> #
|
|
||||||
(oben rechts auf jeder Seite) an die Uni2work-Administration.
|
|
||||||
<br>
|
<br>
|
||||||
Tragen sie dabei unter „Antworten an“ die Adresse ein, an die #
|
Die FRADrive Administratoren können bei Login Problemen leider #
|
||||||
Uni2work gewöhnlicherweise Mitteilungen verschickt.
|
nicht helfen, da diese keinen Zugriff auf Ihren Fraport AG Account haben.
|
||||||
<br>
|
|
||||||
Bitte geben Sie zusätzlich mind. eine nicht-öffentliche #
|
|
||||||
personenbezogene Information an, um den Administrator:innen zu helfen #
|
|
||||||
die Anfrage zu authorisieren. #
|
|
||||||
|
|
||||||
Geeignet ist z.B. die Matrikelnummer oder der ungefähre Zeitpunkt #
|
|
||||||
des letzten Logins.
|
|
||||||
|
|||||||
@ -1,26 +1,17 @@
|
|||||||
$newline never
|
$newline never
|
||||||
|
|
||||||
$# SPDX-FileCopyrightText: 2022 Gregor Kleen <gregor.kleen@ifi.lmu.de>
|
$# SPDX-FileCopyrightText: 2024 Gregor Kleen <gregor.kleen@ifi.lmu.de>,Steffen Jost <s.jost@fraport.de>
|
||||||
$#
|
$#
|
||||||
$# SPDX-License-Identifier: AGPL-3.0-or-later
|
$# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
|
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
If you usually log in using your LMU user ID (formerly Campus-ID) #
|
If you have forgotten your password #
|
||||||
please contact #
|
please contact the general Fraport IT-servicedesk at #
|
||||||
the <a href="https://www.it-servicedesk.uni-muenchen.de/faq/index.html#campuskennung-passwort-vergessen">IT #
|
<a href="tel:+49-69-690127">
|
||||||
servicedesk (german)</a> to reset your password.
|
+49-69-690127
|
||||||
|
to reset your password.
|
||||||
|
|
||||||
<p>
|
|
||||||
If you log in using a Uni2work-internal account please use #
|
|
||||||
the <a href=@{HelpR}>Support form</a> (at the top right of every #
|
|
||||||
page) to contact a Uni2work-administrator.
|
|
||||||
<br>
|
<br>
|
||||||
Specify the email to which Uni2work usually sends notifications #
|
FRADrive administrators have no access to your Frapot AG account #
|
||||||
under “Send answers to”.
|
and thus cannot help you with this problem.
|
||||||
<br>
|
|
||||||
|
|
||||||
Please also include at least one non-public piece of information to #
|
|
||||||
help authorise your request. #
|
|
||||||
We suggest your Matriculation number or the approximate time of your #
|
|
||||||
last successful login.
|
|
||||||
|
|||||||
@ -1,22 +0,0 @@
|
|||||||
$newline never
|
|
||||||
|
|
||||||
$# SPDX-FileCopyrightText: 2022 Gregor Kleen <gregor.kleen@ifi.lmu.de>
|
|
||||||
$#
|
|
||||||
$# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
|
|
||||||
|
|
||||||
<p>
|
|
||||||
Gewöhnlicherweise wird Ihr Benutzereintrag gesperrt, wenn sie #
|
|
||||||
exmatrikuliert werden bzw. Ihr Beschäftigungsverhältnis endet. #
|
|
||||||
|
|
||||||
Es kommt gelegentlich vor, dass Ihr Benutzereintrag nicht korrekt #
|
|
||||||
entsperrt wird, wenn Sie wieder immatrikuliert bzw. eingestellt #
|
|
||||||
werden.
|
|
||||||
|
|
||||||
<p>
|
|
||||||
Falls Sie aktuell immatrikuliert bzw. eingestellt sind, oder Sie #
|
|
||||||
einen anderen triftigen Grund vorweisen können, warum Sie Zugang zu #
|
|
||||||
Uni2work brauchen, wenden Sie sich bitte über #
|
|
||||||
das <a href=@{HelpR}>Hilfe-Formular</a>, oben rechts auf jeder #
|
|
||||||
Seite, an die Uni2work-Administration und schildern Sie Ihre #
|
|
||||||
Situation.
|
|
||||||
@ -1,19 +0,0 @@
|
|||||||
$newline never
|
|
||||||
|
|
||||||
$# SPDX-FileCopyrightText: 2022 Gregor Kleen <gregor.kleen@ifi.lmu.de>
|
|
||||||
$#
|
|
||||||
$# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
|
|
||||||
|
|
||||||
<p>
|
|
||||||
Usually your account is disabled once you are no longer matriculated #
|
|
||||||
(i.e. registered as a student) or employed. #
|
|
||||||
|
|
||||||
Occasionally accounts are not correctly re-enabled once you are #
|
|
||||||
matriculated or employed, again.
|
|
||||||
|
|
||||||
<p>
|
|
||||||
If you are currently matriculated, employed, or have another good #
|
|
||||||
reason why you should have access to Uni2work, please contact a #
|
|
||||||
Uni2work-Administrator using the <a href=@{HelpR}>Support form</a> #
|
|
||||||
(at the top right of every page) and describe your situation.
|
|
||||||
47
templates/i18n/faq/login-expired.de-de-formal.hamlet
Normal file
47
templates/i18n/faq/login-expired.de-de-formal.hamlet
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
$newline never
|
||||||
|
|
||||||
|
$# SPDX-FileCopyrightText: 2024 Steffen Jost <s.jost@fraport.de>
|
||||||
|
$#
|
||||||
|
$# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
|
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Der Zugang zu FRADrive erfolgt über Ihren Fraport AG Login. #
|
||||||
|
Das Passwort für Ihren Fraport AG Login muss alle 90 Tage geändert werden. #
|
||||||
|
Tun Sie dies nicht, so können Sie sich nicht mehr einloggen. #
|
||||||
|
Dies besagen die Richtlininen der Fraport AG IT Abteilung.
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Bevor oder auch nachdem Ihr Passwort abgelaufen ist, #
|
||||||
|
können Sie das Passwort ganze leicht selbst mit einer #
|
||||||
|
der folgenden Methoden ändern: #
|
||||||
|
|
||||||
|
<ol>
|
||||||
|
<li>
|
||||||
|
Über #
|
||||||
|
<a href="https://account.activedirectory.windowsazure.com/ChangePassword.aspx">
|
||||||
|
das Azure Portal
|
||||||
|
.
|
||||||
|
<li>
|
||||||
|
Über Ihre #
|
||||||
|
<a href="https://myaccount.microsoft.com/?ref=MeControl">
|
||||||
|
Microsoft Kontoseite
|
||||||
|
. Verwenden Sie dort die Funktion "Kennwort ändern".
|
||||||
|
<li>
|
||||||
|
Über Ihre Profil-Einstellungen "Konto-Anzeigen" auf #
|
||||||
|
<a href="https://myapps.microsoft.com/">
|
||||||
|
Ihre Microsoft My-Apps Seite
|
||||||
|
.
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<b>
|
||||||
|
Hinweis: #
|
||||||
|
|
||||||
|
Wenden Sie sich bei Problemen mit dem Passwortwechsel #
|
||||||
|
bitte direkt an den allgemeinen Fraport IT-Helpdesk unter #
|
||||||
|
<a href="tel:+49-69-690127">
|
||||||
|
+49-69-690127
|
||||||
|
|
||||||
|
<br>
|
||||||
|
Die FRADrive Administratoren können bei diesem Login Problem leider #
|
||||||
|
nicht helfen, da diese keinen Zugriff auf Ihren Fraport AG Account haben.
|
||||||
46
templates/i18n/faq/login-expired.en-eu.hamlet
Normal file
46
templates/i18n/faq/login-expired.en-eu.hamlet
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
$newline never
|
||||||
|
|
||||||
|
$# SPDX-FileCopyrightText: 2024 Steffen Jost <s.jost@fraport.de>
|
||||||
|
$#
|
||||||
|
$# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
|
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Using FRADrive required a Fraport AG account. #
|
||||||
|
The password for your Fraport AG account must be changed every 90 days. #
|
||||||
|
Following the general IT safety guidelines of Fraport AG, #
|
||||||
|
your login will be temporarily disabled otherwise.
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Regardless of whether your password has already expired or not, #
|
||||||
|
you may easily change your password with any one of the following methods: #
|
||||||
|
|
||||||
|
<ol>
|
||||||
|
<li>
|
||||||
|
Via #
|
||||||
|
<a href="https://account.activedirectory.windowsazure.com/ChangePassword.aspx">
|
||||||
|
the azure portal
|
||||||
|
.
|
||||||
|
<li>
|
||||||
|
Using you #
|
||||||
|
<a href="https://myaccount.microsoft.com/?ref=MeControl">
|
||||||
|
Microsoft account page
|
||||||
|
, then using the function "change password" there.
|
||||||
|
<li>
|
||||||
|
By accessing your profile settings on #
|
||||||
|
<a href="https://myapps.microsoft.com/">
|
||||||
|
your Microsoft My-Apps page
|
||||||
|
.
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<b>
|
||||||
|
Please note: #
|
||||||
|
|
||||||
|
If you have any problem changing your password #
|
||||||
|
please call the general Fraport IT-servicedesk at #
|
||||||
|
<a href="tel:+49-69-690127">
|
||||||
|
+49-69-690127
|
||||||
|
|
||||||
|
<br>
|
||||||
|
FRADrive administrators have no access to your Frapot AG account #
|
||||||
|
and thus cannot help you with this problem.
|
||||||
@ -693,12 +693,25 @@ fillDb = do
|
|||||||
, UserSupervisor gkleen gkleen True (Just fraGround) (Just "Staff")
|
, UserSupervisor gkleen gkleen True (Just fraGround) (Just "Staff")
|
||||||
, UserSupervisor tinaTester tinaTester False Nothing (Just "Staff")
|
, UserSupervisor tinaTester tinaTester False Nothing (Just "Staff")
|
||||||
]
|
]
|
||||||
++ take 444 [ UserSupervisor fhamann uid True Nothing (Just "Test") | Entity uid _ <- matUsers, uid /= jost]
|
++ take 444 [ UserSupervisor fhamann uid True Nothing (Just $ tshow SupervisorReasonCompanyDefault) | Entity uid _ <- matUsers, uid /= jost]
|
||||||
++ take 123 [ UserSupervisor gkleen uid True (Just fraGround) (Just "Test") | Entity uid _ <- drop 369 matUsers ]
|
++ take 123 [ UserSupervisor gkleen uid True Nothing Nothing | Entity uid _ <- drop 369 matUsers ]
|
||||||
++ take 11 [ UserSupervisor jost uid False (Just fraportAg) (Just "Test") | Entity uid _ <- drop 501 matUsers ]
|
++ take 11 [ UserSupervisor jost uid False Nothing (Just $ tshow SupervisorReasonCompanyDefault) | Entity uid _ <- drop 501 matUsers ]
|
||||||
upsertManyWhere supvs [] [] []
|
upsertManyWhere supvs [] [] []
|
||||||
-- upsertManyWhere supvs [] [] [] -- NOTE: multiple calls like this are ok
|
-- insertMany_ supvs -- NOTE: multiple calls like this throw a runtime error!
|
||||||
-- insertMany_ supvs -- NOTE: multiple calls like this throw an error!
|
-- upsertManyWhere supvs [] [] [] -- NOTE: multiple calls like this are ok
|
||||||
|
-- upsertManyWhere (supvs ++ take 5 (drop 12 [ UserSupervisor jost uid False | Entity uid _ <- drop 501 matUsers ])) -- no duplicates within first argument allowed! (runtime error: ON CONFLICT DO UPDATE command cannot affect row a second time)
|
||||||
|
-- [copyField UserSupervisorRerouteNotifications] [UserSupervisorRerouteNotifications =. True] [UserSupervisorSupervisor ==. jost, UserSupervisorUser <-. [uid | Entity uid _ <- take 3 $ drop 504 matUsers ]] -- does not work!
|
||||||
|
-- let changeSome usr@(UserSupervisor s u _)
|
||||||
|
-- | s == jost, u `elem` take 14 [ uid | Entity uid _ <- drop 501 matUsers ] = UserSupervisor s u True
|
||||||
|
-- | otherwise = usr
|
||||||
|
-- upsertManyWhere (changeSome <$> (supvs ++ take 5 (drop 12 [ UserSupervisor jost uid False | Entity uid _ <- drop 501 matUsers ]))) -- no duplicates within first argument allowed! (runtime error: ON CONFLICT DO UPDATE command cannot affect row a second time)
|
||||||
|
-- [copyField UserSupervisorRerouteNotifications] [] [UserSupervisorSupervisor ==. jost, UserSupervisorUser <-. [uid | Entity uid _ <- take 3 $ drop 504 matUsers ]] -- probably does the same as the above
|
||||||
|
-- OBSERVATIONS:
|
||||||
|
-- - use the 2. argument with `copyField` to overwrite an existing field with the new record value provided in the 1. argument in case of an update
|
||||||
|
-- - use the 3. argument to update a field indepently from the provided records or for computations involving previous values, eg. +=.
|
||||||
|
-- - use the 4. argument to filter both the application of the 2. and 3. argument
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ifi <- insert' $ School "Institut für Informatik" "IfI" (Just $ 14 * nominalDay) (Just $ 10 * nominalDay) True (ExamModeDNF predDNFFalse) (ExamCloseOnFinished True) SchoolAuthorshipStatementModeOptional (Just ifiAuthorshipStatement) True SchoolAuthorshipStatementModeRequired (Just ifiAuthorshipStatement) False
|
ifi <- insert' $ School "Institut für Informatik" "IfI" (Just $ 14 * nominalDay) (Just $ 10 * nominalDay) True (ExamModeDNF predDNFFalse) (ExamCloseOnFinished True) SchoolAuthorshipStatementModeOptional (Just ifiAuthorshipStatement) True SchoolAuthorshipStatementModeRequired (Just ifiAuthorshipStatement) False
|
||||||
mi <- insert' $ School "Institut für Mathematik" "MI" Nothing Nothing False (ExamModeDNF predDNFFalse) (ExamCloseOnFinished False) SchoolAuthorshipStatementModeNone Nothing True SchoolAuthorshipStatementModeOptional Nothing True
|
mi <- insert' $ School "Institut für Mathematik" "MI" Nothing Nothing False (ExamModeDNF predDNFFalse) (ExamCloseOnFinished False) SchoolAuthorshipStatementModeNone Nothing True SchoolAuthorshipStatementModeOptional Nothing True
|
||||||
|
|||||||
Reference in New Issue
Block a user