-! Copyright (C) 2007, 2010 Slava Pestov
+! Copyright (C) 2007, 2010, 2023 Slava Pestov, Raghu Ranganathan.
! See https://factorcode.org/license.txt for BSD license.
USING: accessors calendar db db.tuples db.types furnace.actions
furnace.auth furnace.boilerplate furnace.recaptcha
furnace.redirection furnace.syndication furnace.utilities
html.forms http.server.dispatchers http.server.responses kernel
math.parser namespaces present sequences smtp sorting splitting
-urls validators xmode.catalog ;
+urls validators xmode.catalog literals ;
IN: webapps.pastebin
TUPLE: pastebin < dispatcher ;
SYMBOL: pastebin-email-from
SYMBOL: pastebin-email-to
+CONSTANT: paste-mode-names $[ "text" mode-names remove "text" prefix ]
+
can-delete-pastes? define-capability
! ! !
! PASTES
! ! !
+
: <paste-action> ( -- action )
<page-action>
[
"id" value
"new-annotation" [
"parent" set-value
- mode-names "modes" set-value
+ paste-mode-names "modes" set-value
"factor" "mode" set-value
] nest-form
] >>init
<page-action>
[
"factor" "mode" set-value
- mode-names "modes" set-value
+ paste-mode-names "modes" set-value
] >>init
{ pastebin "new-paste" } >>template
[
- mode-names "modes" set-value
+ paste-mode-names "modes" set-value
validate-entity
] >>validate
: <new-annotation-action> ( -- action )
<action>
[
- mode-names "modes" set-value
+ paste-mode-names "modes" set-value
{ { "parent" [ v-integer ] } } validate-params
validate-entity
] >>validate