def createUser(): try: username = request.form['email'] password = request.form['password'] email = request.form['email'] validation_token = binascii.b2a_hex(os.urandom(15)) # first_name = request.form['first_name'] # last_name = request.form['last_name'] # The db only accepts a certain pass length user = tryConnection(lambda: models.Users( username=username, email=email, first_name="", last_name="", password=bcrypt.generate_password_hash(password), last_login=datetime.datetime.now(), account_validation_token=validation_token)) db.session.add(user) db.session.commit() message = Template(users.getValidationMessage()) send_email(["*****@*****.**"], "Welcome to the NewsMap!", message.substitute({ "port": port, "token": validation_token, "email": email, "url": app.config.get("url") })) return redirect("./?success=0") except IntegrityError as e: db.session.flush() # error = {'error_code': e.orig[0], 'error_string': e.orig[1]} return redirect("./?error=2&username="******"&email=" + email) except Exception as e: db.session.flush() raise e
def newuser(): if request.method == "POST": """Get data""" data = request.form fname = data["fname"] lname = data["lname"] role = data["role"] email = data["email"] uid = genID() """Create new user""" user = models.Users(userid=uid,firstname=fname,lastname=lname,role=role,email=email) db.create_all() db.session.add(user) """Send registration email""" to_name = fname + " " + lname to_addr = email link = request.url_root+'user/register/'+str(uid) msg = """ Dear {},\n Please follow the following link to complete user registration:\n {} \n Regards, \n TitleMangementSystem """.format(to_name,link) subj = "Complete TitleManagementSystem User Registration" if send_email(to_name,to_addr,subj,msg): db.session.commit() else: flash('There was an error, please try again') return render_template("newuser.html")
def signUp(): if current_user.is_authenticated: return redirect(url_for('index')) form = forms.SignUpForm() if form.validate_on_submit(): sid = '' try: sid = special_id(form.student_number.data, form.session.data) except: flash('Invalid student number or session code.') redirect(url_for('signUp')) user = models.Users(id=sid, student_number=form.student_number.data, session_code=form.session.data, pref_name=form.name.data) if models.Users.query.filter_by(id=user.id).first() is not None: flash('You have already created an account, logging in now.') login_user(user) return redirect(url_for('game_start')) db.session.add(user) db.session.commit() flash('Congratulations, you are now a registered user!') login_user(user) return redirect(url_for('game_start')) return render_template('signup.html', title='Sign Up', form=form)
def seed(): user = models.Users() user.username = '******' user.password = '******' user.display_name = 'stacki' user.admin = True user.local = True user.created_on = datetime.datetime.now() db.session.add(user) db.session.commit()
def form(): form = AddUsers() if form.validate_on_submit(): u = models.Users(fname=form.fname.data, lname=form.lname.data, email=form.email.data) db.session.add(u) db.session.commit() else: flash_errors(form) return render_template('form.html', form=form)
def test_api_rejects_expired_token(self): """Test API rejects expired token""" user = models.Users("ben", "1234") new_token = user.generate_auth_token(2) new_token = str(new_token, "utf-8") time.sleep(3) res2 = self.client().post("/bucketlists/v1.0/", data={"name": "make billions"}, headers={"Authorization": new_token}) self.assertEqual(res2.status_code, 403) self.assertIn('"message": "Expired token, request for a new one"', str(res2.data))
def add_user(uuid): user = models.Users(uuid=uuid) db.session.add(user) db.session.commit() if is_have_user(uuid): return jsonify({ 'msg': 'new_user_write', 'code': 200, }) else: return jsonify({ 'msg': 'user_already_exists', 'code': 206, })
def signup(): form = RegistrationForm() if form.validate_on_submit(): p = models.Users( name=form.name.data, email=form.email.data, password=form.password.data, ) db.session.add(p) db.session.commit() return redirect(url_for('login')) else: return render_template('registration.html', title='Register', form=form)
def create_user(): """Create New User""" parser = reqparse.RequestParser() parser.add_argument('username', type=str, required=True, help="Username missing") parser.add_argument('name', type=str, required=True, help="Name missing") args = parser.parse_args(strict=True) user_code = get_user_code(args['username']) if user_code is not None: return make_response(jsonify({'error': 'Username taken'}), 400) new_user = dict( username = args['username'], name = args['name'] ) u = models.Users(**new_user) db.session.add(u) db.session.commit() return make_response(jsonify({'success': True}))
def process_add_admin(): if check(): return redirect(url_for('admin_login')) username = request.form['username'] password = request.form['password'] name = request.form['name'] if models.Admins.query.filter_by(id=username).first() is None and \ models.Users.query.filter_by(id=username).first() is None: user = models.Users(id=username, admin=True, name=name) admin = models.Admins(id=username, password=password, active=True) db.session.add(user) db.session.add(admin) db.session.commit() flash('Admin ' + username + ' has successfully been added') return redirect(url_for('admin_home')) else: flash( 'That username has already been taken, please chose another username' ) return redirect(url_for('add_admin'))
def createAdmin(): from datetime import datetime datetime.now() now = datetime.now() if models.Users.query.filter_by(username="******").first(): print "The 'admin' already exists" return adminUser = models.Users(name="administrator", username="******", password="******", phone=12233, birthday="ddd", sex=1, qq=123123, email="ddd", department=1, access=1, image="sdd", adddate=now, status=1) db.session.add(adminUser) db.session.commit()
def process_signup(): session_code = request.form['session_code'] uid = str(request.form['uid']) name = request.form['name'] special_id = uid + session_code if len(special_id) <= 60: check = models.Users.query.filter_by(id=special_id).first() if check: login_user(check) return redirect(url_for('game_initiate')) new_user = models.Users( id=special_id, admin=False, name=name ) db.session.add(new_user) db.session.commit() login_user(new_user) session['values'] = generate_demand(session_code) return redirect(url_for('game_initiate')) else: flash('Incorrect login details') return redirect(url_for('index'))
############### adding employees to empoyees tables ############## employeeOnline = models.Employee(name="online", password="******") tempEmployee = models.Employee(name="tempemployee1", password="******") db.session.add(employeeOnline) db.session.add(tempEmployee) db.session.commit() ############### adding employees to empoyees tables ############## ############### adding unsers to empoyees tables ############## guestUser = models.Users(name="guest", password="******", email="*****@*****.**") PeteUser = models.Users(name="Pete", password="******", email="*****@*****.**") DomUser = models.Users(name="Dom", password="******", email="*****@*****.**") FreddieUser = models.Users(name="Freddie", password="******", email="*****@*****.**") StefanUser = models.Users(name="Stefan", password="******", email="*****@*****.**") RoryUser = models.Users(name="Rory", password="******", email="*****@*****.**") LuciaUser = models.Users(name="Lucia", password="******", email="*****@*****.**") db.session.add(guestUser) db.session.add(PeteUser) db.session.add(DomUser) db.session.add(FreddieUser) db.session.add(StefanUser) db.session.add(RoryUser) db.session.add(LuciaUser)
import os import unittest from app import db, models addUser = models.Users(email="*****@*****.**", password="******", contact_number="3784748433") addStaff = models.Staff(email="*****@*****.**", password="******", contact_number="47832917438", name="John Smith", address="23 fakelane, leeds", shop_id=1) addBikeType = models.Bike_Types(gears=7, weight=17.5, brand="test brand", model="test model", colour="blue", user_type="adult", use_type="manual") addBike = models.Bikes(bike_type_id=0, shop_id=1) def logIn(user, password): for users in models.Users.query.all(): if users.email == user\ and users.password == password: return True return False
#!flask/bin/python from migrate.versioning import api from config import SQLALCHEMY_DATABASE_URI from config import SQLALCHEMY_MIGRATE_REPO from app import db, models import os.path db.create_all() if not os.path.exists(SQLALCHEMY_MIGRATE_REPO): api.create(SQLALCHEMY_MIGRATE_REPO, 'database repository') api.version_control(SQLALCHEMY_DATABASE_URI, SQLALCHEMY_MIGRATE_REPO) else: api.version_control(SQLALCHEMY_DATABASE_URI, SQLALCHEMY_MIGRATE_REPO, api.version(SQLALCHEMY_MIGRATE_REPO)) admin = models.Users(username='******', password='******') db.session.add(admin) db.session.commit()
def addUsersAndRentals(): # add all the users numberOfUsers = 72 * 3 # one user for each bike names = [ "Tom", "Alice", "Peter", "Gabriel", "Tohfah", "Della", "June", "Matthew", "Conor", "Thomas", "James", "Stephen", "Max", "Mac", "Clarissa", "Jane", "Richard", "Lisa", "Paul", "Allen", "Sam", "Jennifer", "Jane", "Imogen", "Rowena" ] secondNames = [ "Alderson", "Carey", "Yates", "Robinson", "Faucher", "Acaster", "Brimm", "Gunn", "DeMarco", "Beckett", "Fuhn", "Amis", "McNiel", "Hacket", "Calle", "Court", "Smith", "Birch", "Parkes", "Dilys", "Liddle", "King", "Hearne", "Thor" ] for i in range(numberOfUsers): firstName = random.choice(names) secondName = random.choice(secondNames) print("i = " + str(i) + " Adding " + firstName + " " + secondName) newUser = models.Users( email=firstName + secondName + str(random.randint(0, 10000)) + "@gmail.com", password=bcrypt.generate_password_hash("password").decode('utf-8'), contact_number="07" + str(random.randint(100000000, 999999999)), times_rented=random.randint(0, 10)) db.session.add(newUser) # add a random payment method to each user cardNumber = str(random.randint(1111111111111111, 9999999999999999)) lastFourDigits = cardNumber[-4:] # the last four digits cardNumber = bcrypt.generate_password_hash(cardNumber).decode( 'utf-8' ) + "##cardname=" + lastFourDigits # so we have something to show to the user print("Card number = ", cardNumber) newPaymentMethod = models.Payment_Methods( card_number=cardNumber, expiration_month=str(random.randint(1, 12)), expiration_year=str(random.randint(2019, 2023)), cvv=bcrypt.generate_password_hash(str(random.randint( 111, 999))).decode('utf-8'), user_id=i + 1) db.session.add(newPaymentMethod) db.session.commit() allBikes = models.Bikes.query.all() allRentalRates = models.Rental_Rates.query.all() numberOfBikes = 72 * 3 # making it so that every user has one 'order' in the system. # that one order contains exactly one bike. # this is so that the system is full of users and we can make # graphs. for i in range(numberOfUsers): year = 2019 # this year, so we can see how changing the dates effect things month = random.randint(1, 12) day = random.randint(1, 27) startDate = datetime.date(year, month, day) daysToRent = random.randint(5, 70) endDate = startDate + timedelta(days=daysToRent) # find the price of the order from the rental rates bikeID = allBikes[i].id bikeTypeID = allBikes[i].bike_type_id thisRentalRate = -1 for rentalRate in allRentalRates: if (rentalRate.bike_type_id == bikeTypeID): thisRentalRate = rentalRate price = calculateRentPrice(daysToRent, thisRentalRate) # add the order for the customer print("i = " + str(i) + " Adding order " + str(year) + "/" + str(month) + "/" + str(day) + ": " + str(price)) print("Renting bikeID: " + str(bikeID) + " with rental rates " + str(thisRentalRate.daily_rate) + ":" + str(thisRentalRate.weekly_rate) + ":" + str(thisRentalRate.monthly_rate)) print("For " + str(daysToRent) + " days") print("bikeTypeID: " + str(bikeTypeID)) # add the order newOrder = models.Orders( date=startDate, total_price=price, user_id=i + 1, ) db.session.add(newOrder) # add the rental for the customer newRental = models.Rented_Bikes(start_date=startDate, end_date=endDate, price=price, bike_id=bikeID, order_id=i + 1) db.session.add(newRental) db.session.commit() time.sleep(2)
def setUp(self): # Encrypt the passwords password1 = "testPassword" password2 = "secret-123" tmpPassword1 = hashlib.sha1() tmpPassword1.update(password1.encode('utf-8')) tmpPassword2 = hashlib.sha1() tmpPassword2.update(password2.encode('utf-8')) # Create 2 users user1 = models.Users(username="******", password=tmpPassword1.hexdigest(), registration_date=datetime.datetime.utcnow(), name="Paul", surname="Mark", birth="08/11/1997") user2 = models.Users(username="******", password=tmpPassword2.hexdigest(), registration_date=datetime.datetime.utcnow(), name="Marie", surname="Blum", birth="14/05/1997") # Create 3 posts post1 = models.Posts(date=datetime.datetime.utcnow(), text="Hi everyone!", author=user1, location="Leeds UK", hates_number=0, comments_number=0, reports_number=0) post2 = models.Posts(date=datetime.datetime.utcnow(), text="This is my first post!", author=user2, location="Paris FR", hates_number=0, comments_number=0, reports_number=0) post3 = models.Posts(date=datetime.datetime.utcnow(), text="And this one is my second one", author=user2, location="London UK", hates_number=0, comments_number=0, reports_number=0) # Create 4 dislikes hate1 = models.Hates(author=user1, post=post1) post1.hates_number += 1 hate2 = models.Hates(author=user1, post=post2) post2.hates_number += 1 hate3 = models.Hates(author=user2, post=post1) post1.hates_number += 1 hate4 = models.Hates(author=user2, post=post2) post2.hates_number += 1 # Create 3 comments comment1 = models.Comments(date=datetime.datetime.utcnow(), text="Hello!", author=user1, post=post2) post2.comments_number += 1 comment2 = models.Comments(date=datetime.datetime.utcnow(), text="Yes!", author=user1, post=post3) post3.comments_number += 1 comment3 = models.Comments(date=datetime.datetime.utcnow(), text="I'm here!", author=user2, post=post1) post1.comments_number += 1 # Create 2 reports report1 = models.Reports(author=user1, post=post2) post2.reports_number += 1 report2 = models.Reports(author=user1, post=post3) post3.reports_number += 1 # Add everything db.session.add(user1) db.session.add(user2) db.session.add(post1) db.session.add(post2) db.session.add(post3) db.session.add(hate1) db.session.add(hate2) db.session.add(hate3) db.session.add(hate4) db.session.add(comment1) db.session.add(comment2) db.session.add(comment3) db.session.add(report1) db.session.add(report2)