def get_user(user_id): # Set initial values to be modified as we read through blocks name = None balance = 0 transactions = [] # Loop through all blocks in the blockchain for block in blockchain.chain: # Loop through all transactions in each block for transaction in block["transactions"]: if transaction["type"] == "new_user" and transaction[ "user_id"] == user_id: # Save initial user data user_id = transaction["user_id"] name = transaction["name"] balance += transaction["balance"] elif transaction["type"] == "transaction": if transaction["recipient"] == user_id: # Add to the balance if this user received coins balance += transaction["amount"] transactions.append(transaction) elif transaction["sender"] == user_id: # Subtract from the balance if this user spent coins balance -= transaction["amount"] transactions.append(transaction) # Create the resulting user object user = User(user_id, name, balance, transactions) return jsonify(user.serialize())
def test_login_success(self): pw_hash = bcrypt.generate_password_hash('testpass') user = User(username='******', pw_hash=pw_hash) db.session.add(user) db.session.commit() res = self.login('testuser', 'testpass') soup = BeautifulSoup(res.data) d = soup.find('span', 'flashdata') assert d.text == u'Logged in successfully'
def register_view(): form = RegistrationForm(request.form) if form.validate_on_submit(): user = User(username=form.name.data, email=form.email.data, password=form.password.data) # form.populate_obj(user) db.session.add(user) db.session.commit() login_user(user) return redirect(url_for('index')) return render_template('users/register.html', form=form)
def create(): form = SignUpForm(request.form) if form.validate_on_submit(): user = User.query.filter_by(username=form.username.data).first() if not user: user = User(form.first_name.data, form.last_name.data, form.username.data, generate_password_hash(form.password.data)) db.session.add(user) db.session.commit() flash('Created account. Please signin') return redirect(url_for('auth.signin')) flash('Username exists', 'error-message') return render_template("auth/signup.html", form=form)
def adduser(email, username, admin=False): """Register a new user.""" from getpass import getpass password = getpass() password2 = getpass(prompt='Confirm: ') if password != password2: import sys sys.exit('Error: passwords do not match.') db.create_all() user = User(email=email, username=username, password=password, is_admin=admin) db.session.add(user) db.session.commit() print('User {0} was registered successfully.'.format(username))
def create(): form = RegistrationForm() if form.validate(): if form.password.data == form.password_confirmation.data: user = User(form.first_name.data, form.last_name.data, form.email.data, form.phone.data, generate_password_hash(form.password.data)) db.session.add(user) db.session.commit() if user: session['user_id'] = user.id flash(f'Welcome back {user.first_name}!') return redirect(url_for('pages.about')) else: flash('Database error', 'main_warning') else: flash('Password and password confirmation do not match', 'form_errors') else: flash(form.errors, 'form_errors') return render_template('users/new.html', form=form)