Exemplo n.º 1
0
def third_user_login(request):

    """
    The method is third user login
    @param request: third_key, third_type
    @return:
    """
    if request.method == 'GET':
        return response_fail_to_mobile(500, REQUEST_METHOD_ERROR)
    try:
        username = request.POST['third_key']
        password = request.POST['third_type']
        user = authenticate(username=username, password=password, type=3)
        auth_login(request, user)
        logic = UserProfileLogic.get_user_profile_by_user_id(user_id=request.user.id)

        last_login = datetime_convert_current_timezone(logic.last_login_time)
        if last_login is not None:
            last_login = datetime_to_string(last_login)
        if logic.user_nick is None:
            user_nick = ''
        else:
            user_nick = logic.user_nick

        rec = dict()
        rec['session_id'] = request.session._session_key
        rec['user_id'] = request.user.id
        rec['user_name'] = user_nick
        rec['last_login'] = last_login
        UserProfileLogic.update_last_login_time(request.user.id)
        return response_success_to_mobile(rec)
    except Exception as e:
        error(e)
        auth_logout(request)
        return response_fail_to_mobile(500, 'Third part account login fail!')
Exemplo n.º 2
0
def register(request):
    """
    Product by J, quality promise
    REQUIRE_PARAM:
        - user_password
        - user_email
        - user_mobile
        - user_nick (this is should be unique)
        - register_ip
        - sex
        - province
        - city
        - district
        - register_ip: maintain var for statistic using, to compute the potential user
    """
    if request.method == "GET":
        return dict(msg="Unexpected request method!",
                    warn="OK")
    else:
        try:
            user_mobile = None
            user_email = None
            # if 'user_mobile' in request.POST.keys():
            #     user_mobile = request.POST.get('user_mobile')
            #
            #     if is_mobile_phone(int(user_mobile)): None
            #     else: return dict(msg="Un-correct format of mobile phone number")
            if "user_email" in request.POST.keys():
                user_email = request.POST.get('user_email')

                if is_email(user_email): None
                else: return dict(msg="Un-correct format of email",
                                  danger="OK")

            city_name = request.POST.get('city_name').encode("utf-8")
            gender = request.POST.get('gender').encode("utf-8")
            password = request.POST.get('user_password').encode("utf-8")
            c_password = request.POST.get('user_confirm_password').encode("utf-8")
            register_ip = get_ip(request)

            # print city_name, gender, password, c_password, register_ip, type(gender)
            if password != c_password:
                return dict(msg="Password is not same!", warn="OK")
            else: password = md5(password)

            return UserProfileLogic.create_user_profile(user_email=user_email,
                                                        city_name=city_name,
                                                        gender=gender,
                                                        password=password,
                                                        register_ip=register_ip)
        except Exception as e:
            print traceback.format_exc()
            return dict(msg="Error occur in user register: %s" % str(e),
                        danger="OK")
Exemplo n.º 3
0
def nickname_check(request):
    """
    REQUIRE_PARAM:
        - user_nick:
    """
    if request.method == "GET":
        return dict(msg="Unexpected request method!")
    else:
        try:
            user_nick = request.POST.get('user_nick')
            return dict(result=UserProfileLogic.nickname_check(user_nick))
        except Exception as e:
            return dict(msg="Error in checking user nickname: %s" % str(e))
Exemplo n.º 4
0
def validEmail(request):
    """
    REQUIRE_PARAM:
        - user_email:
    """
    if request.method == "POST":
        return dict(msg="Unexpected request method!",
                    warn="OK")
    else:
        try:
            user_email = request.GET.get('user_email')
            if is_email(user_email):
                return UserProfileLogic.email_valid_checker_f(user_email)
        except Exception as e:
            return dict(msg="Error in function profile::views::validEmail(), %s" % str(e),
                        warn="OK")
Exemplo n.º 5
0
def activeAccount(request):
    """
    """
    if request.method == "POST":
        return dict(msg="Unexpected request method!",
                    warn="OK")
    else:
        try:
            user_email = request.GET.get('user_email')
            valid_code = request.GET.get('valid_code')
            if is_email(user_email):
                return UserProfileLogic.active_account_f(user_email=user_email,
                                                         valid_code=valid_code)
        except Exception as e:
            return dict(msg="Error in function profile::views::activeAccount(), %s" % str(e),
                        warn="OK")
Exemplo n.º 6
0
def update_third_user_info(request):
    """
    The third user register
    @param request:sex, username, third_key, user_image, third_type, signature, register_ip,
        province, city, district
    @return:
    """
    if request.method == 'GET':
        return response_fail_to_mobile(500, REQUEST_METHOD_ERROR)
    try:
        third_key = request.POST['third_key']
        third_type = request.POST['third_type']
        username = request.POST['username']
        sex = request.POST['sex']
        user_image = request.POST['user_image']
        signature = request.POST['signature']
        register_ip = request.POST['register_ip']
        province = request.POST['province']
        city = request.POST['city']
        district = request.POST['district']

        third_logic = UserThirdLogic.get_third_user_info(third_key=third_key, third_type=third_type)

        if third_logic is None:
            return response_fail_to_mobile(1500, '修改第三方用户失败')

        profile_logic = UserProfileLogic.update_user_profile_by_third_user(user_id=third_logic.user_id,
                                                                           user_nick=username,
                                                                           province=province,
                                                                           city=city,
                                                                           district=district,
                                                                           signature=signature,
                                                                           user_image=user_image,
                                                                           register_ip=register_ip,
                                                                           sex=sex)
        if profile_logic is None:
             raise Exception('Update third user fail')
        return response_success_to_mobile('修改成功')
    except Exception as e:
        error(e)
        return response_fail_to_mobile(500, '修改第三方用户失败')