Browse Source

Merge pull request #787 from flying1020/2.1/bugfix/用户注册提示错误

修复 bug 用户注册的时候提示错误。两处错误:
walle-web.io 6 years ago
parent
commit
57c77057a8
2 changed files with 12 additions and 2 deletions
  1. 6 1
      walle/api/user.py
  2. 6 1
      walle/form/user.py

+ 6 - 1
walle/api/user.py

@@ -99,7 +99,12 @@ class UserAPI(SecurityResource):
                     <br> <br>Welcome to walle, it cost a lot of time and lock to meet you, enjoy it : )
                     <br><br>name: %s<br>password: %s""" \
                               % (user.username, user.email, form.password.data)
-            emails.send_email(user.email, 'Welcome to walle', message, '')
+
+            try:
+                emails.send_email(user.email, 'Welcome to walle', message, '')
+            except Exception as e:
+                # todo, response error message to the front.
+                current_app.logger.warning(e)
 
             return self.render_json(data=user.item(user_id=user.id))
         return self.render_error(code=Code.form_error, message=form.errors)

+ 6 - 1
walle/form/user.py

@@ -6,6 +6,7 @@
     :created time: 2017-03-19 15:50:07
     :author: wushuiyong@walle-web.io
 """
+
 try:
     from flask_wtf import FlaskForm  # Try Flask-WTF v0.13+
 except ImportError:
@@ -48,7 +49,11 @@ class UserForm(FlaskForm):
 
 
 class RegistrationForm(UserForm):
-    pass
+
+    def validate_username(self, field):
+        """ username muse be unique """
+        if UserModel.query.filter(UserModel.username == field.data, UserModel.username != -1).count():
+            raise ValidationError('此用户名已经被注册')
 
 
 class UserUpdateForm(FlaskForm):