def register(): """ Perform registration of a new user """ require.account.create() data = AccountRegister().deserialize(request_data()) # Check if the username already exists, return an error if so if Account.by_name(data['name']): raise colander.Invalid( AccountRegister.name, _("Login name already exists, please choose a " "different one")) # Check if passwords match, return error if not if not data['password1'] == data['password2']: raise colander.Invalid(AccountRegister.password1, _("Passwords don't match!")) # Create the account account = Account() account.name = data['name'] account.fullname = data['fullname'] account.email = data['email'] account.public_email = data['public_email'] account.password = generate_password_hash(data['password1']) db.session.add(account) db.session.commit() # Perform a login for the user login_user(account, remember=True) # Registration successful - Redirect to the front page return jsonify(account)
def register(): """ Perform registration of a new user """ disable_cache() require.account.create() data = AccountRegister().deserialize(request_data()) # Check if the username already exists, return an error if so if Account.by_name(data['name']): raise colander.Invalid( AccountRegister.name, _("Login name already exists, please choose a " "different one")) # Check if passwords match, return error if not if not data['password1'] == data['password2']: raise colander.Invalid(AccountRegister.password1, _("Passwords don't match!")) # Create the account account = Account() account.name = data['name'] account.fullname = data['fullname'] account.email = data['email'] account.public_email = data['public_email'] account.password = generate_password_hash(data['password1']) db.session.add(account) db.session.commit() # Perform a login for the user login_user(account, remember=True) # Registration successful - Redirect to the front page return jsonify(account)
def decode(self, cstruct): from spendb.model import Account if isinstance(cstruct, basestring): return Account.by_name(cstruct) if isinstance(cstruct, dict): return self.decode(cstruct.get('name')) return None
def decode(self, cstruct): from spendb.model import Account if isinstance(cstruct, basestring): return Account.by_name(cstruct) if isinstance(cstruct, dict): return self.decode(cstruct.get("name")) return None
def login(): data = request_data() account = Account.by_name(data.get("login")) if account is not None: if check_password_hash(account.password, data.get("password")): login_user(account, remember=True) return jsonify({"status": "ok", "message": _("Welcome back, %(name)s!", name=account.name)}) return jsonify({"status": "error", "errors": {"password": _("Incorrect user name or password!")}}, status=400)
def view(account): """ Generate a profile page for a user (from the provided name) """ account = obj_or_404(Account.by_name(account)) data = account.to_dict() if account == current_user or current_user.admin: data['email'] = account.email data['public_email'] = account.public_email data['twitter_handle'] = account.twitter_handle data['public_twitter'] = account.public_twitter return jsonify(data)
def view(account): """ Generate a profile page for a user (from the provided name) """ account = obj_or_404(Account.by_name(account)) data = account.to_dict() if account == current_user or current_user.admin: data['email'] = account.email data['public_email'] = account.public_email data['twitter_handle'] = account.twitter_handle data['public_twitter'] = account.public_twitter return jsonify(data)
def login(): data = request_data() account = Account.by_name(data.get('login')) if account is not None: if check_password_hash(account.password, data.get('password')): login_user(account, remember=True) return jsonify({ 'status': 'ok', 'message': _("Welcome back, %(name)s!", name=account.name) }) return jsonify({ 'status': 'error', 'errors': { 'password': _("Incorrect user name or password!") } }, status=400)
def login(): data = request_data() account = Account.by_name(data.get('login')) if account is not None: if check_password_hash(account.password, data.get('password')): login_user(account, remember=True) return jsonify({ 'status': 'ok', 'message': _("Welcome back, %(name)s!", name=account.name) }) return jsonify( { 'status': 'error', 'errors': { 'password': _("Incorrect user name or password!") } }, status=400)