def registration(): usernames = [x.username for x in User.query.all()] emails = [y.email for y in User.query.all()] rFirstName = request.form["rfirstname"] rLastName = request.form["rlastname"] email = request.form["email"] amount = request.form["amount"] rUsername = request.form["rusername"] rPassword = request.form["rpassword"] cPassword = request.form["cpassword"] if rUsername in usernames or email in emails: # username and email should be blank because one of them is already being used return render_template("registration.html", rpassword=rPassword, cpassword=cPassword, rfirstname=rFirstName, rlastname=rLastName, amount=amount) '''TODO: I want to be able to return to the registration page with a notifcation about the username/email already being used. How can I do this?''' elif rFirstName == "" or rLastName == "" or email == "" or amount == "" or rUsername == "" or rPassword == "" or cPassword == "": return render_template("registration.html", rusername=rUsername, rpassword=rPassword, cpassword=cPassword, alert1=True) else: if rPassword == cPassword: u1 = User(username=rUsername, password_hash=rPassword, email=email, first_name=rFirstName, last_name=rLastName) a1 = Account(balance=amount) db.session.add(u1) db.session.add(a1) u1.account = a1 db.session.commit() print("Added user to database") else: # don't reload cPassword because the passwords did not match return render_template("registration.html", rusername=rUsername, rpassword=rPassword, rfirstname=rFirstName, rlastname=rLastName, email=email, amount=amount, alert2=True) '''TODO: Add notification saying the passwords do not match''' return render_template("homepage.html", success=True)
def create_user(account): """ Find existing user or create new user """ user = User(username=u'araikc', password=u'alalo', email=u'*****@*****.**', role='admin', confirmed=1) user.account = account user.pin = "1234" db.session.add(user) #db.session.commit() return user
def register(): captcha_id = current_app.config.get('CAPTCHA_ID') private_key = current_app.config.get('PRIVATE_KEY') BASE_URL = current_app.config.get('BASE_URL') product = "embed" if request.method == "POST": account = request.form['account'] password = request.form['password'] challenge = request.form['geetest_challenge'] validate = request.form['geetest_validate'] seccode = request.form['geetest_seccode'] gt = geetest.geetest(captcha_id, private_key) result = gt.geetest_validate(challenge, validate, seccode) if result: user = User() user.account = account user.password = password session = db.DBSession() session.add(user) session.commit() session.close() flash('注册成功!') return redirect(location='/') else: flash('验证失败!') gt = geetest.geetest(captcha_id, private_key) url = "" httpsurl = "" try: challenge = gt.geetest_register() except Exception as e: challenge = "" if len(challenge) == 32: url = "http://%s%s&challenge=%s&product=%s" % (BASE_URL, captcha_id, challenge, product) httpsurl = "https://%s%s&challenge=%s&product=%s" % (BASE_URL, captcha_id, challenge, product) return render_template('user/register.html', url=url, httpsurl=httpsurl) else: gt = geetest.geetest(captcha_id, private_key) url = "" httpsurl = "" try: challenge = gt.geetest_register() except Exception as e: challenge = "" if len(challenge) == 32: url = "http://%s%s&challenge=%s&product=%s" % (BASE_URL, captcha_id, challenge, product) httpsurl = "https://%s%s&challenge=%s&product=%s" % (BASE_URL, captcha_id, challenge, product) return render_template('user/register.html', url=url, httpsurl=httpsurl) return render_template('user/register.html')
def login(request): if request.method == 'GET': account = request.GET.get('account') password = request.GET.get('password') user = User() user.account = account user.password = password user.save() response_str = "Login successfully! Account: %s, Password: %s" % ( user.account, user.password) return HttpResponse(response_str) # return HttpResponse("Login Successfully GET!") elif request.method == 'POST': return HttpResponse("Login Successfully POST!")
def sign_up(request): if request.method == "POST": account = request.POST.get('account', '') password = request.POST.get('password', '') if not account or not password: return JsonResponse(resultMsg['NeedParameter']) is_exist = User.objects(account=account).filter().count() if is_exist: return JsonResponse(resultMsg['ExistUser']) user = User() user.account = account user.password = password user.save() kw = { '_id': str(user.id), 'nickname': user.nickname, 'avatar': user.avatar, 'token': user.token } process_token(**kw) return JsonResponse(resultMsg['SignUpSuccess']) raise Http404
def register(): from random import randint from sbb import application, db from lib.email2 import send_email from models import User, ReferralProgram, Account, Referral referral = None if 'referral' in session: referral = session['referral'] if request.method == 'GET': session['a'] = randint(1, 10) session['b'] = randint(1, 10) referral = None if 'referral' in session: referral = session['referral'] return render_template('home/register.html', referral=referral, a=session['a'], b=session['b']) form = RegistrationForm(request.form) if form.validate_on_submit(): captcha = form.captcha.data.strip() if captcha != '' and int(captcha) == session['a'] + session['b']: cur = User.query.filter_by(username=form.username.data).first() ecur = User.query.filter_by(email=form.email.data).first() if cur is None and ecur is None: # refereal program 521 rp = ReferralProgram.query.filter_by(id=1).first() # Account User account = Account(0, 0) account.referralProgram = rp db.session.add(account) #db.session.commit() user = User(username=form.username.data, password=form.password.data, email=form.email.data) user.account = account if form.fb.data != '': user.fb = form.fb.data if form.skype.data != '': user.skype = form.skype.data user.pin = form.pin_number.data db.session.add(user) #db.session.commit() # referral account refUsername = form.refemail.data.strip() if refUsername != '': refUser = User.query.filter_by( username=refUsername).first() if refUser: referral = Referral(accountId=account.id) referral.referralAccount = refUser.account db.session.add(referral) else: flash("Wrong referral. Referral data skiped.") db.session.commit() token = generate_confirmation_token(user.email, application.config) confirm_url = url_for('home.confirm_email', token=token, _external=True) html = render_template('home/activate_email.html', confirm_url=confirm_url) subject = "Please confirm your email" send_email(user.email, subject, html, application.config) login_user(user) flash('A confirmation email has been sent via email.', 'success') return redirect(url_for('home.unconfirmed')) else: flash('User with specified data already exists in a system', 'warning') else: flash("Wrong captcha") else: flash_errors(form) session['a'] = randint(1, 10) session['b'] = randint(1, 10) return render_template('home/register.html', referral=referral, a=session['a'], b=session['b'])
def init_dev_data(): """Initializes database with data for development and testing""" db.drop_all() db.create_all() print("Initialized Cashify Database.") a1 = Account(balance=400.00) u1 = User(username="******", password_hash="Vogel") a2 = Account(balance=0.00) u2 = User(username="******", password_hash="Torpey") db.session.add(a1) db.session.add(u1) db.session.add(a2) db.session.add(u2) u1.account = a1 u2.account = a2 # Transaction dummy data for Tyler balance = 400.00 amount = round(random.uniform(1.00, 100.00), 2) balance += amount t1 = Transaction(amount=amount, date="2019-05-11", category="Other", current_balance=round(balance, 2)) db.session.add(t1) a1.transactions.append(t1) amount = round(random.uniform(1.00, 100.00), 2) balance += amount t2 = Transaction(amount=amount, date="2019-05-11", category="Income", current_balance=round(balance, 2)) db.session.add(t2) a1.transactions.append(t2) amount = -round(random.uniform(1.00, 100.00), 2) balance += amount t3 = Transaction(amount=amount, date="2019-06-11", category="Entertainment", current_balance=round(balance, 2)) db.session.add(t3) a1.transactions.append(t3) amount = -round(random.uniform(1.00, 100.00), 2) balance += amount t4 = Transaction(amount=amount, date="2019-06-11", category="Restaurants", current_balance=round(balance, 2)) db.session.add(t4) a1.transactions.append(t4) amount = -round(random.uniform(1.00, 100.00), 2) balance += amount t5 = Transaction(amount=amount, date="2019-06-11", category="Restaurants", current_balance=round(balance, 2)) db.session.add(t5) a1.transactions.append(t5) amount = round(random.uniform(1.00, 100.00), 2) balance += amount t6 = Transaction(amount=amount, date="2019-07-04", category="Savings", current_balance=round(balance, 2)) db.session.add(t6) a1.transactions.append(t6) amount = round(random.uniform(1.00, 100.00), 2) balance += amount t7 = Transaction(amount=amount, date="2019-07-06", category="Income", current_balance=round(balance, 2)) db.session.add(t7) a1.transactions.append(t7) amount = round(random.uniform(1.00, 100.00), 2) balance += amount t8 = Transaction(amount=amount, date="2019-07-08", category="Other", current_balance=round(balance, 2)) db.session.add(t8) a1.transactions.append(t8) amount = -round(random.uniform(1.00, 100.00), 2) balance += amount t9 = Transaction(amount=amount, date="2019-07-10", category="Groceries", current_balance=round(balance, 2)) db.session.add(t9) a1.transactions.append(t9) amount = -round(random.uniform(1.00, 100.00), 2) balance += amount t10 = Transaction(amount=amount, date="2019-07-12", category="Utilities", current_balance=round(balance, 2)) db.session.add(t10) a1.transactions.append(t10) amount = round(random.uniform(1.00, 100.00), 2) balance += amount t11 = Transaction(amount=amount, date="2019-07-14", category="Other", current_balance=round(balance, 2)) db.session.add(t11) a1.transactions.append(t11) amount = -round(random.uniform(1.00, 100.00), 2) balance += amount t12 = Transaction(amount=amount, date="2019-07-15", category="Other", current_balance=round(balance, 2)) db.session.add(t12) a1.transactions.append(t12) amount = round(random.uniform(1.00, 100.00), 2) balance += amount t13 = Transaction(amount=amount, date="2019-07-16", category="Income", current_balance=round(balance, 2)) db.session.add(t13) a1.transactions.append(t13) amount = -round(random.uniform(1.00, 100.00), 2) balance += amount t14 = Transaction(amount=amount, date="2019-07-18", category="Entertainment", current_balance=round(balance, 2)) db.session.add(t14) a1.transactions.append(t14) amount = round(random.uniform(1.00, 100.00), 2) balance += amount t15 = Transaction(amount=amount, date="2019-07-19", category="Other", current_balance=round(balance, 2)) db.session.add(t15) a1.transactions.append(t15) amount = -round(random.uniform(1.00, 100.00), 2) balance += amount t16 = Transaction(amount=amount, date="2019-07-19", category="Auto", current_balance=round(balance, 2)) db.session.add(t16) a1.transactions.append(t16) amount = round(random.uniform(1.00, 100.00), 2) balance += amount t17 = Transaction(amount=amount, date="2019-07-20", category="Income", current_balance=round(balance, 2)) db.session.add(t17) a1.transactions.append(t17) amount = -round(random.uniform(1.00, 100.00), 2) balance += amount t18 = Transaction(amount=amount, date="2019-07-22", category="Healthcare", current_balance=round(balance, 2)) db.session.add(t18) a1.transactions.append(t18) amount = -round(random.uniform(1.00, 100.00), 2) balance += amount t19 = Transaction(amount=amount, date="2019-07-22", category="Restaurants", current_balance=round(balance, 2)) db.session.add(t19) a1.transactions.append(t19) amount = round(random.uniform(1.00, 100.00), 2) balance += amount t20 = Transaction(amount=amount, date="2019-07-23", category="Other", current_balance=round(balance, 2)) db.session.add(t20) a1.transactions.append(t20) amount = round(random.uniform(1.00, 100.00), 2) balance += amount t21 = Transaction(amount=amount, date="2019-07-24", category="Other", current_balance=round(balance, 2)) db.session.add(t21) a1.transactions.append(t21) a1.balance = balance #Setup Budget b = Budget(income = 1000, rent = 200, education = 100, groceries = 50, home_improvement = 50, entertainment = 75, savings = 100, utilities = 25, \ auto_gas = 50, healthcare = 50, restaurants = 50, shopping = 50, travel = 100, other = 200) a1.budget = b db.session.commit() print("Added dummy data.")