Example #1
0
    def post(self):
        username = self.request.get('username')
        password = self.request.get('password')
        firstname = self.request.get('firstname')
        lastname = self.request.get('lastname')
        verify = self.request.get('verify')
        email = self.request.get('email')

        userError = ''
        passwordError = ''
        verifyError = ''
        emailError = ''

        if not (username and valid_username(username)):
            userError = USERNAME_ER
        if not (password and valid_password(password)):
            passwordError = PASSWORD_ER
        if not (verify and (verify == password)):
            verifyError = VERIFY_ER
        if not (valid_email(email)):
            emailError = EMAIL_ER

        if (userError or passwordError or verifyError or emailError):
            self.render('user-signup.html',
                        username=username,
                        firstname=firstname,
                        lastname=lastname,
                        email=email,
                        usernameError=userError,
                        passwordError=passwordError,
                        verifyError=verifyError,
                        emailError=emailError)
        else:
            pw_hash = utils.make_pw_hash(username, password)
            if pw_hash:
                u = User(username=username,
                         password=pw_hash,
                         firstname=firstname,
                         lastname=lastname,
                         email=email)
                u.put()
                id_string = str(u.key().id())
                cookieHsh = utils.make_secure_val(id_string)
                self.response.headers.add_header(
                    'Set-Cookie', 'user_id=%s; Path=/' % cookieHsh)
                self.redirect('/')
            else:
                self.render('user-signup.html',
                            username=username,
                            email=email,
                            usernameError=userError,
                            passwordError=passwordError,
                            verifyError=verifyError,
                            emailError=emailError)
Example #2
0
    def post(self):
        username = self.request.get('username')
        password = self.request.get('password')
        firstname = self.request.get('firstname')
        lastname = self.request.get('lastname')
        verify = self.request.get('verify')
        email = self.request.get('email')

        userError = ''
        passwordError = ''
        verifyError = ''
        emailError = ''

        if not(username and valid_username(username)):
            userError = USERNAME_ER
        if not (password and valid_password(password)):
            passwordError = PASSWORD_ER
        if not (verify and (verify == password)):
            verifyError = VERIFY_ER
        if not (valid_email(email)):
            emailError = EMAIL_ER

        if(userError or passwordError or verifyError or emailError):
            self.render('user-signup.html', username=username,
                                            firstname=firstname,
                                            lastname=lastname,
                                            email=email,
                                            usernameError=userError,
                                            passwordError=passwordError,
                                            verifyError=verifyError,
                                            emailError=emailError)
        else:
            pw_hash = utils.make_pw_hash(username, password)
            if pw_hash:
                u = User(username=username, password=pw_hash, firstname=firstname, lastname=lastname, email=email)
                u.put()
                id_string = str(u.key().id())
                cookieHsh = utils.make_secure_val(id_string)
                self.response.headers.add_header('Set-Cookie', 'user_id=%s; Path=/' %
                cookieHsh)
                self.redirect('/')
            else:
                self.render('user-signup.html', username=username,
                                            email=email,
                                            usernameError=userError,
                                            passwordError=passwordError,
                                            verifyError=verifyError,
                                            emailError=emailError)
Example #3
0
 def getUser(self):
     user = yield User.get(self.getCurrUserId(), self.getUserType())
     #尽量更新客户端的pushid,
     if self.getPushId() and self.getPushId() != user.getAttr("JPushId"):
         user.setAttr("JPushId", self.getPushId())
         yield user.save()
     raise Return(user)
Example #4
0
    def post(self):
        username = self.request.get('username')
        password = self.request.get('password')

        userError = ''
        passwordError = ''
        invalidError = ''

        user_id = ''

        if not username:
            userError = USERNAME_ER
        if not password:
            passwordError = PASSWORD_ER

        if not (userError or passwordError):

            u = User.by_name(username)
            if not (u and utils.valid_pw(username, password, u.password)):
                invalidError = INVALID_ER
            else:
                user_id = str(u.key().id())

        if (userError or passwordError or invalidError):
            self.render('login.html',
                        username=username,
                        usernameError=userError,
                        passwordError=passwordError,
                        invalidError=invalidError)
        else:
            id_string = user_id
            cookieHsh = utils.make_secure_val(id_string)
            self.response.headers.add_header('Set-Cookie',
                                             'user_id=%s; Path=/' % cookieHsh)
            self.redirect('/')
