6
|
1 local Luan = require "luan:Luan.luan"
|
|
2 local error = Luan.error
|
|
3 local stringify = Luan.stringify or error()
|
|
4 local parse = Luan.parse or error()
|
|
5 local Io = require "luan:Io.luan"
|
|
6 local Http = require "luan:http/Http.luan"
|
|
7 local Shared = require "site:/lib/Shared.luan"
|
|
8 local head = Shared.head or error()
|
|
9 local header = Shared.private_header or error()
|
|
10 local config = Shared.config or error()
|
|
11 local get_raw_config = Shared.get_raw_config or error()
|
|
12 local save_raw_config = Shared.save_raw_config or error()
|
|
13
|
|
14
|
|
15 local function posted()
|
|
16 local mail_info = Http.request.parameters.mail_info or error()
|
|
17 mail_info = parse(mail_info)
|
|
18 local raw_config = get_raw_config()
|
|
19 raw_config.mail_info = mail_info
|
|
20 save_raw_config(raw_config)
|
|
21 %>
|
|
22 <!doctype html>
|
|
23 <html>
|
|
24 <head>
|
|
25 <% head() %>
|
|
26 <title>Mercurial Configure Email</title>
|
|
27 </head>
|
|
28 <body>
|
|
29 <% header() %>
|
|
30 <div content>
|
|
31 <h1>Configure Email</h1>
|
|
32 <p>Updated</p>
|
|
33 </div>
|
|
34 </body>
|
|
35 </html>
|
|
36 <%
|
|
37 end
|
|
38
|
|
39 return function()
|
|
40 local mail_info = stringify(config.mail_info or {
|
|
41 host = "smtpcorp.com"
|
|
42 username = "xxx"
|
|
43 password = "xxx"
|
|
44 port = 2525
|
|
45 })
|
|
46 Io.stdout = Http.response.text_writer()
|
|
47 if Http.request.method == "POST" then
|
|
48 posted()
|
|
49 return
|
|
50 end
|
|
51 %>
|
|
52 <!doctype html>
|
|
53 <html>
|
|
54 <head>
|
|
55 <% head() %>
|
|
56 <title>Mercurial Configure Email</title>
|
|
57 </head>
|
|
58 <body>
|
|
59 <% header() %>
|
|
60 <div content>
|
|
61 <h1>Configure Email</h1>
|
|
62 <form method=post>
|
|
63 <p>
|
|
64 <textarea name=mail_info rows=6 cols=40><%=mail_info%></textarea>
|
|
65 </p>
|
|
66 <p>
|
|
67 <input type=submit value="Update">
|
|
68 </p>
|
|
69 </form>
|
|
70 </div>
|
|
71 </body>
|
|
72 </html>
|
|
73 <%
|
|
74 end
|