示例#1
0
def seed_db():
    from models.Item import Item
    from models.User import User
    from models.Order import Order
    from models.OrderShipping import OrderShipping
    from main import bcrypt
    from faker import Faker
    import random

    faker = Faker()

    for i in range(3):
        user = User()
        user.email = f"test{i}@test.com"
        user.password = bcrypt.generate_password_hash("123456").decode("utf-8")
        db.session.add(user)

    admin = User()
    admin.email = "*****@*****.**"
    admin.password = bcrypt.generate_password_hash("123456").decode("utf-8")
    admin.admin = True
    db.session.add(admin)

    db.session.commit()

    for i in range(10):
        item = Item()
        item.name = faker.currency_name()
        item.description = faker.paragraph(nb_sentences=3)
        item.price = 53.25
        db.session.add(item)
    
    db.session.commit()

    ordershipping = []

    for i in range(5):
        shipping = OrderShipping()
        shipping.first_name = faker.first_name()
        shipping.last_name = faker.last_name()
        shipping.address = faker.street_address()
        shipping.state = faker.city()
        shipping.zip_code = faker.postcode()
        db.session.add(shipping)
        ordershipping.append(shipping)
    
    db.session.commit()

    orders = []

    for i in range(5):
        order = Order()
        order.shipping_id = random.choice(ordershipping).id
        db.session.add(order)
        orders.append(order)

    db.session.commit()

    print("Tables seeded.")
示例#2
0
def db_start():
    create_engine('sqlite:///tmp/test.db', convert_unicode=True)
    db.create_all()
    db.session.commit()
    user = models.User(
        password=bcrypt.generate_password_hash('password').decode('utf-8'),
        email='*****@*****.**',
        admin=True)

    user2 = models.User(
        password=bcrypt.generate_password_hash('password').decode('utf-8'),
        email='*****@*****.**',
        admin=True)
    db.session.add(user)
    db.session.add(user2)
    db.session.commit()

    recipe = models.Recipe(title="Private recipe user1",
                           ingredients="Some ingredients",
                           time_needed=15,
                           steps="some steps",
                           is_public=False,
                           user_id=user.id,
                           average_score=None)
    recipe2 = models.Recipe(title="Public recipe user1",
                            ingredients="Some ingredients",
                            time_needed=15,
                            steps="some steps",
                            is_public=True,
                            user_id=user.id,
                            average_score=None)
    recipe3 = models.Recipe(title="Private recipe user2",
                            ingredients="Some ingredients",
                            time_needed=15,
                            steps="some steps",
                            is_public=False,
                            user_id=user2.id,
                            average_score=None)
    recipe4 = models.Recipe(title="Public recipe user2",
                            ingredients="Some ingredients",
                            time_needed=15,
                            steps="some steps",
                            is_public=True,
                            user_id=user2.id,
                            average_score=None)
    db.session.add(recipe)
    db.session.add(recipe2)
    db.session.add(recipe3)
    db.session.add(recipe4)
    db.session.commit()

    vote1 = models.Vote(value=1, user_id=user.id, recipe_id=recipe.id)
    db.session.add(vote1)
    db.session.commit()
示例#3
0
def seed_db():

    """give tables in database false data for testing purposes
    """

    from models.Document import Document
    from models.Authentication import User
    from main import bcrypt
    from faker import Faker
    import random
    
    faker = Faker()
    users = []

    for i in range(5):
        user = User()
        user.username = f"testuser{i}"
        user.password = bcrypt.generate_password_hash("testpasswd").decode("utf-8")
        db.session.add(user)
        users.append(user)

    db.session.commit()

    for i in range(20):
        doc = Document()
        doc.docname = faker.catch_phrase()
        doc.user_id = random.choice(users).id
        db.session.add(doc)
    
    db.session.commit()
    print("Seeded Tables")
