Exemplo n.º 1
0
Arquivo: app.py Projeto: yubang/notes
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=用户名已经被注册")
Exemplo n.º 2
0
 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
Exemplo n.º 3
0
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)
Exemplo n.º 4
0
    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'))
Exemplo n.º 5
0
 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()