-
Notifications
You must be signed in to change notification settings - Fork 27
/
adminApp.coffee
55 lines (44 loc) · 1.3 KB
/
adminApp.coffee
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
wiki = require './lib/wiki'
mailer = require './lib/mailer'
config = require './lib/config'
_ = require 'underscore'
__ = (require './lib/i18n').__
exports.mailconf = (req, res) ->
options = (config.get 'mail') or {}
options.ssl = options.secureConnection
options.tls = !options.ignoreTLS
if options.auth
options.username = options.auth.user
res.render 'admin/mailconf.jade',
options: options
title: 'Mail Configuration'
exports.postMailconf = (req, res) ->
originOptions = config.get 'mail'
newOptions =
from: req.body.from
host: req.body.host
secureConnection: req.body.ssl
port: req.body.port
ignoreTLS: not req.body.tls
authMethod: req.body.authMethod
auth:
user: req.body.username
pass: req.body.password
# Update password only if not empty.
if (not newOptions.auth.pass) and originOptions and originOptions.auth
newOptions.auth.pass = originOptions.auth.pass
config.set 'mail', newOptions
res.redirect '/'
exports.mail = (req, res) ->
res.render 'admin/mail.jade',
notConfigured: !(config.get 'mail')
title: 'Mail'
to: req.query.to
urls:
mailConf: '/admin/mailconf'
exports.postMail = (req, res) ->
mailer.send
to: req.body.to,
subject: req.body.subject
text: req.body.body
res.redirect '/admin/mail'