Exemplo n.º 1
0
    def GET(self, arg):

        if user.username == arg:
            # 如果是重新填写邮箱
            if web.input().has_key("action"):
                if web.input().action == "e":
                    # 删除之前的激活记录
                    users.del_verification_data_by_douban_id(user.douban_id)
                    return view.base02(view.welcome_set_email(user), user, siteName)
                else:
                    raise web.notfound()
            else:
                return view.base02(view.welcome_set_email(user), user, siteName)
        else:
            raise web.notfound()
Exemplo n.º 2
0
 def GET(self, arg):
     if user.username == arg:
         status = web.input().status
         email = users.get_confirm_email_by_douban_id(user.douban_id).email
         return view.base02(view.welcome_send_email_feedback(user, status, email), user, siteName)
     else:
         raise web.notfound()
Exemplo n.º 3
0
    def GET(self, arg):

        if user.username == arg:
            #如果是重新填写邮箱
            if web.input().has_key('action'):
                if web.input().action == 'e':
                    #删除之前的激活记录
                    users.del_verification_data_by_douban_id(user.douban_id)
                    return view.base02(view.welcome_set_email(user), user,
                                       siteName)
                else:
                    raise web.notfound()
            else:
                return view.base02(view.welcome_set_email(user), user,
                                   siteName)
        else:
            raise web.notfound()
Exemplo n.º 4
0
 def GET(self, arg):
     if user.username == arg:
         status = web.input().status
         email = users.get_confirm_email_by_douban_id(user.douban_id).email
         return view.base02(
             view.welcome_send_email_feedback(user, status, email), user,
             siteName)
     else:
         raise web.notfound()
Exemplo n.º 5
0
 def GET(self):
     # try:
     return view.base02(view.feedback(user), user, siteName)
Exemplo n.º 6
0
    def GET(self, token):
        CE = users.get_confirm_email_by_token(token)
        if CE:
            new = time.time()  #得到访问当前页面时的时间
            old = time.mktime(CE.get('creation_ts').timetuple())
            if new - old > 86400:  #如果超过24小时
                #删除记录
                users.del_verification_data_by_token(token)
                return view.base02(
                    view.welcome_confirm_email(
                        user,
                        msg="out-time",
                    ), user, siteName)
            else:
                try:
                    #通过token得到douban_id,保险起见,session中的douban_id可能已失效 ?#note
                    douban_id = CE.douban_id
                    email = CE.email

                    username = user.username
                    nickname = user.nickname
                    avatarPath = user.avatarPath
                    try:
                        city = user.city
                    except Exception, e:
                        city = None

                    try:
                        desc = user.desc
                    except:
                        desc = None

                    #把 confirm 设为 1
                    users.update_confirm_email(token)

                    #如果这个用户已经在user表中存在,则是旧用户
                    if not users.is_douban_id_available(douban_id):

                        #把邮件地址 等 用户信息 更新到 user 表
                        users.update_user_by_douid(
                            douban_id,
                            email=email,
                            nickname=nickname,
                            avatarPath=avatarPath,
                            nicknameChangeTime=datetime.datetime.now(),
                            lastLoginIP=web.ctx.ip,
                            lastLoginTime=datetime.datetime.now())
                        #得到刚刚操作的用户id
                        # last_user_id = db.query("SELECT LAST_INSERT_ID()")[0].values()[0]
                        last_user_id = users.get_douban_user_by_doubanid(
                            douban_id).id
                        #查询资料表用是否有此用户
                        if users.is_user_profile_exist(last_user_id):
                            users.update_profile(last_user_id,
                                                 city=city,
                                                 bio=desc)
                        else:
                            users.insert_profile(last_user_id,
                                                 city=city,
                                                 bio=desc)

                        #清空session,为下一次 douban_login 装填做准备,以免占用太多空间 - 可能需要这么做? #note
                        # session.clear_douban_callback()

                        #session 设为登录
                        # session.reset()
                        session.douban_login(douban_id)

                    else:
                        #创建用户
                        users.create_douban_account(
                            douban_id=douban_id,
                            username=username,
                            nickname=nickname,
                            email=email,
                            avatarPath=avatarPath,
                            ipAddress=web.ctx.ip,
                            lastLoginIP=web.ctx.ip,
                            nicknameChangeTime=datetime.datetime.now(),
                            lastLoginTime=datetime.datetime.now(),
                            via=1)

                        #得到刚刚插入的用户id
                        # last_user_id = db.query("SELECT LAST_INSERT_ID()")[0].values()[0]
                        last_user_id = users.get_douban_user_by_doubanid(
                            douban_id).id
                        #新建用户资料
                        users.insert_profile(last_user_id, city=city, bio=desc)

                        #如果权限表中没有此用户,增加,并把权限设为 0
                        if not users.is_user_exist_in__permission(douban_id):
                            db.insert('_permission',
                                      douban_id=douban_id,
                                      rights=1)

                        #清空session,为下一次 douban_login 装填做准备,以免占用太多空间 - 可能需要这么做? #note
                        # session.clear_douban_callback()

                        #session 设为登录
                        session.douban_login(douban_id)

                    return view.base02(
                        view.welcome_confirm_email(user, msg="succes"), user,
                        siteName)
                except Exception, e:
                    # print e
                    # raise web.notfound()
                    return view.test(e)
