def pre_save(self, obj, data): if obj.id is None: password = data.get('password') retypepassword = data.get('retypepassword') if password is None or retypepassword is None: raise UserCanon.UserCanonExc(u"Не заполнены пароли.") if password != retypepassword: raise UserCanon.UserCanonExc(u"Пароли не совпадают!") obj.password = password roles = data.get('roles') login = data.get('login') email = data.get('email') if login is None or email is None: raise UserCanon.UserCanonExc( u"Не заполнены логин или почтовый ящик.") if not roles: raise UserCanon.UserCanonExc( u"Не выбраны роли для пользователя.") obj._roles = [x['name'] for x in roles] if not UserService.check_duplicate(login, email, id): raise UserCanon.UserCanonExc( u"В системе уже есть запись с именем '%s'" % login) return obj
def post(self): if request.json is None: abort(400, message=u"Пустые параметры") from services.userservice import UserService login = request.json.get('login') email = request.json.get('email') password = request.json.get('password') retypepassword = request.json.get('retypepassword') if login is None or email is None or password is None or \ retypepassword is None: abort(400, message=u"Недостаточно данных") if password != retypepassword: abort(400, message=u"Пароли не совпадают") if not UserService.check_duplicate(login, email): abort(400, message=u"Дупликат") user = UserService.registration(login, email, password) db.session.add(user) db.session.commit() return jsonify({ 'token': user.generate_auth_token().decode('ascii') })
def create_superuser(): from services.userservice import UserService with app.app_context(): if UserService.check_duplicate('admin'): user = UserService.registration( 'admin', '*****@*****.**', 'admin', is_superuser=True, first_name='Админов', last_name='Админ', role=['admin']) db.session.add(user) db.session.commit() else: debug(u'Error - has admin.') raise Exception(u"Has admin.")