Пример #1
0
def register():
    """
    注册 api 接口
    :return: 结果 json
    """
    # POST username/email/password
    username = request.form.get('username')
    email = request.form.get('email')
    password = request.form.get('password')
    if not username or not email or not password:
        # parameters are invalid
        return value_error(u"无效的用户名,邮箱或密码")
    try:
        user = User.add_user(name=username, email=email, password=password)
        if user:
            # 异步发送邮件
            send_mail(email,
                      Setting.get_setting('blog_name', 'Plog') + u'注册确认邮件',
                      'auth/emails/register_confirm',
                      username=username,
                      blogname=Setting.get_setting('blog_name', 'Plog'),
                      token=user.generate_confirmation_token())
            # ajax response
            response = jsonify({'success': 1, 'message': u'注册成功'})
            response.status_code = 200
            return response
        else:
            return value_error(u'用户名或邮箱已存在')
    except Exception, e:
        print(e)
        return action_failed(u'添加用户失败')
Пример #2
0
def register():
    """
    注册 api 接口
    :return: 结果 json
    """
    # POST username/email/password
    username = request.form.get('username')
    email = request.form.get('email')
    password = request.form.get('password')
    if not username or not email or not password:
        # parameters are invalid
        return value_error(u"无效的用户名,邮箱或密码")
    try:
        user = User.add_user(name=username, email=email, password=password)
        if user:
            # 异步发送邮件
            send_mail(email, Setting.get_setting('blog_name', 'Plog')+u'注册确认邮件', 'auth/emails/register_confirm',
                      username=username,
                      blogname=Setting.get_setting('blog_name', 'Plog'),
                      token=user.generate_confirmation_token())
            # ajax response
            response = jsonify({'success': 1, 'message': u'注册成功'})
            response.status_code = 200
            return response
        else:
            return value_error(u'用户名或邮箱已存在')
    except Exception, e:
        print(e)
        return action_failed(u'添加用户失败')
Пример #3
0
def deploy():
    """
    执行部署任务
    :return:
    """

    # 清空数据库
    # TODO

    # 为MongoDB 添加专用自增序列尾值记录表
    add_mongo_counters()
    # 默认角色添加
    Role.insert_default_roles()
    # 权限数据库索引与默认数据添加
    Permission.create_table_indexes()
    Permission.insert_defaults_permissions()
    # 权限角色关系数据库索引与默认数据添加
    PermissionsRoles.create_table_indexes()
    PermissionsRoles.insert_defaults_permissions_roles()
    # 文章数据库索引
    Post.create_table_indexes()
    # 用户数据库索引
    User.create_table_indexes()
    # 设置数据库索引与默认数据添加
    Setting.insert_default_settings()
    # 标签数据库索引
    Tag.create_table_indexes()
    # 评论数据库索引
    Comment.create_table_indexes()
Пример #4
0
def deploy():
    """
    执行部署任务
    :return:
    """

    # 清空数据库
    # TODO

    # 为MongoDB 添加专用自增序列尾值记录表
    add_mongo_counters()
    # 默认角色添加
    Role.insert_default_roles()
    # 权限数据库索引与默认数据添加
    Permission.create_table_indexes()
    Permission.insert_defaults_permissions()
    # 权限角色关系数据库索引与默认数据添加
    PermissionsRoles.create_table_indexes()
    PermissionsRoles.insert_defaults_permissions_roles()
    # 文章数据库索引
    Post.create_table_indexes()
    # 用户数据库索引
    User.create_table_indexes()
    # 设置数据库索引与默认数据添加
    Setting.insert_default_settings()
    # 标签数据库索引
    Tag.create_table_indexes()
    # 评论数据库索引
    Comment.create_table_indexes()
Пример #5
0
def footer_navigations():
    form = EditBottomNaviForm()
    if form.validate_on_submit():
        links = request.form.get('linkSettings')
        if links and current_user.is_administrator:
            Setting.update_setting('link', links)
        return redirect(url_for('dashboard.footer_navigations'))
    return render_template('dashboard/dash_appearance_footnavi.html', form=form)
Пример #6
0
def navigations():
    form = EditTopNaviForm()
    if form.validate_on_submit():
        navs = request.form.get('naviSettings')
        if navs and current_user.is_administrator:
            Setting.update_setting('navigation', navs)
        return redirect(url_for('dashboard.navigations'))
    return render_template('dashboard/dash_appearance_navigation.html', navi_form=form)