示例#4
0
def auth_register():

    if request.form.get("Cancel") != None:
        return redirect(url_for("auth.home"))

    password = request.form.get("password")
    username = request.form.get("username")

    # check if username or password are empty
    if username == "" or password == "":
        return abort(400, description="username and password must have values")

    # check for spaces in usernames
    if ' ' in username or ' ' in password:
        return abort(
            400, description="cannot put whitespaces in username or password")

    # checks if user already exists
    user = User.query.filter_by(username=username).first()
    if user:
        return abort(400, description="username already taken")

    user = User()
    user.username = username
    user.password = bcrypt.generate_password_hash(password).decode("utf-8")

    db.session.add(user)
    db.session.commit()

    return redirect(url_for("auth.login"))
示例#5
0
def user_register():
    user_fields = user_schema.load(request.json)

    user = User.query.filter_by(email=user_fields["email"]).first()

    if user:
        return abort(400, description="Email already registered to an account")

    try:
        last_record = db.session.query(User).order_by(User.id.desc()).first()
    except:
        last_record = 0

    user = User()
    user.id = last_record.id + 1
    user.displayname = user_fields["displayname"]
    user.username = user_fields["username"]
    user.email = user_fields["email"]
    user.password = bcrypt.generate_password_hash(
        user_fields["password"]).decode("utf-8")

    db.session.add(user)
    db.session.commit()

    return jsonify(user_schema.dump(user))
示例#6
0
def sign_up():
    if len(request.form) != 0:
        username = request.form.get('username')
        email = request.form.get('email')
        password = request.form.get('password')

        print(
            f'\n\n{username} just registered\nE-mail:{email}\nPassword "{password}"\n\n'
        )

        if len(User.query.filter_by(username=username).all()) == 0 and len(
                User.query.filter_by(email=email).all()) == 0:
            new_user = User(username=username,
                            email=email,
                            password=bcrypt.generate_password_hash(
                                password).decode('UTF-8'))

            db.session.add(new_user)

            db.session.commit()

            login_user(new_user, remember=True)

        return redirect('/')

    return render_template('sign-up.html')
示例#7
0
def seed_db():
    # Seed database with example data

    from models.Post import Post
    from models.User import User
    from main import bcrypt
    from faker import Faker
    import random

    faker = Faker()
    users = []

    for i in range(5):
        user = User()
        user.email = f"test{i}@test.com"
        user.name = faker.name()
        user.password = bcrypt.generate_password_hash("123456").decode("utf-8")
        user.created_at = datetime.now()
        db.session.add(user)
        users.append(user)

    db.session.commit()

    for i in range(20):
        post = Post()
        post.caption = faker.catch_phrase()
        post.created_at = datetime.now()
        post.updated_at = datetime.now()
        post.total_likes = 0
        post.total_comments = 0
        post.user_id = random.choice(users).id
        db.session.add(post)

    db.session.commit()
    print("Tables seeded")
示例#8
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for('home'))

    form = RegistrationForm()

    if form.validate_on_submit():
        hashed_password = bcrypt.generate_password_hash(
            form.password.data).decode('utf-8')

        # user = User(username = form.username.data, first_name = form.first_name.data, last_name = form.last_name.data,
        #     email = form.email.data, password = hashed_password)

        flask.session['user'] = form.username.data
        flask.session['first_name'] = form.first_name.data
        flask.session['last_name'] = form.last_name.data
        flask.session['email'] = form.email.data
        flask.session['password'] = hashed_password

        username = form.username.data

        flash(f'Please set up your profile to create your account.', 'success')

        return redirect(url_for('profile_creation', username=username))

    return render_template('register.html', title='Register', form=form)
示例#9
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for('home'))
    form = SignupForm()
    if form.validate_on_submit():
        hashed_password = bcrypt.generate_password_hash(
            form.password.data).decode('utf-8')
        user = User(fullname=form.fullName.data,
                    username=form.username.data,
                    address=form.address.data,
                    governorate=form.gov.data,
                    email=form.email.data,
                    password=hashed_password,
                    user_class=form.user_class.data,
                    gender=form.gender.data,
                    phone=form.phone.data,
                    nat_id=form.nat_id.data)
        db.session.add(user)
        db.session.commit()

        flash(f'Account created for {form.username.data}!', 'success')
        return redirect(url_for('login'))

    file = url_for('static', filename='css/main.css')
    return render_template('Account.html',
                           file=file,
                           title="إنشاء حساب",
                           form=form)
