def callback(request): client = _create_client() access_code = request.GET.get('code') #print ("!!!!code = %s" % access_code) r = client.request_access_token(access_code) access_token = r.access_token expires_in = r.expires_in weibo_id = r.uid; client.set_access_token(access_token, expires_in) u = client.users.show.get(uid=weibo_id) #print "debug!!!!!!!!! screen_name: %s\n" %u.screen_name dao.insert_user(weibo_id,u.screen_name,access_token,expires_in) request.session['weibo_id'] = weibo_id request.session['access_token'] = access_token request.session['expires_in'] = expires_in return True
def create_act_form(request): if request.session.has_key('weibo_id'): weibo_id = request.session['weibo_id'] current_user = WeiaaUser.objects.get(weibo_id = weibo_id) if WONIU_DEBUG: print 'create_act_form, weibo_id: %s' % weibo_id #create new activity: name, date, creator_id act_name = 'activity%02d' % (WeiaaActivity.objects.all().count()+1) date = request.POST['create_time'] if WONIU_DEBUG: print 'create time: %s' % date new_act = WeiaaActivity(name=act_name,date=date, creator_id=WeiaaUser.objects.get(weibo_id=weibo_id)) new_act.save(); #create new activity plan: aid, creator_id, estimate_per_cost new_plan = WeiaaActivityPlan(aid = new_act, creator_id = WeiaaUser.objects.get(weibo_id = weibo_id)) #new_plan.save(); #plan item table begin #item_time #item_address #item_content #item_estimate_per_cost #plan item table end flag = True for i in range(1,50): key = 'item_time_%d' % i if request.POST.has_key(key): item_time = request.POST['item_time_%d' % i] item_address = request.POST['item_address_%d' % i] item_content = request.POST['item_content_%d' % i] item_estimate_per_cost = request.POST['item_estimate_per_cost_%d' % i] #set plan.esitmate_per_cost new_plan.estimate_per_cost += float(item_estimate_per_cost) new_plan.save(); #create plan item: start_time, place, content, estimate_per_cost item = WeiaaActivityPlanItem(apid = new_plan, start_time = item_time,place = item_address, content = item_content, estimate_per_cost = item_estimate_per_cost) item.save(); if WONIU_DEBUG: #plan item info print 'plan item info' print 'apiid:%s' % item.apiid print 'apid:%s' % item.apid print 'start_time:%s' % item.start_time print 'place:%s' % item.place print 'content:%s' % item.content print 'estimate_per_cost %s' % item.estimate_per_cost if WONIU_DEBUG: #activity plan info print 'activity plan info' print 'apid:%s' % new_plan.apid print 'aid:%s' % new_plan.aid print 'is_selected:%s' % new_plan.is_selected print 'vote:%s' % new_plan.vote print 'estimate_per_cost:%s' % new_plan.estimate_per_cost print 'real_cost:%s' % new_plan.real_cost print 'creator_id:%s' % new_plan.creator_id #activity info print 'activity info' print 'id:%s' % new_act.aid print 'name:%s' % new_act.name print 'date:%s' % new_act.date print 'state:%s' % new_act.state print 'creator_id:%s' % new_act.creator_id; if WONIU_DEBUG: for key in request.POST: print 'POST: key=%s,value=%s' % (key,request.POST[key]) #add current user to the WeiaaActivityMember table member = WeiaaActivityMember(aid = new_act,uid = current_user,confirm_state = 1) member.save() #add the other members for i in range(1,100): key = 'member_%d' % i if request.POST.has_key(key): screen_name = request.POST[key] weibo_id = weiboTools.find_weibo_id(request, screen_name) if WONIU_DEBUG: print 'screen_name:%s' % screen_name print 'weibo_id:%s' % weibo_id users = WeiaaUser.objects.filter(weibo_id = weibo_id) if users.count()==0: dao.insert_user(weibo_id,screen_name,'null',0) #user = WeiaaUser(name = screen_name, weibo_id = weibo_id,access_token='null',expire_in = 0 ) #user.save() member = WeiaaActivityMember(aid = new_act,uid = WeiaaUser.objects.get(weibo_id = weibo_id)) member.save() return render(request,'weiAA_app/result.html',{'message_title':'您已成功创建一个活动!'}) else: return render(request,'weiAA_app/weiboLogin.html')