diff --git a/src/Vervis/Handler/Client.hs b/src/Vervis/Handler/Client.hs index 05e08fa..e614341 100644 --- a/src/Vervis/Handler/Client.hs +++ b/src/Vervis/Handler/Client.hs @@ -409,7 +409,28 @@ getBrowseR = do return (inztance, remoteObject, remoteActor) ) byKeyOrRaid - return (j, jactor, cs') + children <- E.select $ E.from $ \ (deleg `E.InnerJoin` holder) -> do + E.on $ deleg E.^. SourceUsSendDelegatorSource E.==. holder E.^. SourceHolderProjectSource + E.where_ $ holder E.^. SourceHolderProjectProject E.==. E.val projectID + return $ holder E.^. SourceHolderProjectSource + children' <- for children $ \ (E.Value sourceID) -> do + byKeyOrRaid <- bimap snd snd <$> getSourceTopic sourceID + bitraverse + (\case + Right _g -> error "I'm a project and I have a parent who is a local Group" + Left j -> do + actorID <- projectActor <$> getJust j + actor <- getJust actorID + return (j, actor) + ) + (\ remoteActorID -> do + remoteActor <- getJust remoteActorID + remoteObject <- getJust $ remoteActorIdent remoteActor + inztance <- getJust $ remoteObjectInstance remoteObject + return (inztance, remoteObject, remoteActor) + ) + byKeyOrRaid + return (j, jactor, cs', children') ) {- now <- liftIO getCurrentTime diff --git a/templates/browse.hamlet b/templates/browse.hamlet index bb9ca14..5ec5f62 100644 --- a/templates/browse.hamlet +++ b/templates/browse.hamlet @@ -1,6 +1,6 @@ $# This file is part of Vervis. $# -$# Written in 2016, 2018, 2019, 2022, 2023 +$# Written in 2016, 2018, 2019, 2022, 2023, 2024 $# by fr33domlover . $# $# ♡ Copying is an act of love. Please copy, reuse and share. @@ -101,11 +101,20 @@ $# .

Projects