Exemplo n.º 1
0
def user_login_validate(request):
    query_dict = request.POST
    get_user_functions = {
        'mobile_phone':_get_user_with_mobile_phone,
        'email':_get_user_with_email
    }
    if query_dict.__contains__('l_account') and query_dict.__contains__('l_password'):
        u_account = query_dict['l_account']
        u_password = _makemd5(query_dict['l_password'])
        try:
            users = get_user_functions[_get_account_type(u_account)](u_account,u_password)
            #user is correctly
            if users.count() == 1:
                set_session(request,'user_id',users[0].id)
                return HttpResponse('%s' % request.session['user_id'])
        except KeyError:
            return HttpResponse('您输入的帐号格式不正确。[#0]')
    return HttpResponse('您输入的帐号或者密码不正确。[#1]')
Exemplo n.º 2
0
def api_users_set__region(request):
    """用户角色选择所在区域的API方法
        request - django.HttpRequest对象
        value - 区域的字符串
    """
    __selected_region = request.POST.get("region", "")
    if len(__selected_region) == 0:
        return HttpResponse("")
    try:
        if get_is_logined(request):
            user = Users.objects.get(id=int(request.session["user_id"]))
            if user.user_info_set.all().count() == 0:
                user.user_info_set.create(usually_region=__selected_region)
            else:
                user_info = user.user_info_set.only()[0]
                user_info.usually_region = __selected_region
                user_info.save()
        set_session(request, "region", __selected_region)
        return HttpResponse(__selected_region)
    except:
        return HttpResponse("")
Exemplo n.º 3
0
def user_reg_post(request):
    if all_in_request(request.POST,('fname','lname','appe','email','password','idcard','mphone',)):
        _first_name = request.POST['fname']
        _last_name = request.POST['lname']
        _password = request.POST['password']
        _appellation = request.POST['appe']
        _email = request.POST['email']
        _id_no = request.POST['idcard']
        _mobile_phone = request.POST['mphone']    
        # validate user's info if that exist
        has_exist_any = Users.objects.exist_any(_email,_id_no,_mobile_phone)        
        if not has_exist_any:
            #make a md5 password
            _password = _makemd5(_password)
            #make md5 END
            
            #init a new user obj
            new_user = Users(
                first_name=_first_name,
                last_name=_last_name,
                password=_password,
                appellation=_appellation,
                email=_email,
                id_no=_id_no,
                mobile_phone=_mobile_phone)
            # init new user obj END 
            
            try:
                # try to save new user obj
                new_user.save()    
                #record session
                set_session(request,'user_id',new_user.id)
                #向客户端响应包含新用户姓氏,称谓以及ID的HTML代码
                return render_to_response(
                    'user/reg_success.html',{
                        'U_FIRST_NAME':new_user.first_name,
                        'U_APPELLATION':new_user.appellation,
                        'U_ID':new_user.id
                    }
                )
            except Exception:
                import sys
                ex = sys.exc_info()[2].tb_frame.f_back
                writelog('**Exception:%s on line %s' %(ex.f_code.co_name,ex.f_lineno,))
                return render_error_page(
                            err_action='我们在提交注册申请时',
                            err_msg=(
                                '服务器访问量太大,暂时无法响应您的请求。',
                            ),
                            other_options=[('回到打杂兔网站首页','/',),('挺稍后再尝试注册','/user/reg/',)]
                        )
        else:
            return render_error_page(
                        err_action='我们在提交注册申请时',
                        err_msg=(
                            '您提交的电子邮箱已经被注册。',
                            '您提交的身份证件号码已经被注册。',
                            '您提交的手机号码已经被注册。',
                        ),
                        other_options=[('回到打杂兔网站首页','/',),('重新注册','/user/reg/',)]
                    )
    else:
        return render_error_page(
            '您在访问本页时',
            ('您没有使用正确的浏览方式访问本页。',),
            [('回到打杂兔网站首页','/',)])