Example #1
0
def headimgUpdate(request):
    """点击修改头像后处理更换头像"""
    headimg = request.FILES.get('headimg')
    user = util.user.getCurrentUser(request)
    user.headimg = headimg
    user.save()
    messages.success(request, _('修改头像成功'))
    return redirect('/user/profile')
Example #2
0
def newUser(request):  # POST
    """新用户点击提交注册按钮后"""
    errMsg = partial(util.ctrl.infoMsg, title=_("注册失败"))
    username = request.POST.get('username')
    question = request.POST.get('question')
    answer1 = request.POST.get('answer1')
    answer2 = request.POST.get('answer2')
    tip = request.POST.get('tip')
    nickname = request.POST.get('nickname')
    email = request.POST.get('email')
    # check musts
    if not username:
        return errMsg(_("“{}”不能为空").format(_("用户名")))
    if not question:
        return errMsg(_("“{}”不能为空").format(_("问题")))
    if not answer1:
        return errMsg(_("“{}”不能为空").format(_("答案")))
    if not email:
        return errMsg(_("“{}”不能为空").format(_("邮箱")))
    # auto fills
    if not nickname:
        nickname = util.user.getRandomName()
    answer1 = util.ctrl.salty(answer1)
    answer2 = util.ctrl.salty(answer2) if answer2 else None
    if not tip:
        tip = None
    # check conflicts
    if len(User.objects.filter(username=username)) != 0:
        return errMsg(_("用户名 '{}' 已存在!").format(username))
    if len(User.objects.filter(nickname=nickname)) != 0:
        return errMsg(_("昵称 '{}' 已存在!").format(nickname))
    if len(User.objects.filter(email=email)) != 0:
        return errMsg(_("邮箱 '{}' 已存在!").format(email))
    # check literally
    if " " in username:
        return errMsg(_("用户名 '{}' 只应包含数字、字母、和英文句号!").format(username))
    if " " in nickname:
        return errMsg(_("昵称 '{}' 只应包含字母和汉字!").format(nickname))
    # create into db
    user = User(username=username,
                question=question,
                answer1=answer1,
                answer2=answer2,
                tip=tip,
                nickname=nickname,
                email=email)
    user.save()
    # add betauser badge
    user.setUserpermission('betauser', True)
    # add exp
    util.userexp.addExp(user, 'user', 1, _('注册成功'))
    # render
    return util.ctrl.infoMsg(
        _(" {user.username} 注册成功!\n您是网站第 {user.id} 位用户。\n请登入以便我们记住您!").format(
            user=user),
        url='/user/signin',
        title=_("欢迎加入"))
Example #3
0
def userHeadimgUpdate(request):
    '''点击修改头像后处理更换头像'''
    user = util.user.getCurrentUser(request)
    if not user:
        return util.artist.loginToContinue(request)
    headimg = request.FILES.get('headimg')
    user.headimg = headimg
    user.save()
    messages.success(request, '修改头像成功')
    return redirect('/user/profile')
Example #4
0
def userNewUser(request):  # POST
    '''新用户点击提交注册按钮后'''
    username = request.POST.get('username')
    question = request.POST.get('question')
    answer1 = request.POST.get('answer1')
    answer2 = request.POST.get('answer2')
    tip = request.POST.get('tip')
    nickname = request.POST.get('nickname')
    email = request.POST.get('email')
    # check musts
    if not username:
        return util.ctrl.infoMsg("“用户名” 不能为空", title="注册失败")
    if not question:
        return util.ctrl.infoMsg("“问题” 不能为空", title="注册失败")
    if not answer1:
        return util.ctrl.infoMsg("“答案” 不能为空", title="注册失败")
    if not email:
        return util.ctrl.infoMsg("“邮箱” 不能为空", title="注册失败")
    # auto fills
    if not nickname:
        nickname = getRandomName()
    answer1 = util.ctrl.salty(answer1)
    answer2 = util.ctrl.salty(answer2) if answer2 else None
    if not tip:
        tip = None
    # check conflicts
    if len(User.objects.filter(username=username)) != 0:
        return util.ctrl.infoMsg("用户名 '{username}' 已存在!".format(username=username), title="注册失败")
    if len(User.objects.filter(nickname=nickname)) != 0:
        return util.ctrl.infoMsg("昵称 '{nickname}' 已存在!".format(nickname=nickname), title="注册失败")
    if len(User.objects.filter(email=email)) != 0:
        return util.ctrl.infoMsg("邮箱 '{email}' 已存在!".format(email=email), title="注册失败")
    # check literally
    if " " in username:
        return util.ctrl.infoMsg("用户名 '{username}' 只应包含数字、字母、和英文句号!".format(username=username), title="注册失败")
    if " " in nickname:
        return util.ctrl.infoMsg("昵称 '{nickname}' 只应包含字母和汉字!".format(nickname=nickname), title="注册失败")
    # create into db
    user = User(username=username, question=question, answer1=answer1, answer2=answer2, tip=tip, nickname=nickname, email=email)
    user.save()
    # add betauser badge
    user.setUserpermission('betauser', True)
    # add exp
    userexp, created = UserExp.objects.get_or_create(userid=user.id, category='user')
    userexp.addExp(1, '注册成功')
    # render
    return util.ctrl.infoMsg(" {user.username} 注册成功!\n您是网站第 {user.id} 位用户。\n请登入以便我们记住您!".format(user=user), url='/user/signin', title="欢迎加入")