Пример #7
0
def cdn_setting():
    form = CDNSettingForm()
    if form.validate_on_submit():
        if current_user.is_administrator:
            reg = re.compile('cdn\[([a-zA-Z0-9_]+)\]')
            for key, value in request.form.iteritems():
                options = reg.findall(key)
                if options:
                    Setting.update_setting(options[0], value)
        return redirect(url_for('dashboard.cdn_setting'))
    return render_template('dashboard/dash_setting_cdn.html', form=form)
Пример #8
0
def resend_confirm_email():
    """ 重新发送请求验证邮箱邮件 """
    # 异步发送邮件
    if current_user and current_user.is_logged_in:
        send_mail(current_user.email, Setting.get_setting('blog_name', 'Plog')+u'请确认您的邮箱',
                  'auth/emails/email_reconfirm', username=current_user.nickname or current_user.name,
                  blogname=Setting.get_setting('blog_name', 'Plog'), token=current_user.generate_confirmation_token())
        message = u"我们已经重新发送一封确认邮件至您的邮箱, 请登录你的邮箱点击确认链接完成账户激活"
    else:
        message = u"请求失败, 请重新尝试, 或清除 cookie 重新登录后再进行操作"
    return render_template('utils/pure.html', message=message, title=u"验证邮箱")
Пример #9
0
def resend_confirm_email():
    """ 重新发送请求验证邮箱邮件 """
    # 异步发送邮件
    if current_user and current_user.is_logged_in:
        send_mail(current_user.email,
                  Setting.get_setting('blog_name', 'Plog') + u'请确认您的邮箱',
                  'auth/emails/email_reconfirm',
                  username=current_user.nickname or current_user.name,
                  blogname=Setting.get_setting('blog_name', 'Plog'),
                  token=current_user.generate_confirmation_token())
        message = u"我们已经重新发送一封确认邮件至您的邮箱, 请登录你的邮箱点击确认链接完成账户激活"
    else:
        message = u"请求失败, 请重新尝试, 或清除 cookie 重新登录后再进行操作"
    return render_template('utils/pure.html', message=message, title=u"验证邮箱")
Пример #10
0
def kill_ie():
    """
    kill ie
    :return:
    """
    return render_template('utils/kill-ie.html',
                           blog_name=Setting.get_setting('blog_name', 'Plog'))
Пример #11
0
def find_pass():
    """ 找回密码页面 """
    form = FindPassForm()
    email = None
    if form.validate_on_submit():
        email = form.email.data
        form.email.data = ''
        user = User(email=email)
        if user and user.user_id:
            token = user.generate_reset_token(expiration=600)
            send_mail(email, Setting.get_setting('blog_name', 'Plog')+u'找回您的密码', 'auth/emails/find_pass',
                      username=user.nickname or user.name, blogname=Setting.get_setting('blog_name', 'Plog'),
                      token=token)
            message = u"我们已经发送一封密码重置邮件至您提供的邮箱, 请登录你的邮箱点击密码重置链接设置你的账户新密码"
        else:
            message = u"您提供的邮箱不存在, 请重新提交"
        return render_template('utils/pure.html', message=message, title=u"找回密码")  # TODO post redirect
    return render_template('auth/find_pass.html', form=form)
Пример #12
0
def find_pass():
    """ 找回密码页面 """
    form = FindPassForm()
    email = None
    if form.validate_on_submit():
        email = form.email.data
        form.email.data = ''
        user = User(email=email)
        if user and user.user_id:
            token = user.generate_reset_token(expiration=600)
            send_mail(email,
                      Setting.get_setting('blog_name', 'Plog') + u'找回您的密码',
                      'auth/emails/find_pass',
                      username=user.nickname or user.name,
                      blogname=Setting.get_setting('blog_name', 'Plog'),
                      token=token)
            message = u"我们已经发送一封密码重置邮件至您提供的邮箱, 请登录你的邮箱点击密码重置链接设置你的账户新密码"
        else:
            message = u"您提供的邮箱不存在, 请重新提交"
        return render_template('utils/pure.html',
                               message=message,
                               title=u"找回密码")  # TODO post redirect
    return render_template('auth/find_pass.html', form=form)
Пример #13
0
def kill_ie():
    """
    kill ie
    :return:
    """
    return render_template("utils/kill-ie.html", blog_name=Setting.get_setting("blog_name", "Plog"))