Example #5
0
def signup_post():
    Name = request.form.get('Name')
    Email = request.form.get('Email')
    Password = request.form.get('Password')
    Phone = request.form.get('Phone')
    # Gender = request.form.get('Gender')
    user = User.query.filter_by(Email=Email).first(
    )  # if this returns a user, then the Email already exists in database

    if user:  # if a user is found, we want to redirect back to signup page so user can try again
        flash('Email address already exists')

        return render_template('blank2.html')

    # create new user with the form data. Hash the Password so plaintext version isn't saved.
    new_user = User(Email=Email,
                    Name=Name,
                    Password=generate_password_hash(Password, method='sha256'),
                    Phone=Phone)
    #Password=generate_password_hash(Password, method='sha256')
    # add the new user to the database
    db.session.add(new_user)
    db.session.commit()
    print("form Submitted")
    return render_template('blank3.html')
Example #6
0
 def getUser(self):
     user = yield User.get(self.getCurrUserId(), self.getUserType())
     #尽量更新客户端的pushid,
     if self.getPushId() and self.getPushId() != user.getAttr("JPushId"):
         user.setAttr("JPushId", self.getPushId())
         yield user.save()
     raise Return(user)
Example #7
0
    def post(self):
        username = self.request.get('username')
        password = self.request.get('password')

        userError = ''
        passwordError = ''
        invalidError = ''

        user_id = ''

        if not username:
            userError = USERNAME_ER
        if not password:
            passwordError = PASSWORD_ER

        if not(userError or passwordError):

            u = User.by_name(username)
            if not (u and utils.valid_pw(username, password, u.password)):
                invalidError = INVALID_ER
            else:
                user_id = str(u.key().id())

        if(userError or passwordError or invalidError):
            self.render('login.html', username=username,
                                      usernameError=userError,
                                      passwordError=passwordError,
                                      invalidError=invalidError)
        else:
            id_string = user_id
            cookieHsh = utils.make_secure_val(id_string)
            self.response.headers.add_header('Set-Cookie', 'user_id=%s; Path=/' %
            cookieHsh)
            self.redirect('/')
def user_cache(update = False):
    key = 'users'
    users = memcache.get(key)
    if users is None or update:
        users = User.query().order(-User.created, User.name).fetch(10)
        users = list(users)
        memcache.set(key, users)
    return users
Example #9
0
def create_user(first_name, last_name, userid, groups):
    user = User(first_name, last_name, userid)
    for name in groups:
        group = get_group(name)
        if group:
            user.groups.append(group)
        else:
            raise UserGroupDoesNotExist(name)
    db.session.add(user)
    db.session.commit()
    return user
Example #10
0
    def get(self):
        #username = self.request.get('username')
        username = ''
        cookie_data = self.request.cookies.get('user_id')

        if cookie_data and utils.valid_secure_val(cookie_data):
            user_id = long(cookie_data.split('|')[0])
            u = User.by_id(user_id)
            username = u.username
            self.render('welcome.html', username=username)
        else:
            self.redirect('/signup')
Example #11
0
    def get(self):
        #username = self.request.get('username')
        username = ''
        cookie_data = self.request.cookies.get('user_id')

        if cookie_data and utils.valid_secure_val(cookie_data):
            user_id = long(cookie_data.split('|')[0])
            u = User.by_id(user_id)
            username = u.username
            self.render('welcome.html', username=username)
        else:
            self.redirect('/signup')
Example #12
0
 def readyToJPush(self, bill):
     mylog.getlog().info("----process bill id: %s" % bill.id)
     if bill.sender:
         sender = yield User.get(bill.sender, matchUserType(bill.billType))
         if sender and sender.level == UserLevel.NORMAL and sender.getAttr(
                 "JPushId"):
             mylog.getlog().info(
                 getLogText("--process bill send msg ",
                            sender.getAttr("JPushId"), sender.id,
                            sender.currType))
             self.pushQueue.sendMsg(sender.getAttr("JPushId"), sender.id,
                                    sender.currType)
