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!')
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")
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))
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")
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")
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, '修改第三方用户失败')