Experimental changes to Vervis.

[[ 🗃 ^KrXYo vervis ]] :: [📥 Inbox] [📤 Outbox] [🐤 Followers] [🤝 Collaborators] [🛠 Changes]

Clone

HTTPS: darcs clone https://vervis.peers.community/repos/KrXYo

SSH: darcs clone USERNAME@vervis.peers.community:KrXYo

Tags

TODO

src / Vervis / Form /

Person.hs

{- This file is part of Vervis.
 -
 - Written in 2016 by fr33domlover <fr33domlover@riseup.net>.
 -
 - ♡ Copying is an act of love. Please copy, reuse and share.
 -
 - The author(s) have dedicated all copyright and related and neighboring
 - rights to this software to the public domain worldwide. This software is
 - distributed without any warranty.
 -
 - You should have received a copy of the CC0 Public Domain Dedication along
 - with this software. If not, see
 - <http://creativecommons.org/publicdomain/zero/1.0/>.
 -}

module Vervis.Form.Person
    ( NewPerson (..)
    , newPersonForm
    )
where

import Vervis.Import

import Vervis.Field.Person
import Vervis.Field.Sharer
import Vervis.Model.Ident (ShrIdent)

data NewPerson = NewPerson
    { npLogin :: ShrIdent
    , npPass  :: Text
    , npName  :: Maybe Text
    , npEmail :: Maybe Text
    }

newPersonAForm :: AForm Handler NewPerson
newPersonAForm = NewPerson
    <$> areq newSharerIdentField "Username*" Nothing
    <*> areq passField           "Password*" Nothing
    <*> aopt textField           "Full name" Nothing
    <*> aopt emailField          "E-mail"    Nothing

newPersonForm :: Form NewPerson
newPersonForm = renderDivs newPersonAForm
[See repo JSON]