Example #13
0
def check_user(userid, username):
    """
    Check the user in the database.
    In case it doesnt exist it will add it with ENG default language
    """
    now = datetime.now().strftime('%Y-%m-%d %H:%M:%S')

    user = User.get_or_none(User.chat_id == userid)

    if not user:
        if not username:
            User.create(chat_id=userid,
                        started_date=time.strftime('%d-%m-%Y'),
                        last_check=now,
                        language='en')
        else:
            User.create(chat_id=userid,
                        username=username,
                        started_date=time.strftime('%d-%m-%Y'),
                        last_check=now,
                        language='en')
        LOGGER.info(f"New user detected {userid}-{username}")
Example #14
0
 def readyToTextMsg(self, targetBill, recommendBill):
     sender = None
     if targetBill.sender:
         sender = yield User.get(targetBill.sender,
                                 matchUserType(targetBill.billType))
         phone1 = targetBill.phoneNum or targetBill.wechatPhoneNum
         phone2 = recommendBill.phoneNum or recommendBill.wechatPhoneNum
         if (sender and sender.level == UserLevel.MANAGER and phone1
                 and phone2) or not sender:
             self.textMsgQueue.sendMsg(targetBill.id, recommendBill.id, targetBill.sendTime, targetBill.validTimeSec, phone1, \
                                       phone2, targetBill.senderName, recommendBill.fromAddr, \
                                       recommendBill.toAddr, targetBill.billType, recommendBill.comment)
         elif sender and sender.level == UserLevel.WECHAT and phone2:
             print "send test to wechat~~~~"
             # self.wechatMsgQueue.sendMsg(sender.wechatId, "hello world")
             self.wechatMsgQueue.sendMsg(
                 sender.wechatId, "找到匹配单子:\n" + billToWechat(recommendBill))
Example #15
0
def register():
    form = RegistrationForm()
    if form.validate_on_submit():
        user = User(username=form.username.data, email=form.email.data)

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

        user = User.query.filter_by(email=form.email.data).first()

        pswh = set_password(form.password.data)
        psw = Password(userid=user.id, pw_hash=pswh)
        db.session.add(psw)
        db.session.commit()

        return redirect(url_for('auth.login'))

    return render_template('auth/register.html', form=form)
Example #16
0
def gconnect():
    if not google.authorized:
        return redirect(url_for("google.login"))
    resp = google.get("/oauth2/v2/userinfo")

    email = resp.json()["email"]
    name = resp.json()["given_name"]

    # Check if this user already exists.
    user = User.query.filter_by(email=email).first()

    if user is None:
        # create a new user and then log user in
        user = User(username=name, email=email)
        db.session.add(user)
        db.session.commit()

    session["user_id"] = user.id

    return redirect(url_for('user.profile'))
Example #17
0
def user_language_update(queryData, user):
    queryData = queryData.replace('lang-', '')
    User.update(language=queryData).where(User.chat_id == user).execute()
Example #18
0
def valid_username(username):
    if User.by_name(username):
        return False

    return USER_RE.match(username)
Example #19
0
def valid_email(email):
    if email and not User.by_email(email):
        return EMAIL_RE.match(email)
Example #20
0
def valid_username(username):
    if User.by_name(username):
        return False

    return USER_RE.match(username)
Example #21
0
def valid_email(email):
    if email and not User.by_email(email):
        return EMAIL_RE.match(email)
Example #22
0
def language_check(userid):
    language = User.get(User.chat_id == userid).language
    return 'lang-' + language
Example #23
0
def update_user_checktime(user_id):
    now = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
    User.update(last_check=now).where(User.chat_id == user_id).execute()
Example #24
0
import telebot
import config
from dbmodels import User

ANNOUNCEMENT = """
    Just a quick reminder! You can *just type any country name* and the bot will show you detailed stats for that country. 
    Check out /help for more stats, commands and features.
"""

BOT = telebot.TeleBot(config.TELEGRAM["token"])
for user in User.select():
    try:
        BOT.send_message(user.id,
                         ANNOUNCEMENT,
                         parse_mode="Markdown",
                         disable_web_page_preview=True)
        print(f"message sent to {user.id}-{user.username}")
    except:
        pass