~ubuntu-branches/ubuntu/natty/moin/natty-updates

« back to all changes in this revision

Viewing changes to MoinMoin/action/recoverpass.py

  • Committer: Bazaar Package Importer
  • Author(s): Jonas Smedegaard
  • Date: 2008-06-22 21:17:13 UTC
  • mto: This revision was merged to the branch mainline in revision 18.
  • Revision ID: james.westby@ubuntu.com-20080622211713-inlv5k4eifxckelr
ImportĀ upstreamĀ versionĀ 1.7.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
30
30
Contact the owner of the wiki, who can enable email.""")
31
31
 
32
32
    try:
33
 
        email = wikiutil.clean_input(form['email'].lower())
 
33
        email = wikiutil.clean_input(form['email'][0].lower())
34
34
        if not email:
35
35
            # continue if email not given
36
36
            raise KeyError
42
42
        pass
43
43
 
44
44
    try:
45
 
        username = wikiutil.clean_input(form['name'])
 
45
        username = wikiutil.clean_input(form['name'][0])
46
46
        if not username:
47
47
            # continue if name not given
48
48
            raise KeyError
147
147
 
148
148
    if not found:
149
149
        # we will not have linked, so forbid access
150
 
        request.makeForbidden(403, 'No MoinAuth in auth list')
 
150
        request.makeForbidden403()
151
151
        return
152
152
 
153
153
    page = Page(request, pagename)
154
154
    _ = request.getText
155
 
    form = request.values # link in mail -> GET request
 
155
    form = request.form
156
156
 
157
157
    if not request.cfg.mail_enabled:
158
158
        request.theme.add_msg(_("""This wiki is not enabled for mail processing.
160
160
        page.send_page()
161
161
        return
162
162
 
163
 
    submitted = form.get('account_sendmail', '')
164
 
    token = form.get('token', '')
165
 
    newpass = form.get('password', '')
166
 
    name = form.get('name', '')
 
163
    submitted = form.get('account_sendmail', [''])[0]
 
164
    token = form.get('token', [''])[0]
 
165
    newpass = form.get('password', [''])[0]
 
166
    name = form.get('name', [''])[0]
167
167
 
168
168
    if token and name and newpass:
169
 
        newpass2 = form.get('password_repeat', '')
 
169
        newpass2 = form.get('password_repeat', [''])[0]
170
170
        msg = _("Passwords don't match!")
171
171
        msg_type = 'error'
172
172
        if newpass == newpass2:
173
173
            pw_checker = request.cfg.password_checker
174
174
            pw_error = None
175
175
            if pw_checker:
176
 
                pw_error = pw_checker(request, name, newpass)
 
176
                pw_error = pw_checker(name, newpass)
177
177
                if pw_error:
178
 
                    msg = _("Password not acceptable: %s") % wikiutil.escape(pw_error)
 
178
                    msg = _("Password not acceptable: %s") % pw_error
179
179
            if not pw_error:
180
180
                u = user.User(request, user.getUserId(request, name))
181
181
                if u and u.valid and u.apply_recovery_token(token, newpass):
190
190
            return
191
191
 
192
192
    if token and name:
 
193
        request.emit_http_headers()
193
194
        request.theme.send_title(_("Password reset"), pagename=pagename)
194
195
 
195
196
        request.write(request.formatter.startContent("content"))
204
205
        request.theme.send_footer(pagename)
205
206
        request.theme.send_closing_html()
206
207
    elif submitted: # user pressed create button
207
 
        if request.method != 'POST':
 
208
        if request.request_method != 'POST':
208
209
            return
209
210
        msg = _do_recover(request)
210
211
        request.theme.add_msg(msg, "dialog")
211
212
        page.send_page()
212
213
    else: # show create form
 
214
        request.emit_http_headers()
213
215
        request.theme.send_title(_("Lost password"), pagename=pagename)
214
216
 
215
217
        request.write(request.formatter.startContent("content"))