| 
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>
 | 
| 
24
 | 
    23 <html lang="en">
 | 
| 
6
 | 
    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>
 | 
| 
24
 | 
    53 <html lang="en">
 | 
| 
6
 | 
    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
 |