chore(users): add convenience buttons for ldap avs sync on profile page
towards #164
This commit is contained in:
parent
64b21d6fe6
commit
f5754cd6b1
@ -151,3 +151,5 @@ BreadcrumbSubmissionAuthorshipStatements: Eigenständigkeitserklärungen
|
|||||||
BreadcrumbExternalApis: Externe APIs
|
BreadcrumbExternalApis: Externe APIs
|
||||||
BreadcrumbApiDocs: API Dokumentation
|
BreadcrumbApiDocs: API Dokumentation
|
||||||
BreadcrumbSwagger !ident-ok: OpenAPI 2.0 (Swagger)
|
BreadcrumbSwagger !ident-ok: OpenAPI 2.0 (Swagger)
|
||||||
|
BreadcrumbSynchLdap !ident-ok: LDAP Synch
|
||||||
|
BreadcrumbSynchAvs !ident-ok: AVS Synch
|
||||||
@ -151,3 +151,5 @@ BreadcrumbSubmissionAuthorshipStatements: Statements of Authorship
|
|||||||
BreadcrumbExternalApis: External APIs
|
BreadcrumbExternalApis: External APIs
|
||||||
BreadcrumbApiDocs: API documentation
|
BreadcrumbApiDocs: API documentation
|
||||||
BreadcrumbSwagger: OpenAPI 2.0 (Swagger)
|
BreadcrumbSwagger: OpenAPI 2.0 (Swagger)
|
||||||
|
BreadcrumbSynchLdap: Synch LDAP
|
||||||
|
BreadcrumbSynchAvs: Synch AVS
|
||||||
|
|||||||
8
routes
8
routes
@ -52,9 +52,11 @@
|
|||||||
|
|
||||||
/ NewsR GET !free
|
/ NewsR GET !free
|
||||||
/users UsersR GET POST -- no tags, i.e. admins only
|
/users UsersR GET POST -- no tags, i.e. admins only
|
||||||
/users/#CryptoUUIDUser AdminUserR GET POST
|
/users/#CryptoUUIDUser AdminUserR GET POST
|
||||||
/users/#CryptoUUIDUser/delete AdminUserDeleteR POST
|
/users/#CryptoUUIDUser/delete AdminUserDeleteR POST
|
||||||
/users/#CryptoUUIDUser/hijack AdminHijackUserR GET POST !adminANDno-escalation
|
/users/#CryptoUUIDUser/hijack AdminHijackUserR GET POST !adminANDno-escalation
|
||||||
|
/users/#CryptoUUIDUser/sync/ldap AdminUserSyncLdapR GET
|
||||||
|
/users/#CryptoUUIDUser/sync/avs AdminUserSyncAvsR GET
|
||||||
/users/#CryptoUUIDUser/notifications UserNotificationR GET POST !self
|
/users/#CryptoUUIDUser/notifications UserNotificationR GET POST !self
|
||||||
/users/#CryptoUUIDUser/password UserPasswordR GET POST !selfANDis-pw-hash
|
/users/#CryptoUUIDUser/password UserPasswordR GET POST !selfANDis-pw-hash
|
||||||
!/users/functionary-invite/new AdminNewFunctionaryInviteR GET POST
|
!/users/functionary-invite/new AdminNewFunctionaryInviteR GET POST
|
||||||
|
|||||||
@ -87,9 +87,11 @@ breadcrumb (AdminUserR cID) = useRunDB . maybeT (i18nCrumb MsgBreadcrumbUser $ J
|
|||||||
uid <- decrypt cID
|
uid <- decrypt cID
|
||||||
User{..} <- MaybeT $ get uid
|
User{..} <- MaybeT $ get uid
|
||||||
return (userDisplayName, Just UsersR)
|
return (userDisplayName, Just UsersR)
|
||||||
breadcrumb (AdminUserDeleteR cID) = i18nCrumb MsgBreadcrumbUserDelete . Just $ AdminUserR cID
|
breadcrumb (AdminUserDeleteR cID) = i18nCrumb MsgBreadcrumbUserDelete . Just $ AdminUserR cID
|
||||||
breadcrumb (AdminHijackUserR cID) = i18nCrumb MsgBreadcrumbUserHijack . Just $ AdminUserR cID
|
breadcrumb (AdminUserSyncLdapR cID) = i18nCrumb MsgBreadcrumbSynchLdap . Just $ AdminUserR cID
|
||||||
breadcrumb (UserNotificationR cID) = useRunDB $ do
|
breadcrumb (AdminUserSyncAvsR cID) = i18nCrumb MsgBreadcrumbSynchAvs . Just $ AdminUserR cID
|
||||||
|
breadcrumb (AdminHijackUserR cID) = i18nCrumb MsgBreadcrumbUserHijack . Just $ AdminUserR cID
|
||||||
|
breadcrumb (UserNotificationR cID) = useRunDB $ do
|
||||||
mayList <- hasReadAccessTo UsersR
|
mayList <- hasReadAccessTo UsersR
|
||||||
if
|
if
|
||||||
| mayList
|
| mayList
|
||||||
@ -1225,6 +1227,14 @@ pageActions (AdminUserR cID) = return
|
|||||||
, NavPageActionPrimary
|
, NavPageActionPrimary
|
||||||
{ navLink = defNavLink MsgMenuUserEdit $ ForProfileR cID
|
{ navLink = defNavLink MsgMenuUserEdit $ ForProfileR cID
|
||||||
, navChildren = []
|
, navChildren = []
|
||||||
|
}
|
||||||
|
, NavPageActionPrimary
|
||||||
|
{ navLink = defNavLink MsgUserLdapSync $ AdminUserSyncLdapR cID
|
||||||
|
, navChildren = []
|
||||||
|
}
|
||||||
|
, NavPageActionPrimary
|
||||||
|
{ navLink = defNavLink MsgUserAvsSync $ AdminUserSyncAvsR cID
|
||||||
|
, navChildren = []
|
||||||
}
|
}
|
||||||
, NavPageActionPrimary
|
, NavPageActionPrimary
|
||||||
{ navLink = defNavLinkModal MsgUserHijack $ AdminHijackUserR cID
|
{ navLink = defNavLinkModal MsgUserHijack $ AdminHijackUserR cID
|
||||||
|
|||||||
@ -14,11 +14,14 @@ module Handler.Profile
|
|||||||
, getSetDisplayEmailR, postSetDisplayEmailR
|
, getSetDisplayEmailR, postSetDisplayEmailR
|
||||||
, getCsvOptionsR, postCsvOptionsR
|
, getCsvOptionsR, postCsvOptionsR
|
||||||
, postLangR
|
, postLangR
|
||||||
|
, getAdminUserSyncAvsR
|
||||||
|
, getAdminUserSyncLdapR
|
||||||
) where
|
) where
|
||||||
|
|
||||||
import Import
|
import Import
|
||||||
|
|
||||||
import Handler.Utils
|
import Handler.Utils
|
||||||
|
import Handler.Utils.Avs
|
||||||
import Handler.Utils.Profile
|
import Handler.Utils.Profile
|
||||||
import Handler.Utils.Users
|
import Handler.Utils.Users
|
||||||
import Handler.Utils.Company
|
import Handler.Utils.Company
|
||||||
@ -1255,3 +1258,18 @@ postLangR = do
|
|||||||
addMessage Success . toHtml $ mr MsgLanguageChanged
|
addMessage Success . toHtml $ mr MsgLanguageChanged
|
||||||
|
|
||||||
redirect . fromMaybe NewsR =<< lookupGlobalGetParam GetReferer
|
redirect . fromMaybe NewsR =<< lookupGlobalGetParam GetReferer
|
||||||
|
|
||||||
|
|
||||||
|
getAdminUserSyncLdapR :: CryptoUUIDUser -> Handler Html
|
||||||
|
getAdminUserSyncLdapR uuid = do
|
||||||
|
uid <- decrypt uuid
|
||||||
|
queueJob' $ JobSynchroniseLdapUser uid
|
||||||
|
addMessageI Success $ MsgSynchroniseLdapUserQueued 1
|
||||||
|
redirectUltDest $ AdminUserR uuid
|
||||||
|
|
||||||
|
getAdminUserSyncAvsR :: CryptoUUIDUser -> Handler Html
|
||||||
|
getAdminUserSyncAvsR uuid = do
|
||||||
|
uid <- decrypt uuid
|
||||||
|
queueAvsUpdateByUID (Set.singleton uid) Nothing
|
||||||
|
addMessageI Success $ MsgSynchroniseAvsUserQueued 1
|
||||||
|
redirectUltDest $ AdminUserR uuid
|
||||||
|
|||||||
@ -659,7 +659,7 @@ postAdminUserR uuid = do
|
|||||||
}
|
}
|
||||||
userDataWidget <- runDB $ makeProfileData $ Entity uid user
|
userDataWidget <- runDB $ makeProfileData $ Entity uid user
|
||||||
siteLayout heading $ do
|
siteLayout heading $ do
|
||||||
let _deleteWidget = $(i18nWidgetFile "data-delete")
|
let _deleteWidget = $(i18nWidgetFile "data-delete") -- TODO: update deletion text for FRADrive
|
||||||
$(widgetFile "adminUser")
|
$(widgetFile "adminUser")
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user