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
|
||||
BreadcrumbApiDocs: API Dokumentation
|
||||
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
|
||||
BreadcrumbApiDocs: API documentation
|
||||
BreadcrumbSwagger: OpenAPI 2.0 (Swagger)
|
||||
BreadcrumbSynchLdap: Synch LDAP
|
||||
BreadcrumbSynchAvs: Synch AVS
|
||||
|
||||
8
routes
8
routes
@ -52,9 +52,11 @@
|
||||
|
||||
/ NewsR GET !free
|
||||
/users UsersR GET POST -- no tags, i.e. admins only
|
||||
/users/#CryptoUUIDUser AdminUserR GET POST
|
||||
/users/#CryptoUUIDUser/delete AdminUserDeleteR POST
|
||||
/users/#CryptoUUIDUser/hijack AdminHijackUserR GET POST !adminANDno-escalation
|
||||
/users/#CryptoUUIDUser AdminUserR GET POST
|
||||
/users/#CryptoUUIDUser/delete AdminUserDeleteR POST
|
||||
/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/password UserPasswordR GET POST !selfANDis-pw-hash
|
||||
!/users/functionary-invite/new AdminNewFunctionaryInviteR GET POST
|
||||
|
||||
@ -87,9 +87,11 @@ breadcrumb (AdminUserR cID) = useRunDB . maybeT (i18nCrumb MsgBreadcrumbUser $ J
|
||||
uid <- decrypt cID
|
||||
User{..} <- MaybeT $ get uid
|
||||
return (userDisplayName, Just UsersR)
|
||||
breadcrumb (AdminUserDeleteR cID) = i18nCrumb MsgBreadcrumbUserDelete . Just $ AdminUserR cID
|
||||
breadcrumb (AdminHijackUserR cID) = i18nCrumb MsgBreadcrumbUserHijack . Just $ AdminUserR cID
|
||||
breadcrumb (UserNotificationR cID) = useRunDB $ do
|
||||
breadcrumb (AdminUserDeleteR cID) = i18nCrumb MsgBreadcrumbUserDelete . Just $ AdminUserR cID
|
||||
breadcrumb (AdminUserSyncLdapR cID) = i18nCrumb MsgBreadcrumbSynchLdap . Just $ AdminUserR cID
|
||||
breadcrumb (AdminUserSyncAvsR cID) = i18nCrumb MsgBreadcrumbSynchAvs . Just $ AdminUserR cID
|
||||
breadcrumb (AdminHijackUserR cID) = i18nCrumb MsgBreadcrumbUserHijack . Just $ AdminUserR cID
|
||||
breadcrumb (UserNotificationR cID) = useRunDB $ do
|
||||
mayList <- hasReadAccessTo UsersR
|
||||
if
|
||||
| mayList
|
||||
@ -1225,6 +1227,14 @@ pageActions (AdminUserR cID) = return
|
||||
, NavPageActionPrimary
|
||||
{ navLink = defNavLink MsgMenuUserEdit $ ForProfileR cID
|
||||
, navChildren = []
|
||||
}
|
||||
, NavPageActionPrimary
|
||||
{ navLink = defNavLink MsgUserLdapSync $ AdminUserSyncLdapR cID
|
||||
, navChildren = []
|
||||
}
|
||||
, NavPageActionPrimary
|
||||
{ navLink = defNavLink MsgUserAvsSync $ AdminUserSyncAvsR cID
|
||||
, navChildren = []
|
||||
}
|
||||
, NavPageActionPrimary
|
||||
{ navLink = defNavLinkModal MsgUserHijack $ AdminHijackUserR cID
|
||||
|
||||
@ -14,11 +14,14 @@ module Handler.Profile
|
||||
, getSetDisplayEmailR, postSetDisplayEmailR
|
||||
, getCsvOptionsR, postCsvOptionsR
|
||||
, postLangR
|
||||
, getAdminUserSyncAvsR
|
||||
, getAdminUserSyncLdapR
|
||||
) where
|
||||
|
||||
import Import
|
||||
|
||||
import Handler.Utils
|
||||
import Handler.Utils.Avs
|
||||
import Handler.Utils.Profile
|
||||
import Handler.Utils.Users
|
||||
import Handler.Utils.Company
|
||||
@ -1255,3 +1258,18 @@ postLangR = do
|
||||
addMessage Success . toHtml $ mr MsgLanguageChanged
|
||||
|
||||
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
|
||||
siteLayout heading $ do
|
||||
let _deleteWidget = $(i18nWidgetFile "data-delete")
|
||||
let _deleteWidget = $(i18nWidgetFile "data-delete") -- TODO: update deletion text for FRADrive
|
||||
$(widgetFile "adminUser")
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user