def account(requestType): "用户帐号模块" g.message = request.args.get("error", "") if requestType == "login": #登录 if request.method == "GET": g.title = u"登录" g.login = True return render_template("notes/account.html") else: username = request.form.get("username", None) password = request.form.get("password", "") password = hashlib.md5(password).hexdigest() dbSession = sessionMaker() query = dbSession.query(AccountModel) obj = query.filter(AccountModel.username == username).first() dbSession.close() if obj == None: #用户名不存在 return redirect(u"/notes/account/login?error=用户名不存在") else: if obj.password == password: #登录成功 session['uid'] = obj.id return redirect(url_for("notes.index")) else: #密码错误 return redirect(u"/notes/account/login?error=密码错误") else: if request.method == "GET": g.login = False g.title = u"注册" return render_template("notes/account.html") else: username = request.form.get("username", None) password = request.form.get("password", "") password = hashlib.md5(password).hexdigest() dbSession = sessionMaker() dao = AccountModel(username, password) dbSession.add(dao) try: dbSession.commit() session['uid'] = dao.id result = True except: dbSession.rollback() result = False dbSession.close() if result: return redirect(url_for("notes.index")) else: return redirect(u"/notes/account/register?error=用户名已经被注册")
def post(self): parser = reqparse.RequestParser() parser.add_argument('type', type=str, required=True, help='Account type cannot be blank!') parser.add_argument('number', type=str, required=True, help='Account number cannot be blank!') parser.add_argument('name', type=str, required=True, help='User Name cannot be blank!') parser.add_argument('first_name', type=str, required=True, help='User Fist Name cannot be blank!') parser.add_argument('address', type=str, required=True, help='User address cannot be blank!') parser.add_argument('birthdate', type=str, required=True, help='User birthdate cannot be blank!') args = parser.parse_args() account = AccountModel( account_type = args['type'], account_number = args['number'], name = args['name'], first_name = args['first_name'], address = args['address'], birthdate = args['birthdate'], ) account.id = db.get_max_id()+1 location = geolocator.geocode(account.address) if location != None: account.latitude = location.latitude account.longitude = location.longitude else: account.latitude = None; account.longitude = None; db.post(account.type, account.number, account.name, account.first_name, account.address, account.birthdate, account.latitude, account.longitude) return account, status.HTTP_201_CREATED
def save_account(account_name, access_token): settings = company_settings.get_company_settings(account_name, access_token) AccountModel(id=account_name, access_token=access_token, company_name=settings.company_name, currency=settings.currency, logo_url=settings.logo_url, address=settings.address, phone=settings.phone).put() products.sync_products_for_account(account_name, access_token)
def create_user(self, user: UserCreate) -> User: """ registering user :param user: dataclass with data for auth user :return: dataclass user """ old_user = (self.session.query(AccountModel).filter (AccountModel.email == user.email).first()) if old_user is not None: raise ThisEmailAlreadyUse() password_hash = generate_password_hash(user.password) new_user = AccountModel(email=user.email, password=password_hash, first_name=user.first_name, last_name=user.last_name) self.session.add(new_user) self.session.commit() return self.get_user(new_user.as_dict().get('id'))
def render(self) -> None: service = input('Qual o nome do serviço? ') username = input('Qual o nome do usuário? ') password = input('Qual a senha? ') AccountModel(service, username, password).insert()