示例#10
0
def create_user():
    data = request.get_json()
    user = user_schema.dump(User.query.filter_by(email=data['email']).first())
    if not data:
        return make_response(jsonify({'message': 'No input data provided'})), 400
    if user:
        return make_response(jsonify({'message': 'User with such email already exists!'})), 400

    hashed_password = bcrypt.generate_password_hash(data['password']).decode('UTF-8')

    new_user = User(
        contactName=data['contactName'],
        password=hashed_password,
        email=data['email'],
        phoneNumber=data['phoneNumber']
    )

    if 'imageFile' in request.files:
        file = request.files['imageFile']
        if file.filename == '':
            return redirect(request.url)
        if file and allowed_file(file.filename):
            filename = secure_filename(file.filename)
            file.save(os.path.join(app.config['UPLOAD_PROFPIC_FOLDER'], filename))
            new_user.imageFile = filename

    db.session.add(new_user)
    db.session.commit()
    result = user_schema.dump(new_user)
    return make_response(jsonify({'message': 'New user created!', 'user': result})), 201
示例#11
0
def seed_db():
    from models.Example import Example           # Import the example model
    from models.User import User           # User model
    from main import bcrypt                # Hashing module
    from faker import Faker                # Import the faker module
    import random

    faker = Faker()                        # Create an instance of faker
    users = []                             # Initializing an empty list

    # Creating 5 users and appending them to the users list
    for i in range(5):
        user = User()
        user.email = f"test{i}@test.com"
        user.password = bcrypt.generate_password_hash("123456").decode("utf-8")
        db.session.add(user)
        users.append(user)

    db.session.commit()

    for i in range(20):                        # 20
        example = Example()                          # New instance of example
        example.title = faker.catch_phrase()      # Add a title
        example.user_id = random.choice(users).id  # Choosing a random user to assign the example to
        db.session.add(example)                   # add the example to the db session

    db.session.commit()                        # Commit all the examples to the db
    print("Tables seeded")
示例#12
0
def seed_db():
    from models.Meal import Meal
    from models.User import User
    from main import bcrypt
    from faker import Faker
    import random

    faker = Faker()
    users = []

    for i in range(5):
        user = User()
        user.email = f"test{i}@test.com"
        user.password = bcrypt.generate_password_hash("123456").decode("utf-8")
        db.session.add(user)
        users.append(user)

    db.session.commit()

    for i in range(20):
        meal = Meal()
        meal.title = faker.sentence(nb_words=3)
        meal.user_id = random.choice(users).id
        db.session.add(meal)

    db.session.commit()
    print("Tables seeded")
def seed_db():
    from models.Recipe import Recipe
    from models.User import User
    from main import bcrypt
    from faker import Faker
    import random

    faker = Faker()
    users = []

    for i in range(5):
        user = User()
        user.email =  f"test{i}@test.com"
        user.password = bcrypt.generate_password_hash("123456").decode("utf-8")
        db.session.add(user)
        users.append(user)
    
    db.session.commit()

    for i in range(10):
        recipe = Recipe()
        recipe.recipe_name = faker.catch_phrase()
        recipe.description = faker.catch_phrase()
        recipe.user_id = random.choice(users).user_id
        db.session.add(recipe)
        print(f"{i + 1} recipe record(s) created")

    db.session.commit()
    print("Tables seeded")
