1
# -*- coding: iso-8859-1 -*-
5
@copyright: 2001-2004 Juergen Hermann <jh@web.de>,
6
2003-2007 MoinMoin:ThomasWaldmann
7
@license: GNU GPL, see COPYING for details.
10
from MoinMoin.widget import html
16
def __init__(self, request):
17
""" Initialize user settings form.
19
self.request = request
20
self._ = request.getText
21
self.cfg = request.cfg
23
def make_row(self, label, cell, **kw):
24
""" Create a row in the form table.
26
self._table.append(html.TR().extend([
27
html.TD(**kw).extend([html.B().append(label), ' ']),
28
html.TD().extend(cell),
33
""" Create the complete HTML form code. """
35
request = self.request
36
sn = request.getScriptname()
37
pi = request.getPathinfo()
38
action = u"%s%s" % (sn, pi)
40
for authm in request.cfg.auth:
41
hint = authm.login_hint(request)
44
self._form = html.FORM(action=action, name="loginform")
45
self._table = html.TABLE(border="0")
47
# Use the user interface language and direction
48
lang_attr = request.theme.ui_lang_attr()
49
self._form.append(html.Raw('<div class="userpref"%s>' % lang_attr))
51
self._form.append(html.INPUT(type="hidden", name="action", value="login"))
52
self._form.append(self._table)
54
self._form.append(html.P().append(html.Raw(hint)))
55
self._form.append(html.Raw("</div>"))
58
if 'username' in cfg.auth_login_inputs:
59
self.make_row(_('Name'), [
61
type="text", size="32", name="name",
65
if 'password' in cfg.auth_login_inputs:
66
self.make_row(_('Password'), [
68
type="password", size="32", name="password",
72
if 'openid_identifier' in cfg.auth_login_inputs:
73
self.make_row(_('OpenID'), [
75
type="text", size="32", name="openid_identifier",
82
type="submit", name='login', value=_('Login')
86
return unicode(self._form)
88
def getLogin(request):
89
""" Return HTML code for the login. """
90
return Login(request).asHTML()