예제 #1
0
파일: contribute.py 프로젝트: zouf/AllSortz
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)+'/')
예제 #2
0
파일: contribute.py 프로젝트: zouf/AllSortz
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))