示例#14
0
def auth_register():
    username = request.form.get('username')
    email = request.form.get('email')
    password = request.form.get('password')

    user_username = Users.query.filter_by(username=username).first()
    user_email = Users.query.filter_by(email=email).first()

    if user_username or user_email:
        flash("Username/email already exists", "info")
        return redirect(url_for('auth.signup'))

    elif (len(username) or len(email)) < 5 or (len(password)) < 6:
        flash("Username/email/password min 6 Characters", "info")
        return redirect(url_for('auth.signup'))

    user = Users()
    user.username = username
    user.email = email
    user.password = bcrypt.generate_password_hash(password).decode("utf-8")

    db.session.add(user)
    db.session.commit()

    languages = Languages.query.all()
    for lang in languages:
        user_watchlist = Watchlist()
        user_watchlist.user_id = user.id
        user_watchlist.language_id = lang.id
        db.session.add(user_watchlist)
    db.session.commit()

    flash("Successfuly registered! Please Log in", "info")
    return redirect(url_for('users.profile', id=user.id))
示例#15
0
def seed_db():
    from models.Accounts import Accounts
    from models.Users import Users
    from faker import Faker
    from main import bcrypt
    import random

    faker = Faker()
    accounts = []

    for i in range(10):
        account = Accounts()
        account.email = f"test{i}@test.com"
        account.password = bcrypt.generate_password_hash("123456").decode(
            "utf-8")
        db.session.add(account)
        accounts.append(account)
    db.session.commit()

    for i in range(10):
        user = Users()
        user.username = faker.name()
        user.fname = faker.first_name()
        user.lname = faker.last_name()
        user.profile_pic = faker.text()
        user.account_active = faker.boolean()
        user.account_id = i + 1
        db.session.add(user)

    db.session.commit()
    print("Tables seeded")
示例#16
0
def seed_db():
    from models.User import User                          # Importing the User model
    from models.Profile import Profile                          # Importing the Profile model
    from main import bcrypt                                     # Hashing module for the passwords
    from faker import Faker                                     # Importing the faker module for fake data
    import random                                               # Importing random from the python standard library

    faker = Faker()
    users = []

    for i in range(5):                                                           # Do this 5 times
        user = User()                                                           # Create an user object from the User model
        user.email = f"test{i+1}@test.com"                                      # Assign an email to the user object
        user.password = bcrypt.generate_password_hash("123456").decode("utf-8") # Assign ta hashed password to the user object
        db.session.add(user)                                                    # Add the user to the db session
        users.append(user)                                                      # Append the user to the users list

    db.session.commit()                                                         # Commit the seeion to the db 

    for i in range(5):
        profile = Profile()                                                     # Create a profile object from the Profile model                 

        profile.username = faker.first_name()                                   # Add a username to the profile object
        profile.firstname = faker.first_name()                                  # Add a firstname to the profile object
        profile.lastname = faker.last_name()                                    # Add a lastname to the profile object
        profile.user_id = users[i].id                                           # Add a user_id to the profile object. This comes from real ids from the users list

        db.session.add(profile)                                                 # Add the profile to the session

    db.session.commit()                                                         # Commit the session to the database
    print("Tables seeded")
示例#17
0
def seed_db():
    from models.calorie_count import Nutrient_DB
    from models.user import User
    from main import bcrypt
    from faker import Faker
    import random

    fake = Faker()
    length = 10

    for i in range(length):
        user = User()
        user.username = f"user{i}"
        user.email = f"test{i}@test.com"
        user.password = bcrypt.generate_password_hash("123").decode("utf-8")
        user.first_name = fake.first_name()
        user.last_name = fake.first_name()
        user.phone = 123345334
        db.session.add(user)
    db.session.commit()

    for i in range(length):
        calorie = Nutrient_DB()
        calorie.name = fake.first_name()
        calorie.calories = random.randint(50, 400)
        calorie.protein = random.randint(0, 10)
        calorie.fat = random.randint(0, 10)
        calorie.carb = random.randint(0, 10)
        calorie.date = fake.date()
        calorie.user_id = random.randint(1, 9)
        db.session.add(calorie)
    db.session.commit()

    print("Tables seeded")
