Esempio n. 1
0
    def POST(self):
        post = web.input(_method='POST')
        errors = {}
        username = forms.get_or_add_error(post, 'username', errors,
                                          lang.NO_FIELD_SUPPLIED('username'))
        password = forms.get_or_add_error(post, 'password', errors,
                                          lang.NO_FIELD_SUPPLIED('password'))
        password_again = forms.get_or_add_error(
            post, 'password_again', errors,
            lang.NO_FIELD_SUPPLIED('password again'))

        forms.validate(errors, 'password_again', lang.PASSWORDS_DONT_MATCH,
                       lambda p, p2: p == p2, (password, password_again))

        if username is not None:
            forms.validate(errors, 'username',
                           lang.FIELD_MUST_BE_LEN('Username', 3),
                           lambda u: len(u) >= 3, (username, ))
            forms.validate(
                errors, 'username', lang.USERNAME_TAKEN,
                lambda u: not bool(db.users.find_one({'username': u})),
                (username, ))
        if password is not None:
            forms.validate(errors, 'password',
                           lang.FIELD_MUST_BE_LEN('Password', 5),
                           lambda p: len(p) >= 5, (password, ))

        if errors:
            return render('register.html', errors=errors)
        else:
            users.register(username=username, password=users.pswd(password))
            web.seeother('/login/')
Esempio n. 2
0
  def POST(self):
    post = web.input(_method='POST')

    # Validate
    user = users.get_user_by_name(post['username'])
    if user is not None:
      response = {'message': 'false'}
    else:
      auth = 1 if post['authority'] == 'guest' else 0
      user = users.add(username=post['username'], password=users.pswd(post['password']), authority=auth)
      response = {'message': 'true'}

      logs.add_user(post['username'])
    return json.dumps(response)
Esempio n. 3
0
  def POST(self):
    post = web.input(_method='POST')

    user = users.get_user_by_name(post['username'])
    if user is None:
      response = {'message': 'nonexist'}
    elif user['password'] != users.pswd(post['password']):
      response = {'message': 'nomatch'}
    elif user['authority'] == 1:
      response = {'message': 'nopermission'}
    else:
      users.login(user)
      response = {'message': 'success'}

      logs.login(post['username'])
    return json.dumps(response)
Esempio n. 4
0
    def POST(self):
        post = web.input(_method='POST')
        errors = {}
        username = forms.get_or_add_error(post, 'username', errors, lang.NO_FIELD_SUPPLIED('username'))
        password = forms.get_or_add_error(post, 'password', errors, lang.NO_FIELD_SUPPLIED('password'))
        password_again = forms.get_or_add_error(post, 'password_again', errors, lang.NO_FIELD_SUPPLIED('password again'))

        forms.validate(errors, 'password_again', lang.PASSWORDS_DONT_MATCH, lambda p,p2: p == p2, (password, password_again))

        if username is not None:
            forms.validate(errors, 'username', lang.FIELD_MUST_BE_LEN('Username', 3), lambda u: len(u) >= 3, (username,))
            forms.validate(errors, 'username', lang.USERNAME_TAKEN, lambda u: not bool(db.users.find_one({'username':u})), (username,))
        if password is not None:
            forms.validate(errors, 'password', lang.FIELD_MUST_BE_LEN('Password', 5), lambda p: len(p) >= 5, (password,))            
            
        if errors:
			return render('register.html', errors=errors)
        else:
            users.register(username=username, password=users.pswd(password), access=0)
            web.seeother('/login/')