Exemplo n.º 7
0
    def GET(self, token):
        CE = users.get_confirm_email_by_token(token)
        if CE:
            new = time.time()  # 得到访问当前页面时的时间
            old = time.mktime(CE.get("creation_ts").timetuple())
            if new - old > 86400:  # 如果超过24小时
                # 删除记录
                users.del_verification_data_by_token(token)
                return view.base02(view.welcome_confirm_email(user, msg="out-time"), user, siteName)
            else:
                try:
                    # 通过token得到douban_id,保险起见,session中的douban_id可能已失效 ?#note
                    douban_id = CE.douban_id
                    email = CE.email

                    username = user.username
                    nickname = user.nickname
                    avatarPath = user.avatarPath
                    try:
                        city = user.city
                    except Exception, e:
                        city = None

                    try:
                        desc = user.desc
                    except:
                        desc = None

                    # 把 confirm 设为 1
                    users.update_confirm_email(token)

                    # 如果这个用户已经在user表中存在,则是旧用户
                    if not users.is_douban_id_available(douban_id):

                        # 把邮件地址 等 用户信息 更新到 user 表
                        users.update_user_by_douid(
                            douban_id,
                            email=email,
                            nickname=nickname,
                            avatarPath=avatarPath,
                            nicknameChangeTime=datetime.datetime.now(),
                            lastLoginIP=web.ctx.ip,
                            lastLoginTime=datetime.datetime.now(),
                        )
                        # 得到刚刚操作的用户id
                        # last_user_id = db.query("SELECT LAST_INSERT_ID()")[0].values()[0]
                        last_user_id = users.get_douban_user_by_doubanid(douban_id).id
                        # 查询资料表用是否有此用户
                        if users.is_user_profile_exist(last_user_id):
                            users.update_profile(last_user_id, city=city, bio=desc)
                        else:
                            users.insert_profile(last_user_id, city=city, bio=desc)

                        # 清空session,为下一次 douban_login 装填做准备,以免占用太多空间 - 可能需要这么做? #note
                        # session.clear_douban_callback()

                        # session 设为登录
                        # session.reset()
                        session.douban_login(douban_id)

                    else:
                        # 创建用户
                        users.create_douban_account(
                            douban_id=douban_id,
                            username=username,
                            nickname=nickname,
                            email=email,
                            avatarPath=avatarPath,
                            ipAddress=web.ctx.ip,
                            lastLoginIP=web.ctx.ip,
                            nicknameChangeTime=datetime.datetime.now(),
                            lastLoginTime=datetime.datetime.now(),
                            via=1,
                        )

                        # 得到刚刚插入的用户id
                        # last_user_id = db.query("SELECT LAST_INSERT_ID()")[0].values()[0]
                        last_user_id = users.get_douban_user_by_doubanid(douban_id).id
                        # 新建用户资料
                        users.insert_profile(last_user_id, city=city, bio=desc)

                        # 如果权限表中没有此用户,增加,并把权限设为 0
                        if not users.is_user_exist_in__permission(douban_id):
                            db.insert("_permission", douban_id=douban_id, rights=1)

                        # 清空session,为下一次 douban_login 装填做准备,以免占用太多空间 - 可能需要这么做? #note
                        # session.clear_douban_callback()

                        # session 设为登录
                        session.douban_login(douban_id)

                    return view.base02(view.welcome_confirm_email(user, msg="succes"), user, siteName)
                except Exception, e:
                    # print e
                    # raise web.notfound()
                    return view.test(e)