示例#18
0
def invite(name, h):
	if current_user.is_authenticated():
		return redirect(url_for('index'))

	if not Invite.confirm_invite(name, h):
		flash(config.messages.BAD_INVITE, category='red')
		return redirect(url_for('index'))

	register = Register(request.form)
	register._action = request.path

	if request.method == 'POST' and register.validate():
		user = User(
			username=name,
			h=bcrypt.generate_password_hash(register.password.data),
			max_load=config.AUTH_PAYLOAD
		).save()

		Invite.delete_invite(name, h)

		flash('You are now registered.')

		return redirect(url_for('login'))

	return render_template('register.html', title='You\'re Invited', form=register)
示例#19
0
def seed_db():
    from models.User import User
    from models.Settlement import Settlement

    from main import bcrypt
    from faker import Faker
    import random
    faker = Faker()

    #Initial Setup
    users = []

    #Users/Settlements
    for i in range(1, 5):
        user = User()
        settlement = Settlement()

        user.username = f"testusername{i}"
        user.password = bcrypt.generate_password_hash("1234").decode("utf-8")

        settlement.user_id = faker.random_int(min=1, max=4)
        settlement.name = f"testsettlementname{i}"
        settlement.saleprice = faker.random_int(min=300000, max=1000000)
        settlement.deposit = faker.random_int(min=15000, max=20000)
        settlement.settdate = "2021-06-06"

        print(f"{i} Users & Settlements Created")
        db.session.add(user)
        db.session.add(settlement)
        users.append(user)

    db.session.commit()

    print("Tables seeded")
示例#20
0
def register():

    if request.method == 'POST':
        new_username = request.form.get('username')
        new_password = bcrypt.generate_password_hash(request.form.get('password')).decode('utf-8')
        new_password_verify = request.form.get('password_verify')
        new_email = request.form.get('email')

        try:
            sprawdzanie_uzytkownika_login = User.query.filter_by(username=new_username).first()
            if sprawdzanie_uzytkownika_login is not None:
                flash("Podany login już istnieje", 'danger')
                return render_template('register.html',username=new_username,email=new_email)

            sprawdzanie_uzytkownika_email = User.query.filter_by(email=new_email).first()
            if sprawdzanie_uzytkownika_email is not None:
                flash("Podany przez Ciebie adres e-mail już istnieje", 'danger')
                return render_template('register.html',username=new_username,email=new_email)

            if not bcrypt.check_password_hash(new_password, new_password_verify):
                flash("Podane hasła się nie zgadzają!", 'danger')
                return render_template('register.html',username=new_username,email=new_email)

            new_user = User(username=new_username, password=new_password, email=new_email)
            db.session.add(new_user)
            db.session.commit()
            return redirect('/login')

        except ServerError as err:
            flash(str(err), 'danger')
            return render_template('register.html')

    return render_template('register.html')
示例#21
0
def seed_db():
    from models.Budget import Budget
    from models.User import User
    from main import bcrypt
    from faker import Faker
    import random

    faker = Faker()
    users = []

    for i in range(5):
        user = User()
        user.username = f"tester{i}"
        user.email = f"test{i}@test.com"
        user.password = bcrypt.generate_password_hash("123456").decode("utf-8")
        db.session.add(user)
        users.append(user)

    db.session.commit()

    for i in range(10):
        budget = Budget()
        budget.name = faker.catch_phrase()
        budget.user_id = random.choice(users).id
        db.session.add(budget)

    db.session.commit()
    print("Tables seeded")
