Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Side by Side Diff: sitescripts/formmail/README.md

Issue 29984580: Issue 4413 - Merge formmail.py and formmail2.py (Closed) Base URL: https://hg.adblockplus.org/sitescripts/
Patch Set: More work on README Created Jan. 22, 2019, 10:52 p.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | Download patch
« no previous file with comments | « .sitescripts.example ('k') | sitescripts/formmail/template/eyeo.mail » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 # formmail
2
3 The web handler that extracts form data from a POST request, uses it to
4 populate an email template and then sends the produced email to a configured
5 list of addresses.
6
7 ## Dependencies
8
9 * [Python 2.7](https://www.python.org/download/releases/2.7/)
10 * [Jinja2](http://jinja.pocoo.org/docs/2.10/intro/)
11 * Other packages are required for testing, please see the list of 'deps' in
12 [`tox.ini`](../../tox.ini)
13
14 ## Running the web handler
15
16 Normally, the formmail web handler is run by the multiplexer, and configured
17 via the sitescripts config file. Please refer to the main [README](../../README. md)
18 for more information about the multiplexer and configuring `sitescripts.ini`.
19
20 In order to activate this handler, add the following line to the multiplexer
21 config file:
22
23 [multiplexer]
24 sitescripts.formmail.web.formmail =
25
26 ## Configuring the web handler
27
28 `formmail.py` can handle multiple URLs and forms. Each URL will correspond to a
29 group of config variables that all start with the same prefix, for example:
30 handler1. These variables are configured in the [formmail] section of the
31 config file.
32
33 The URL of the form, where the POST request comes from:
34
35 [formmail]
36 handler1.url = formmail/test/apply/submit
37
38 The CSV file into which all submissions will be saved (optional):
39
40 handler1.csv_log = /var/log/something.csv_log
Vasily Kuznetsov 2019/01/23 12:23:13 Nit: let's rename the file to `handler1-log.csv`,
rhowell 2019/01/23 21:40:26 Done.
41
42 The Jinja2 template for the email. This is where the recipient email addresses
43 are entered. [(See an example email template.)](formmail/test/template/test.mail ):
44
45 handler1.template = formmail/test/template/test.mail
Vasily Kuznetsov 2019/01/23 12:23:13 Nit: here we can also rename the template file to
rhowell 2019/01/23 21:40:26 Done.
46
47 The `handler1.fields.xxx` subgroup includes the descriptions of the form fields,
48 and these must match the fields on the form. These are the fields expected in th e
49 POST request and then made available to the template. Each variable in the group
50 defines a field and its value can be:
51 * "mandatory" (which makes the field mandatory)
52 * and/or "email" (which makes the field an email)
53 * or it can be empty (just a normal optional field).
54
55 For mandatory fields we can also define "group-name.fields.field-name.mandatory"
56 to override the error message that will be returned by the handler if the field
57 was empty. Likewise for email fields we can define
58 "group-name.fields.field-name.email" to set the error message that's returned if
59 the content of the field doesn't look like an email. See an example:
60
61 handler1.fields.email = mandatory, email
62 handler1.fields.email.mandatory = You failed the email test
63 handler1.fields.email.email = You failed the email validation
64 handler1.fields.non_mandatory_email = email
65 handler1.fields.non_mandatory_message =
66 handler1.fields.mandatory = mandatory
OLDNEW
« no previous file with comments | « .sitescripts.example ('k') | sitescripts/formmail/template/eyeo.mail » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld