def ans_business_questions(request,bus_id): if not request.user.is_authenticated(): return HttpResponseRedirect('/accounts/login/?next=%s'%request.path) if request.method != 'POST': b = get_object_or_404(Business, pk=bus_id) try: b.photourl = get_photo_web_url(b) except: b.photourl= "" #NONE questions = get_questions(b,request.user) b = get_single_bus_data(b,request.user) context = get_default_bus_context(b, request.user) context['questions'] = questions context['value_questions'] = getValueTagsWithOptions() print(context['value_questions'][0].options) return render_to_response('ratings/contribute/ans_questions.html', context_instance=RequestContext(request,context)) else: bid = request.POST['bid'] values = [] booleans = [] #get the list of anwers for key in request.POST: if key.find('answer') > -1: booleans.append(request.POST[key]) for key in request.POST: if key.find('values') > -1: values.append(request.POST[key]) b = Business.objects.get(id=bid) for v in booleans: ans = v.split('_')[1] qid = v.split('_')[0] hardtag = HardTag.objects.get(id=qid) if ans == 'y': BooleanQuestion.objects.create(hardtag=hardtag,business = b,user=request.user,agree=True) else: BooleanQuestion.objects.create(hardtag=hardtag,business = b,user=request.user,agree=False) for v in values: ans = v.split('_')[1] vid = v.split('_')[0] valuetag = ValueTag.objects.get(id=vid) IntegerQuestion.objects.create(valuetag=valuetag,business = b,user=request.user,value=ans) return redirect('/ratings/'+str(bus_id)+'/')
def add_business(request): if not request.user.is_authenticated(): return HttpResponseRedirect('/accounts/login/?next=%s'%request.path) if request.method == 'POST': # add a business form = BusinessForm(request.POST, request.FILES) name = form.data['name'] logger.debug("Creation of business %s by %s", name,request.user.username) address = form.data['address'] city = form.data['city'] state = form.data['state'] loc = address + " " + city + " " + state latlng = get_lat(loc) if latlng: b = create_business(name, address, state, city, lat=latlng[0], lon =latlng[1]) else: b = create_business(name, address, state, city, lat=0, lon =0) if 'image' in request.FILES: img = request.FILES['image'] add_photo_by_upload(img,b,request.user,default=True) community = get_community(request.user) bm = BusinessMembership(business=b,community=community) bm.save() values = request.POST.getlist('answers') for v in values: ans = v.split('_')[1] qid = v.split('_')[0] hardtag = HardTag.objects.get(id=qid) if ans == 'y': BooleanQuestion.objects.create(hardtag=hardtag,business = b,user=request.user,agree=True) else: BooleanQuestion.objects.create(hardtag=hardtag,business = b,user=request.user,agree=False) return redirect('/ratings/'+str(b.id)+'/') else: # Print a business form context = get_default_blank_context(request.user) context['questions'] = get_questions(None,request.user) context['form'] = BusinessForm() return render_to_response('ratings/contribute/add_business.html', context, context_instance=RequestContext(request))