NOTE: Federation is disabled on this instance!
You can test federation between the following instances:forge.angeley.es
code.angeley.es
By | fr33domlover |
At | 2020-08-17 |
Title | Client: Add form to submit a patch via Offer activity |
Description |
Edit file src/Vervis/Client.hs 0 → 0
+ | 33 | , offerMR |
|
… | … | … | … |
- | 619 | create = Create |
|
- | 620 | { createObject = CreateTicket ticket |
|
- | 621 | , createTarget = Just uTarget |
|
- | 622 | } |
|
+ | 617 | ||
+ | 618 | offerMR |
|
+ | 619 | :: (MonadHandler m, HandlerSite m ~ App, MonadSite m, SiteEnv m ~ App) |
|
+ | 620 | => ShrIdent |
|
+ | 621 | -> TextHtml |
|
+ | 622 | -> TextPandocMarkdown |
|
+ | 623 | -> FedURI |
|
+ | 624 | -> Maybe FedURI |
|
+ | 625 | -> PatchMediaType |
|
+ | 626 | -> Text |
|
+ | 627 | -> m (Either Text (Maybe TextHtml, Audience URIMode, AP.Ticket URIMode)) |
|
+ | 628 | offerMR shrAuthor title desc uContext muBranch typ diff = runExceptT $ do |
|
+ | 629 | encodeRouteLocal <- getEncodeRouteLocal |
|
+ | 630 | encodeRouteHome <- getEncodeRouteHome |
|
+ | 631 | manager <- asksSite appHttpManager |
|
+ | 632 | hLocal <- asksSite siteInstanceHost |
|
+ | 633 | ||
+ | 634 | context <- parseTicketContext uContext |
|
+ | 635 | descHtml <- |
|
+ | 636 | ExceptT . pure $ renderPandocMarkdown $ unTextPandocMarkdown desc |
|
+ | 637 | context' <- bitraverse pure (getRemoteContextHttp "Context") context |
|
+ | 638 | ||
+ | 639 | let audAuthor = |
|
+ | 640 | AudLocal |
|
+ | 641 | [] |
|
+ | 642 | [LocalPersonCollectionSharerFollowers shrAuthor] |
|
+ | 643 | audContext = contextAudience context' |
|
+ | 644 | ||
+ | 645 | (_, _, _, audLocal, audRemote) = |
|
+ | 646 | collectAudience $ audAuthor : audContext |
|
+ | 647 | ||
+ | 648 | recips = map encodeRouteHome audLocal ++ audRemote |
|
+ | 649 | ObjURI hBranch luBranch = fromMaybe uContext muBranch |
|
+ | 650 | luAuthor = encodeRouteLocal $ SharerR shrAuthor |
|
+ | 651 | ||
+ | 652 | ticket = AP.Ticket |
|
+ | 653 | { AP.ticketLocal = Nothing |
|
+ | 654 | , AP.ticketAttributedTo = luAuthor |
|
+ | 655 | , AP.ticketPublished = Nothing |
|
+ | 656 | , AP.ticketUpdated = Nothing |
|
+ | 657 | , AP.ticketContext = Nothing |
|
+ | 658 | , AP.ticketSummary = title |
|
+ | 659 | , AP.ticketContent = TextHtml descHtml |
|
+ | 660 | , AP.ticketSource = desc |
|
+ | 661 | , AP.ticketAssignedTo = Nothing |
|
+ | 662 | , AP.ticketResolved = Nothing |
|
+ | 663 | , AP.ticketAttachment = Just |
|
+ | 664 | ( hBranch |
|
+ | 665 | , MergeRequest |
|
+ | 666 | { mrOrigin = Nothing |
|
+ | 667 | , mrTarget = luBranch |
|
+ | 668 | , mrBundle = Right |
|
+ | 669 | ( hLocal |
|
+ | 670 | , BundleOffer Nothing $ pure AP.Patch |
|
+ | 671 | { AP.patchLocal = Nothing |
|
+ | 672 | , AP.patchAttributedTo = luAuthor |
|
+ | 673 | , AP.patchPublished = Nothing |
|
+ | 674 | , AP.patchType = typ |
|
+ | 675 | , AP.patchContent = diff |
|
+ | 676 | } |
|
+ | 677 | ) |
|
+ | 678 | } |
|
+ | 679 | ) |
|
+ | 680 | } |
|
+ | 681 | return (Nothing, Audience recips [] [] [] [] [], ticket) |
|
… | … | … | … |
Edit file src/Vervis/Handler/Client.hs 0 → 0
+ | 253 | -> Widget -> Enctype |
|
- | 262 | widget7 enctype7 = |
|
+ | 263 | widget7 enctype7 |
|
+ | 264 | widget8 enctype8 = |
|
… | … | … | … |
+ | 301 | ||
+ | 302 | <h1>Submit a patch (via Offer) |
|
+ | 303 | <form method=POST action=@{PublishR} enctype=#{enctype8}> |
|
+ | 304 | ^{widget8} |
|
+ | 305 | <input type=submit> |
|
… | … | … | … |
+ | 344 | ((_result8, widget8), enctype8) <- |
|
+ | 345 | runFormPost $ identifyForm "f8" createMergeRequestForm |
|
… | … | … | … |
+ | 357 | widget8 enctype8 |
|
… | … | … | … |
+ | 418 | | ResultOfferMR (FedURI, Maybe FedURI, TextHtml, TextPandocMarkdown, PatchMediaType, FileInfo) |
|
… | … | … | … |
+ | 440 | ((result8, widget8), enctype8) <- |
|
+ | 441 | runFormPost $ identifyForm "f8" createMergeRequestForm |
|
+ | 452 | <|> ResultOfferMR <$> result8 |
|
… | … | … | … |
+ | 481 | ResultOfferMR (uCtx, muBranch, title, desc, typ, file) -> do |
|
+ | 482 | diff <- TE.decodeUtf8 <$> fileSourceByteString file |
|
+ | 483 | (summary, audience, ticket) <- |
|
+ | 484 | ExceptT $ offerMR shrAuthor title desc uCtx muBranch typ diff |
|
+ | 485 | offerTicketC ep s summary audience ticket uCtx |
|
… | … | … | … |
+ | 503 | widget8 enctype8 |
|
… | … | … | … |