Esempio n. 1
0
def makeuser(request):
    if request.method == 'POST':
        # ユーザー登録に必要なデータ軍の定義
        id = request.POST["school_number"]
        pswd = request.POST["password"]

        # ユーザーの講義データを取得
        html = getPageSource(id, pswd)
        dict_data = exportAsDict(html)
        dict_data = dict_data['Spring']
        pre_class, aft_class = changeData(dict_data)

        # 講義データのバイナリ変換
        pre_class = beRowData(pre_class)
        aft_class = beRowData(aft_class)

        # 書き出しサイズがオーバーフローを起こすため10進数に変換して書き込む
        db_user = User(
            student_id=id,
            team=None,
            qtr_pre=int(pre_class, 2),
            qtr_aft=int(aft_class, 2),
        )
        db_user.save()
    return render(request, "scheduler/makeuser.html")
Esempio n. 2
0
def login():
    auth_data = request.get_json()
    token_id = auth_data.get('tokenId')
    google_token = get_google_token(token_id)
    if 'error_description' in google_token:
        return jsonify({
            'message':
            'Token is invalid: {0}'.format(google_token['error_description']),
            'type':
            'error'
        })
    email = google_token.get('email')
    user = User.query.get(email)
    if not user:
        new_user = User(
            email=email,
            name=google_token.get('name'),
            surname=google_token.get('surname'),
            fullname=google_token.get('name'),
            avatar=google_token.get('picture'),
        )
        db_session.add(new_user)
        db_session.commit()

    access_token = create_access_token(identity=email)
    refresh_token = create_refresh_token(identity=email)
    return jsonify({
        'message':
        'Logged in as {}'.format(google_token.get('name')),
        'access_token':
        access_token,
        'refresh_token':
        refresh_token
    })
Esempio n. 3
0
def register():
	form = RegistrationForm()
	if current_user.is_authenticated:
		return redirect(url_for('main'))
	if form.validate_on_submit():
		hashed_pw = bcrypt.generate_password_hash(form.password.data).decode('utf-8')
		user = User(username=form.username.data, email=form.email.data, password=hashed_pw)
		db.session.add(user)
		db.session.commit()		
		flash(f'Account created for {form.username.data}!', 'success')
		return redirect(url_for('login'))
	return render_template('register.html', title='Register', form=form)
Esempio n. 4
0
def register_as_admin():
    curr_user = current_user
    if curr_user.role == 'Admin':
        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,
                role=form.role.data,
                employee_id=form.employee.data,
                password=hashed_password
            )
            db.session.add(user)
            db.session.commit()
            flash(f'Account created for {form.email.data}.', 'success')
            return redirect(url_for('account'))
        return render_template('register_as_admin.html',
                               title='Register New',
                               form=form)
    else:
        return redirect(url_for('home'))
Esempio n. 5
0
from flask_login import login_user, current_user, logout_user, login_required
import secrets
import os
from PIL import Image
import re
from sqlalchemy import exc, desc, text, or_
from faker import Faker
import random
from datetime import datetime

if __name__ == '__main__':
    db.create_all()
    user1 = User(
        id=1,
        username='******',
        email='*****@*****.**',
        is_manager=True,
        dept='Production',
        password=bcrypt.generate_password_hash('test').decode('utf-8'))
    db.session.add(user1)
    db.session.commit()
    num = 1000
    uid = [i for i in range(10001, 10001 + num)]
    fake = Faker(['en_US', 'en_UK'])
    names = []
    for _ in range(num):
        names.append(fake.name())
    emails = []
    for _ in range(num):
        emails.append(fake.email())
    x = int(num / 7)