|
... |
|
... |
14 |
log = logging.getLogger(__name__)
|
14 |
log = logging.getLogger(__name__)
|
15 |
|
15 |
|
16 |
class W:
|
16 |
class W:
|
17 |
new_vhost = widgets.NewVHost()
|
17 |
new_vhost = widgets.NewVHost()
|
18 |
mysql_password = widgets.MySQLPassword()
|
18 |
mysql_password = widgets.MySQLPassword()
|
|
|
19 |
prweb_email_password = widgets.PRWebEmailPassword()
|
|
|
20 |
|
19 |
|
21 |
|
20 |
class VHostApp(SFXBaseApp):
|
22 |
class VHostApp(SFXBaseApp):
|
21 |
'''This is the VHOST app for PyForge'''
|
23 |
'''This is the VHOST app for PyForge'''
|
22 |
tool_label='VHOST'
|
24 |
tool_label='VHOST'
|
23 |
default_mount_label='VHOST'
|
25 |
default_mount_label='VHOST'
|
|
... |
|
... |
74 |
flash('Passwords set')
|
76 |
flash('Passwords set')
|
75 |
else:
|
77 |
else:
|
76 |
db.update(**kw)
|
78 |
db.update(**kw)
|
77 |
flash('Passwords updated')
|
79 |
flash('Passwords updated')
|
78 |
redirect('.')
|
80 |
redirect('.')
|
|
|
81 |
|
|
|
82 |
class PRWebEmailApp(SFXBaseApp):
|
|
|
83 |
'''This is the Project Web Email Password app for PyForge'''
|
|
|
84 |
tool_label='Project Web Outgoing Email'
|
|
|
85 |
default_mount_label='PRWebEmail'
|
|
|
86 |
default_mount_point='sfx-smtp'
|
|
|
87 |
status='alpha'
|
|
|
88 |
ordinal=11
|
|
|
89 |
|
|
|
90 |
class AdminController(DefaultAdminController):
|
|
|
91 |
|
|
|
92 |
@with_trailing_slash
|
|
|
93 |
@expose('jinja:sfx/prweb_email_admin.html')
|
|
|
94 |
def index(self, **kw):
|
|
|
95 |
c.form = W.prweb_email_password
|
|
|
96 |
return dict(value=SM.PRWebEmailAddress())
|
|
|
97 |
|
|
|
98 |
@without_trailing_slash
|
|
|
99 |
@validate(W.prweb_email_password, error_handler=index)
|
|
|
100 |
@expose()
|
|
|
101 |
def save(self, **kw):
|
|
|
102 |
db = SM.PRWebEmailAddress()
|
|
|
103 |
if db.passwd is None:
|
|
|
104 |
SM.PRWebEmailAddress.create(**kw)
|
|
|
105 |
flash('Password set')
|
|
|
106 |
else:
|
|
|
107 |
db.update(**kw)
|
|
|
108 |
flash('Password updated')
|
|
|
109 |
redirect('.')
|