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")
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 })
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)
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'))
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)