示例#22
0
def edit_password():
    if request.method == 'POST':
        old_password = request.form.get('old_password')
        new_password = bcrypt.generate_password_hash(request.form.get('new_password')).decode('utf-8')
        new_password_verify = request.form.get('new_password_verify')

        try:
            username=session['username']
            sprawdzanie_uzytkownika_haslo = User.query.filter_by(username=username).first()

            if not bcrypt.check_password_hash(sprawdzanie_uzytkownika_haslo.password, old_password):
                flash("Podaleś błędne stare hasło!", 'danger')
                return render_template('edit_password.html')

            if not bcrypt.check_password_hash(new_password, new_password_verify):
                flash("Podane hasła się nie zgadzają!", 'danger')
                return render_template('edit_password.html')


            sprawdzanie_uzytkownika_haslo.password = new_password
            db.session.commit()
            flash("Hasło zmienione", 'success')
            return redirect('/login')

        except ServerError as err:
            flash(str(err), 'danger')
            return render_template('edit_password.html')


    return render_template('edit_password.html')
示例#23
0
def user_create():

    user_fields = user_schema.load(request.json)

    user_with_same_email = User.query.filter_by(email=user_fields["email"]).first()
    user_with_same_username = User.query.filter_by(username=user_fields["username"]).first()

    if user_with_same_email:
         return abort(400, description="Username already registered")

    if user_with_same_username:
         return abort(400, description="Email already registered")

    user = User()
    user.username = user_fields["username"]
    user.first_name = user_fields["first_name"]
    user.last_name = user_fields["last_name"]
    user.created_at = user_fields["created_at"]
    user.dob = user_fields["dob"]
    user.email = user_fields["email"]
    user.mobile = user_fields["mobile"]
    user.city = user_fields["city"]
    user.country = user_fields["country"]
    user.password = bcrypt.generate_password_hash(user_fields["password"]).decode("utf-8")

    db.session.add(user)
    db.session.commit()

    return jsonify(user_schema.dump(user))
示例#24
0
def seed_db():
    from models.Book import Book
    from models.User import User
    from main import bcrypt
    from faker import Faker
    import random

    faker = Faker()
    users = []

    for i in range(5):
        user = User()
        user.email = f"test{i}@test.com"
        user.password = bcrypt.generate_password_hash("123456").decode("utf-8")
        db.session.add(user)
        users.append(user)

    db.session.commit()

    for i in range(20):
        book = Book()
        book.title = faker.catch_phrase()
        book.user_id = random.choice(users).id
        db.session.add(book)

    db.session.commit()
    print("Tables seeded")
示例#25
0
    def post(self):
        args = self.parser.parse_args()

        try:
            student = StudentModel.query.get(args['id'])

            if not student:
                student = StudentModel.query.filter_by(
                    email=args['email']).first()

                if not student:
                    args['password'] = bcrypt.generate_password_hash(
                        args['password']).decode('utf8')

                    student = StudentModel(**args)
                    student.save()

                    return {'message': 'Student saved sucessfully'}, 201

                return {'message': 'Student email already registered'}, 400

            return {'message': "Student id already registered"}, 400

        except Exception as e:
            print(e)
            return {'message': 'Something got wrong'}, 500
示例#26
0
 def reset_password(self):
     user = self.users_by_hash().one()
     user.password = bcrypt.generate_password_hash(
         self.password).decode('utf-8')
     user.password_reset_hash = None
     user.password_reset_sent = None
     db.commit()
     self.send_notification(user)
