Example #1
0
def login(req):
	if authutil.is_logined(req):
		return authutil.api_error(500,'已经是登陆状态')
	form = LoginForm(req.POST)
	if form.is_valid():
		email = form.cleaned_data['email'].encode('utf-8')
		password = form.cleaned_data['password'].encode('utf-8')
		remember = form.cleaned_data['remember']
		try:
			ukey = oocrpc.backend.Login({'Email':email,'Password':password})
			userinfo = oocrpc.backend.GetUserInfo(ukey)
		except oocrpc.RpcError,ex:
			if ex.message.startswith('EmailError'):
				return HttpResponse(simplejson.dumps({'emailerror':'邮箱不存在'}))
			elif ex.message.startswith('PasswordError'):
				return HttpResponse(simplejson.dumps({'passworderror':'密码不正确'}))
			else:
				# todo add log
				return HttpResponse(simplejson.dumps({'internalerror':'服务器开小差了'}))
		retdict = {
			'ukey':ukey,
			'userinfo':userinfo
		}
		resp = HttpResponse(retdict)
		if remember:
			timeout = 3600*24*30*6  # half of a year
		else:
			timeout = None
		authutil.set_logined(req,resp,ukey,timeout)
		return resp
Example #2
0
def index_hotest(req,page=1):
	offset = (page-1)*25
	comm_dict = {}
	hotest_count = oocrpc.backend.GetContentCount()
	hotest_contents = oocrpc.backend.GetHotestContent({'Offset':offset,'Limit':25})
	pager = strutil.paper(page,hotest_count,'/index/',per_page=25)
	comm_dict.update({'hotest_count':hotest_count,'hotest_contents':hotest_contents})

	is_logined = authutil.is_logined(req)
	if is_logined:
		curr_ukey = req.COOKIES.get('ukey')
		user_info = oocrpc.backend.GetUserInfo(curr_ukey)
		comm_dict.update({'curr_ukey':curr_ukey,'user_info':user_info})
	return render_to_response('index_hotest.html',comm_dict)
Example #3
0
def signup(req):
	if authutil.is_logined(req):
		return authutil.api_error(500,'已经是登陆状态')
	form = SignupForm(req.POST)
	if form.is_valid():
		email = form.cleaned_data['email'].encode('utf-8')
		password = form.cleaned_data['password'].encode('utf-8')
		nickname = form.cleaned_data['nickname'].encode('utf-8')
		try:
			ukey = oocrpc.backend.RegisterUser({'Nickname':nickname,'Email':email,'Password':password})
		except oocrpc.RpcError, ex:
			if ex.message.startswith('EmailError'):
				return HttpResponse(simplejson.dumps({'emailerror':'邮箱已经存在'}))
			elif ex.message.startswith('NicknameError'):
				return HttpResponse(simplejson.dumps({'nicknameerror':'用户昵称重复'}))
			else:
				return HttpResponse(simplejson.dumps({'internalerror':'服务器开小差了'}))
		resp = HttpResponse(simplejson.dumps({'ok':1}))
		timeout = 3600*24*30*6
		authutil.set_logined(req,resp,ukey,timeout)
		return resp
Example #4
0
def index(req,page=1):
    """首页"""
    offset = (page-1)*25
    comm_dict = {}

    is_logined = authutil.is_logined(req)
    if is_logined:
    	curr_ukey = req.COOKIES.get('ukey')
    	follow_count = oocrpc.backend.GetFollowContentCount(curr_ukey)
    	follow_contents = oocrpc.backend.GetFollowContent({'Ukey':curr_ukey,'Offset':offset,'Limit':25})
    	pager = strutil.pager(page,follow_count,'/index/',per_page=25)
    	user_info = oocrpc.backend.GetUserInfo(curr_ukey)
    	comm_dict.update({'contents':follow_contents,'ukey':curr_ukey,'pager':pager,
    					  'is_logined':True,'user_info':user_info})
    else:
    	# hotest
    	hotest_count = oocrpc.backend.GetContentCount()  # to do 
    	hotest_contents = oocrpc.backend.GetHotestContent({'Offset':offset,'Limit':25}) # to do
    	pager = strutil.pager(page,hotest_count,'/index/',per_page=25)
    	comm_dict.update({'contents':hotest_contents,'pager':pager})

    pprint(comm_dict)

    return render_to_response('index.html',comm_dict)