def create_poll(request): # Only allowed via post if request.method == "POST" and request.POST['question'] and request.POST['answer'] and request.POST['userCode']: question = request.POST['question'] answer = ''' [{ "text": "%s" }, { "text": "%s" }]''' # Check the answer if request.POST['answer'].lower() == 'yes/no': answer = answer % ('yes', 'no') else: answer = answer % ('true', 'false') pd = pollAPI(uid) pd.setUserCode(request.POST['userCode']) # Create the poll newPollJSON = pd.createPollJSON(question, ans=answer) return r2r('polldaddy/create.html', {'poll': newPollJSON}) else: return httpRedirect('/pd/') return r2r('polldaddy/create.html')
def index(request): results = {} message = 'Problem retrieving info' if uid: results['title'] = 'Poll Manager' # Get and set the UserCode # uid = request.REQUEST['uid'] results['uid'] = uid pd = pollAPI(uid) #Start UserCode timer start = time() codeJSON = pd.getUserCodeJSON(uid) # maybe try to move this to the top of this script or in settings stop = time() userCodeSpeed = stop - start uCode = pd.parseUserCode(codeJSON) # maybe move this as well pd.setUserCode(uCode) # and this results['userCode'] = uCode # Get the list of IDs with Questions start = time() pollIDsJSON = pd.getPollsJSON(uCode) #returns the json response stop = time() pollIDs = pd.getPollIDs(pollIDsJSON) pollIDsSpeed = stop - start results['pollIDs'] = pollIDs # show the speeds message1 = 'Time (in seconds) to retrieve the userCode: %.2f' % userCodeSpeed message2 = 'Time (in seconds) to retrieve the pollID list: %.2f' % pollIDsSpeed results['message'] = [message1, message2] return r2r('polldaddy/main.html', results)
def add2(request): user = request.user print "add2" w = MongoWorkout() #w.wods.remove() print 'm' post = request.POST['data'] print post #post = request.raw_post_data #print post #validate the json!!!! print request.raw_post_data w.json = post w.user_id = request.user.id w.insert() #print '1' #json = simplejson.loads(request.raw_post_data) #print '2' #print json['data'] #json = serializers.deserialize("json", json) #print json #w.wods.insert(json) #return HttpResponse("Submitted", mimetype='text/plain') return r2r('add2.html', {'title': w.title, 'url': w.get_absolute_url() })
def render_to_response(template, context={}, request=None, mimetype="text/html"): if request: context_instance = RequestContext(request) else: context_instance = None return r2r(template, context, context_instance, mimetype=mimetype)
def add_wod(request): if debug: print '- add wod' user = request.user if request.method == 'POST': print request.POST form = WodForm(request.POST) if form.is_valid(): w = Workout() w.title = form.cleaned_data['name'] w.user = user w.workout = form.cleaned_data['workout'] w.save() w.set_tags(fix_tags(form.cleaned_data['wod_tags'])) print w.id if form.cleaned_data.get('has_result', False): print 'storing result ' r = Result() r.user = user tempdate = form.cleaned_data['date'] tempdate = time.strptime(tempdate,"%m/%d/%Y") r.date = time.strftime("%Y-%m-%d",tempdate) r.workout = w r.result = form.cleaned_data['results'] r.time = form.cleaned_data['time'] r.weight = form.cleaned_data['weight'] r.notes = form.cleaned_data['notes'] r.save() #for tag in form.cleaned_data['tags'].split(','): #r.add_tag(tag) print form.cleaned_data['tags'] print "1!!!!!!!" rtags = "%s, %s" % (fix_tags(form.cleaned_data['wod_tags']), fix_tags(form.cleaned_data['tags'])) print rtags r.set_tags(rtags) #print form.cleaned_data['wod_tags'] #print fix_tags(form.cleaned_data['wod_tags']) print "2!!!!!!!" #r.set_tags(fix_tags(form.cleaned_data['tags'])) #w.set_tags(form.cleaned_data['tags'].replace(' ', '_')) print 'posting' posted = True else: print 'not valid?' else: form = WodForm(initial={'date': datetime.datetime.now().strftime("%m/%d/%Y"), 'has_result': True}) #form.date = datetime.datetime.now().strftime("%d/%m/%Y") return r2r('add.html', locals(), context_instance=RequestContext(request))
def wods_filter_json(request): print 'hi2' json = request.POST['json'] json = simplejson.loads(json) print json['exes'] return r2r('index_wods.html', locals(), context_instance=RequestContext(request))
def render_to_response(template, context={}, context_instance=None): """ Wraps django.shortcuts.render_to_response, changing the template dir based on IS_MOBILE in the request context, which should be put there by middleware. """ return r2r(get_template(template, context_instance['request']), context, context_instance=context_instance)
def result_tag(request, tagslug): if debug: print '- result tag' results = TaggedItem.objects.get_by_model(Result, tagslug).order_by('-date') header = "Tagged Results: %s" % Tag.objects.get(name=tagslug) user = request.user return r2r('singleresult.html', locals())
def get_measures_json(request): try: ids = request.GET['ms'] except: return #HttpResponse({'error': 'measure ids not found'}, mimetype='application/json') ids = ids.split(',') scores = Score.objects.filter(id__in=ids) return r2r('get_measures.html', {'scores': scores})
def wod_tag(request, tagslug): if debug: print '- wod tag' results = get_paginator(request, TaggedItem.objects.get_by_model(Workout, tagslug).order_by('-created_at'), 10) print Workout.objects.all().order_by('-created_at') header = "Tagged Workouts: %s" % Tag.objects.get(name=tagslug) user = request.user return r2r('tagwod.html', locals())
def contact(request): if request.method == 'POST': form = ContactForm(request.POST, initial={'sender': '*****@*****.**'}) if form.is_valid(): topic = form.clean_data['topic'] message = form.clean_data['message'] sender = form.clean_data.get('sender', '*****@*****.**') send_mail('Feedback from your site, topic: %s' % topic, message, sender, ['*****@*****.**']) return HttpResponseRedirect('/contact/thanks/') else: form = ContactForm(initial={'sender': '*****@*****.**'}) return r2r('contact.html', {'form': form})
def pah_register(request): """ 网站注册 注册后同步创建其他身份 """ if request.method == "POST": form = forms.RegisterForm(request.POST.copy(), view_request=request) if form.is_valid(): form.save() messages.success(request, '注册成功, 请前往注册邮箱激活帐号!') return HttpResponseRedirect(reverse('login')) if request.user.is_authenticated(): return HttpResponseRedirect(reverse_lazy("index")) form = forms.RegisterForm return r2r('register.html', locals(), context_instance=RequestContext(request))
def delete_poll(request): #template looking for id and poll message = 'There was a problem with the delete form. Make sure at least one value is selected' response = r2r('polldaddy/delete_poll_error.html', {'message': message}) if request.method == 'POST' and 'pid' in request.POST: results = {} pid = request.POST.getlist('pid') uid = request.POST['uid'] uCode = request.POST['userCode'] results['pid'] = pid results['uid'] = uid results['userCode'] = uCode # delete the poll belonging to pid pd = pollAPI(uid) pd.setUserCode(uCode) pollJSON = [] for pollID in pid: pollJSON.append(pd.deletePollJSON(pollID)) results['polls'] = pollJSON response = r2r('polldaddy/deletepoll.html', results) return response
def settings(request): user = request.user if request.method == 'POST': form = SettingsForm(request.POST) if form.is_valid(): user.email = form.cleaned_data['email'] user.get_profile().private_wods = form.cleaned_data['private_wods'] user.save() user.get_profile().save() posted = True else: form = SettingsForm(initial={'email': user.email, 'private_wods': user.get_profile().private_wods}) return r2r('settings.html', locals(), context_instance=RequestContext(request))
def search(request): query = request.GET.get('q','') if query: qset = ( Q(title__icontains=query) | Q(authors__first_name__icontains=query) | Q(authors__last_name__icontains=query) ) results = Book.objects.filter(qset).distinct() else: results = [] return r2r('search.html', { 'results': results, 'query': query })
def result_add_ajax_form(request): if debug: print '- ajax add form' wod_id = request.GET.get('wod_id') if request.is_ajax() and wod_id: action = 'add/' tags = Workout.objects.get(id=wod_id).get_tags() if request.method == 'POST': print 'post' form = ResultFormAjax(request.POST) else: form = ResultFormAjax() print form return r2r('resultform.html', locals(), context_instance=RequestContext(request))
def result_single(request, wodslug, username): if debug: print '- result single' user = get_object_or_404(User, username=username) wod = get_object_or_404(Workout, slug=wodslug) #results = Result.private_objects.filter(workout__slug=wodslug, user=user) print "2" print user.is_authenticated() print user.get_profile().private_wods if (request.user.is_authenticated() and request.user.get_profile().private_wods) or not user.get_profile().private_wods: results = Result.objects.filter(workout = wod, user=user).order_by('-date') show = True print results return r2r('singleresult.html', locals())
def home_user(request, username): if debug: print '- home user' user = get_object_or_404(User, username=username) show = False if user.get_profile().private_wods: if request.user == user: show = True else: show = True results = get_paginator(request, Result.objects.filter(user=user).order_by('-date'), 20) tag_cloud_template = 'tags_home_user.html' header = "%s's Recent Workouts" % username title = username return r2r('index.html', locals())
def result_add_ajax(request): if debug: print '- ajax add form' if request.is_ajax(): m = MongoResult() #w.wods.remove() print 'm' post = request.POST['json'] print post #post = request.raw_post_data #print post #validate the json!!!! print request.raw_post_data m.json = post m.user_id = request.user.id m.insert() return r2r('addresult.json', {}, context_instance=RequestContext(request))
def result_tag_user(request, username, tagslug): if debug: print '- result tag user' user = get_object_or_404(User, username=username) results = TaggedItem.objects.get_by_model(Result, tagslug).order_by('-date') if (request.user.is_authenticated() and request.user.get_profile().private_wods) or not user.get_profile().private_wods: results = results.filter(user=user) show = True results = get_paginator(request, results, 10) if request.user.is_authenticated() and request.user.username == username: message = 'You have not logged any results with this tag' header = "Tagged Results: %s" % Tag.objects.get(name=tagslug) user = request.user return r2r('tagresult.html', locals())
def result_add_form(request, wodslug): if debug: print '- in result add form' wod_id = request.GET.get('wod_id') print request.POST wod = get_object_or_404(Workout, slug=wodslug) tags = Workout.objects.get(id=wod.id).get_tags() action = '' user = request.user if request.method == 'POST': print 'post' form = ResultFormAdd(request.POST) if form.is_valid(): print "VALID" r = Result() r.user = user tempdate = form.cleaned_data['date'] tempdate = time.strptime(tempdate,"%m/%d/%Y") r.date = time.strftime("%Y-%m-%d",tempdate) r.workout = wod r.result = form.cleaned_data['results'] r.time = form.cleaned_data['time'] r.weight = form.cleaned_data['weight'] r.notes = form.cleaned_data['notes'] r.save() #for tag in form.cleaned_data['tags'].split(','): #r.add_tag(tag) print form.cleaned_data['tags'] tt = [] for tag in wod.get_tags(): tt.append(tag.name) r.set_tags(", ".join(tt)) r.set_tags(fix_tags(form.cleaned_data['tags'])) submitted = True else: print 'crap' else: form = ResultFormAdd() return r2r('addresult.html', locals(), context_instance=RequestContext(request))
def edit_poll(request): results = {} if 'pid' in request.REQUEST: pid = request.POST['pid'] uid = request.POST['uid'] uCode = request.POST['userCode'] results['pid'] = pid results['uid'] = uid results['userCode'] = uCode # get the poll belonging to pid pd = pollAPI(uid) pd.setUserCode(uCode) pollJSON = pd.getPollJSON(pid) results['poll'] = pollJSON return r2r('polldaddy/editpoll.html', results) else: return httpRedirect('/apitests/pd/')
def private (request): # XXX This should just get username from env. user = User.objects.get (id=get_uid ()) interests = user.interests_set.all () similar_users = [] if len (interests) > 0: interests = interests[0] for i in interests.interests.split (): for similar_user in Interests.objects.filter (interests__icontains=i): if similar_user.user.username != user.username: similar_users.append (similar_user.user.username) return r2r ('private.html', {'myprefix': urlprefix (geturl=True).absolute_uri (), 'fbprefix': urlprefix (mode=W5MODE_TRUSTED_PYAPP_FORK, link_ls=flmo.LabelSet (), devel='facebook', geturl=True, trusted=True).absolute_uri (), 'similar_users': similar_users })
def home(request): if debug: print "home" user = request.user r1 = MongoWorkout.objects.all().order_by('-touched_at') #r1 = Workout.private_objects.all().order_by('-created_at') #if user.is_authenticated() and user.get_profile().private_wods: # r2 = Workout.objects.filter(user=user).order_by('-created_at') # results = get_paginator(request, r1 | r2) #else: # results = get_paginator(request, r1) results = get_paginator(request, r1, 20) tag_cloud_template = 'tags_home.html' title = 'Recent Workouts' #exes = Exercise.objects.all().order_by('name') exes = serializers.serialize("json", Exercise.objects.all().order_by('name')) print exes show = True home = True return r2r('index.html', locals())
def contactview(request): if debug: print 'contactview' if request.method == 'POST': form = ContactForm(request.POST) if form.is_valid(): if debug: 'valid form' subject = "simpleWOD contact: %s" % form.cleaned_data['topic'] message = "From: %s\n\n%s" % (form.cleaned_data['name'], form.cleaned_data['message']) from_email = form.cleaned_data['email'] try: send_mail(subject, message, from_email, ['*****@*****.**']) except BadHeaderError: return HttpResponse('Invalid header found.') return HttpResponseRedirect('/contact/thankyou/') else: form = ContactForm() #form = ContactForm(initial={'topic': 'simpleWOD contact form submission' }) return r2r('contact.html', locals(), context_instance=RequestContext(request))
def wod_single(request, wodslug): if debug: print '- wods single' user = request.user wod = MongoWorkout.objects.get(slug = wodslug) print wod print wod.mongo_id mwod = wod.get() print mwod['_id'] print 'res' results = MongoResult.private_objects.filter(workout = wod).order_by('-updated_at') #results = DB.results.find(wod=ObjectId(mwod['_id'])) print results if user.is_authenticated() and user.get_profile().private_wods: r2 = MongoResult.objects.filter(workout = wod, user=user).order_by('-updated_at') #results = results | r2 results = map(ObjectId, results.values_list('mongo_id', flat=True)) print results #for r in results: # r = ObjectId(r) #({j:{$in: [2,4,6]}}); results = DB.results.find({"_id": { "$in": results }}) print results #<pymongo.cursor.Cursor object at 0x102a2fe50> rr = results #for r in results: # print r['user_id'] # rr.append(r) #rr = [(r['user_id'],) for r in results.collection] print rr #prints expected user id return r2r('singlewod.html', {'results': rr, 'mwod': mwod, 'wod': wod, 'request': request})
def pah_login(request): """ 网站登录 根据不同身份用户跳转到不同的页面 """ if request.method == "POST": username = request.POST['username'] password = request.POST['password'] user = authenticate(username=username, password=password) if user is not None: if user.is_active: if user.get_mark('email') is False: request.session['user_email'] = user.email _msg = '''您的邮箱尚未通过验证<a class="btn btn-mini" href="{0}?token=send_email"> 发送验证邮件</a>'''.format(reverse_lazy("confirm_mail")) messages.info(request, mark_safe(_msg)) return HttpResponseRedirect(reverse_lazy('index')) login(request, user) if user.get_mark("first_login"): messages.success(request, "登录成功,这是您的第一次登录, 请填写必要信息,谢谢支持!") return HttpResponseRedirect(reverse_lazy('first_login')) user.count_login_time() # 修改登录次数 messages.success(request, '登录成功,欢迎您:{0}'.format(request.user.username)) redirect_to = request.REQUEST.get('next', False) if redirect_to: return HttpResponseRedirect(redirect_to) else: if user.is_superuser or user.is_staff: return HttpResponseRedirect(reverse('admin-index')) else: return HttpResponseRedirect(reverse_lazy('profile')) else: messages.error(request, '用户暂停使用,尚未激活!') else: messages.error(request, '用户名与密码不匹配!') form = AuthenticationForm if request.user.is_authenticated(): return HttpResponseRedirect(reverse_lazy("index")) return r2r('login.html', locals(), context_instance=RequestContext(request))
def first_login(request): """ 用户第一次登录 """ # identity_form = forms.IdentityChoiceForm region_form = UserUpdateRegionForm if request.method == "POST": province = request.POST.get("province") city = request.POST.get("city") area = request.POST.get("area") identity = request.POST.get("identity") try: if province or identity is not None: if identity in IDENTITY_LIST: set_user_identity(request.user, identity) set_user_region(request.user, "apartment", province, city, area,) messages.success(request, "提交信息成功, 欢迎使用!") request.user.set_mark('email', False) request.user.set_mark('first_login', False) return HttpResponseRedirect(reverse_lazy('profile')) except (KeyError, IntegrityError): messages.warning(request, "请前往个人中心修改地区信息!") return HttpResponseRedirect(reverse_lazy('profile')) return r2r('first/choices.html', locals(), context_instance=RequestContext(request))
def feeds(request): user = request.user domain = 'http://%s/' % Site.objects.get_current().domain return r2r('feeds.html', locals())
def admin_index(request): """ 网站后台首页 """ return r2r('admin-index.html', locals(), context_instance=RequestContext(request))