示例#27
0
def db_start():
    create_engine('sqlite:///tmp/test.db', convert_unicode=True)
    db.create_all()
    db.session.commit()

    user_1 = models.User()
    user_1.username = "******"
    user_1.password = bcrypt.generate_password_hash('pppp1234')
    user_1.email = '*****@*****.**'
    user_1.admin = True
    user_1.poweruser = True

    db.session.add(user_1)
    db.session.commit()

    user_2 = models.User()
    user_2.username = "******"
    user_2.password = bcrypt.generate_password_hash('ewelina1')
    user_2.email = '*****@*****.**'
    user_2.admin = False
    user_2.poweruser = False

    db.session.add(user_2)
    db.session.commit()

    user_3 = models.User()
    user_3.username = "******"
    user_3.password = bcrypt.generate_password_hash('qwertyuiop')
    user_3.email = '*****@*****.**'
    user_3.admin = True
    user_3.poweruser = True

    db.session.add(user_3)
    db.session.commit()

    user_4 = models.User()
    user_4.username = "******"
    user_4.password = bcrypt.generate_password_hash('admin')
    user_4.email = '*****@*****.**'
    user_4.admin = True
    user_4.poweruser = True

    db.session.add(user_4)
    db.session.commit()
    '''
示例#28
0
def register():
    form = RegistrationForm()
    if form.validate_on_submit():
        hashed_password = bcrypt.generate_password_hash(
            form.password.data).decode('utf-8')
        new_user = User(email=form.email.data, password=hashed_password)
        db.session.add(new_user)
        db.session.commit()
        flash('Account created! You may now login.', 'success')
        return redirect(url_for('users.login'))
    return render_template('register.html', title='Register', form=form)
示例#29
0
def index():
    lform = login_form()
    rform = register_form()
    nform = newpost_form()
    if lform.lsubmit.data and lform.validate_on_submit():
        user = User.query.filter_by(email=lform.lemail.data).first()
        if user and bcrypt.check_password_hash(user.password,
                                               lform.lpassword.data):

            login_user(user)
            nextpage = request.args.get("next")
            flash("شما وارد شدید", category="success")
            if nextpage:
                return redirect(nextpage)
            else:
                return redirect(url_for("index"))
        else:
            flash("ایمیل و پسورد را دوباره چک کنید", category="danger")
            return redirect(url_for("index"))
    if rform.rsubmit.data and rform.validate_on_submit():
        hashed_password = bcrypt.generate_password_hash(rform.rpassword.data)
        user = User(firstname=rform.firstname.data,
                    lastname=rform.lastname.data,
                    email=rform.remail.data,
                    password=hashed_password)
        db.session.add(user)
        db.session.commit()
        # send_email(user)
        flash("ثبت نام شما با موفقیت انجام شد.", category="success")
        return redirect(url_for("index"))
    if current_user.is_authenticated == True:
        postslen = len(current_user.posts)
        page = request.args.get("page", 1, int)
        posts = Post.query.filter_by(author=current_user).order_by(
            Post.id.desc()).paginate(page=page, per_page=5)
    else:
        postslen = 0
        posts = None
    if nform.nsubmit.data and nform.validate_on_submit():
        post = Post(title=nform.title.data,
                    date=nform.date.data,
                    time=nform.time.data,
                    user_id=current_user.id)
        db.session.add(post)
        db.session.commit()
        flash("پست شما افزوده شد", category="success")
        return redirect(url_for("index"))
    return render_template("index.html",
                           lform=lform,
                           rform=rform,
                           nform=nform,
                           title="صفحه اصلی",
                           posts=posts,
                           postslen=postslen)
示例#30
0
 def __init__(self, fullname, email, age, password, gender, admin=False):
     self.id = str(uuid.uuid4())
     self.fullname = fullname
     self.email = email
     self.age = age
     self.password = bcrypt.generate_password_hash(
         password, app.config.get('BCRYPT_LOG_ROUNDS')
     ).decode()
     self.gender = gender
     self.registered_on = datetime.datetime.now()
     self.admin = admin
示例#31
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for('home'))
    form = RegistrationForm()
    if form.validate_on_submit():
        hashed_password = bcrypt.generate_password_hash(form.password.data).decode('utf-8')
        user = User(username = form.username.data, email = form.email.data, password=hashed_password)
        db.session.add(user)
        db.session.commit()
        flash(f'Account created. Now you are able to log in!', 'success')
        return redirect(url_for('login'))
    return render_template('register.html', title='Login', form = form)
示例#32
0
from main import create_user, bcrypt
from getpass import getpass
name = raw_input('Name : ')
access = 'superadmin'

email = raw_input("Email : ")
for i in range(3):
	pwd = getpass()
	confirmpwd = getpass("Confirm Password : "******"Super User created successfully !!"
			break
		else:
			print "Error creating super user contact the admin :("
			break
	else:
		print "Error Passwords don't match try again !!"