def delete_route(request, route_slug): if request.is_ajax(): route = get_object_or_404(Route, name=route_slug) applier_peer = route.applier.get_profile().peer requester_peer = request.user.get_profile().peer if applier_peer == requester_peer or request.user.is_superuser: route.status = "PENDING" route.expires = datetime.date.today() if not request.user.is_superuser: route.applier = request.user route.response = "Deactivating" route.save() route.commit_delete() requesters_address = request.META['HTTP_X_FORWARDED_FOR'] fqdn = Site.objects.get_current().domain admin_url = "https://%s%s" % (fqdn, "/fod/edit/%s"%route.name) mail_body = render_to_string("rule_action.txt", {"route": route, "address": requesters_address, "action": "removal", "url": admin_url}) user_mail = "%s" %route.applier.email user_mail = user_mail.split(';') send_new_mail(settings.EMAIL_SUBJECT_PREFIX + "Rule %s removal request submitted by %s" %(route.name, route.applier.username), mail_body, settings.SERVER_EMAIL, user_mail, get_peer_techc_mails(route.applier)) d = { 'clientip' : requesters_address, 'user' : route.applier.username } logger.info(mail_body, extra=d) html = "<html><body>Done</body></html>" return HttpResponse(html) else: return HttpResponseRedirect(reverse("group-routes"))
def listOverview(request): pie_chart, bar_chart, bar_chart2 = createChartsForOverview() browser_lang = getBrowserLanguage(request) list_name = '%' min_list_difficulty = 1 max_list_difficulty = 5 user_first_name = '%' user_last_name = '%' prog_lang_name = '%' order_mode = "ASC" subject_name = '%' if request.method == "POST" and request.is_ajax(): list_name = request.POST.get('title', '%') min_list_difficulty = int(request.POST.get('min_difficulty', 1)) max_list_difficulty = int(request.POST.get('max_difficulty', 5)) prog_lang_name = request.POST.get('prog_lang') if prog_lang_name == '': prog_lang_name = '%' user_name = request.POST.get('user') if user_name != "": user_name = user_name.split(' ') user_first_name = user_name[0] if len(user_name) > 1: user_last_name = user_name[1] subjects = request.POST.get('subjects') if subjects != "": subject_name = subjects.split(',') order_mode = request.POST.get('order_mode') if order_mode == "Ascending": order_mode = "ASC" else: order_mode = "DESC" all_lists = object_manager.filterOn(list_name, min_list_difficulty, max_list_difficulty, user_first_name, user_last_name, prog_lang_name, subject_name, order_mode, browser_lang.id) html = "" info = "" for i, obj in enumerate(reversed(all_lists)): obj.created_on = obj.created_on.strftime("%Y-%m-%d %H:%M:%S") h, i = createListElem(i, obj) html += h info += i return HttpResponse(json.dumps({"planets": html, "info": info})) all_lists = reversed( object_manager.filterOn(list_name, min_list_difficulty, max_list_difficulty, user_first_name, user_last_name, prog_lang_name, subject_name, order_mode, browser_lang.id)) return render(request, 'listOverview.html', {"all_lists": all_lists, "languages": object_manager.allProgrammingLanguages(), 'lists_per_prog_lang_graph': pie_chart, 'most_popular_subjects': bar_chart, 'users_with_mosts_made_lists': bar_chart2})
def subcategory_for_category(request): # print "subcategory_for_category" if request.is_ajax() and request.GET and 'category_id' in request.GET: print request.GET['category_id'] objs1 = SubCategory.objects.filter(category_id=request.GET['category_id']) return JSONResponse([{'id': o1.id, 'name': smart_unicode(o1.name)} for o1 in objs1]) else: return JSONResponse({'error': 'Not Ajax or no GET'})
def localities_for_city(request): if request.is_ajax() and request.GET and 'city_id' in request.GET: print "request.GET['city_id']", request.GET['city_id'] objs = Locality.objects.filter(city_refid=request.GET['city_id']) print objs return JSONResponse([{'id': o.id, 'name': smart_unicode(o)} for o in objs]) else: return JSONResponse({'error': 'Not Ajax or no GET'})
def step1(self,request): appform1=AppForm1() if request.is_ajax(): appform1=AppForm1(request.POST) if appform1.is_valid(): return render_to_response("admin/partials/wizardform1.html",{'appform1':appform1} ) else: return render_to_response("admin/partials/wizardform1.html",{'appform1':appform1} )
def map(request): if request.is_ajax(): data = serializers.serialize("json", goo_map.objects.all()) return HttpResponse(data,mimetype='text/plain') else: data = goo_map.objects.all() # tpl = loader.get_template('googlemap.html') # return HttpResponse(tpl.render(Context({'data':data}))) return render_to_response("googlemap.html",{"data":data})
#print (request.user) if request.user.has_perm('softGISview.view_data') or page_name == 'js_settings': school_id = request.POST.get('value', '') return render_to_response(page_name + "." + file_type, {"school_id": school_id}, context_instance=RequestContext(request)) else: return HttpResponseForbidden() #return HttpResponse('You requested: %s' % page_name) @permission_required('softGISview.view_data', raise_exception=True) def get_free_time_features(request): if not request.is_ajax(): return HttpResponseBadRequest() if request.POST.get('value', '') == '': return HttpResponseBadRequest() school = Schools.objects.get(id__exact=request.POST.get('value', '')) # js_school = school.values_list('name')[0][0] js_school = school.name js_school = js_school.split(",")[0].replace(" ", "_", 1).lower() #some unicode problem with school name js_school = js_school.replace(u"ä", "\u00e4") #Get respondants for school users = Person.objects.filter(time__expire_time=None).filter( json_data__json_string__contains='"school": "%s"' % js_school) user_ids = users.values_list('user_id', flat=True) # Get correct features properties = Property.objects.filter(expire_time=None).filter(json_string__contains='"valuename": "thingsGood"') # Filter to get only features from current school properties = properties.filter(feature__user_id__in=user_ids) cs = properties.filter(json_string__contains='"competitive_sports"') ma = properties.filter(json_string__contains='"moving_around"') rs = properties.filter(json_string__contains='"recreational_sports"') features = [] for f in cs: f_json = f.geojson() f_json['properties']['valuename'] = 'competitive' features.append(f_json) for f in ma: f_json = f.geojson() f_json['properties']['valuename'] = 'moving' features.append(f_json) for f in rs:
def brand_for_subcategory(request): # print "brand_for_subcategory" if request.is_ajax() and request.GET and 'sub_category_id' in request.GET: print request.GET['sub_category_id'] objs1 = Dropdown.objects.filter(subcat__id=request.GET['sub_category_id']) for obj in objs1: print obj.brand_name return JSONResponse([{'id': o1.id, 'name': smart_unicode(o1.brand_name)} for o1 in objs1]) else: return JSONResponse({'error': 'Not Ajax or no GET'})
def localities_for_city(request): if request.is_ajax() and request.GET and 'city_id' in request.GET: print "request.GET['city_id']", request.GET['city_id'] objs = Locality.objects.filter(city_refid=request.GET['city_id']) print objs return JSONResponse([{ 'id': o.id, 'name': smart_unicode(o) } for o in objs]) else: return JSONResponse({'error': 'Not Ajax or no GET'})
def subcategory_for_category(request): # print "subcategory_for_category" if request.is_ajax() and request.GET and 'category_id' in request.GET: print request.GET['category_id'] objs1 = SubCategory.objects.filter( category_id=request.GET['category_id']) return JSONResponse([{ 'id': o1.id, 'name': smart_unicode(o1.name) } for o1 in objs1]) else: return JSONResponse({'error': 'Not Ajax or no GET'})
def logins(request): usern = request.POST.get('login') passw = request.POST.get('password') user = authenticate(username=usern, password=passw) if request.user.is_authenticated(): if(request.is_ajax()): return HttpResponse(json.dumps({'inside':'true'}), content_type='application/json') return redirect('/blog/user') if user is not None: if user.is_active: # power = get_object_or_404(User, pk=2) # permission = Permission.objects.get(codename='can_publish') # power.user_permissions.add(permission) login(request, user) if(request.is_ajax()): return HttpResponse(json.dumps({'inside':'true'}), content_type='application/json') return redirect('/blog/user') else: if(request.is_ajax()): return HttpResponse(json.dumps({'inside':'false'}), content_type='application/json') return redirect('/blog/logout')
def brand_for_subcategory(request): # print "brand_for_subcategory" if request.is_ajax() and request.GET and 'sub_category_id' in request.GET: print request.GET['sub_category_id'] objs1 = Dropdown.objects.filter( subcat__id=request.GET['sub_category_id']) for obj in objs1: print obj.brand_name return JSONResponse([{ 'id': o1.id, 'name': smart_unicode(o1.brand_name) } for o1 in objs1]) else: return JSONResponse({'error': 'Not Ajax or no GET'})
def step3(self,request): appform3=AppForm3() if request.is_ajax(): form=AppForm(request.POST) if form.is_valid(): if form.save(request) : messages.success(request,'You App is Created !') return render_to_response("admin/partials/wizardform3.html",{'appform3':appform3 }) else: return render_to_response("admin/partials/wizardform3.html",{'appform3':appform3 }) return render_to_response("admin/partials/wizardform3.html",{'appform3':appform3})
def step2(self,request): appform2=AppForm2() if request.is_ajax(): appform2=AppForm2(request.POST) if appform2.is_valid(): # if appform2.save(): return render_to_response("admin/partials/wizardform2.html",{'appform2':appform2}) else: return render_to_response("admin/partials/wizardform2.html",{'appform2':appform2}) return render_to_response("admin/partials/wizardform2.html",{'appform2':appform2})
def post(self, request, *args, **kwargs): """ Handles POST requests, instantiating a form instance with the passed POST variables and then checked for validity. """ self.object = None form_class = self.get_form_class() form = self.get_form(form_class) if form.is_valid(): return self.form_valid(form) else: if request.is_ajax(): return HttpResponseBadRequest() else: return self.form_invalid(form)
def autocomplete_product_search(request): if request.is_ajax(): q = request.GET.get('term', '') # product_searchs = SearchQuerySet().filter(content__like=q) product_searchs = Product.objects.filter(title__contains=q) results = [] for product_search in product_searchs: search_json = {} search_json['id'] = product_search.id search_json['label'] = product_search.title search_json['value'] = product_search.title results.append(search_json) data = json.dumps(results) else: data = 'fail' mimetype = 'application/json' return HttpResponse(data, mimetype)
def autocomplete_product_search(request): if request.is_ajax(): q = request.GET.get('term', '') # product_searchs = SearchQuerySet().filter(content__like=q) product_searchs = Product.objects.filter(title__contains=q) results = [] for product_search in product_searchs: search_json = {} search_json['id'] = product_search.id search_json['label'] = product_search.title search_json['value'] = product_search.title results.append(search_json) data = json.dumps(results) else: data = 'fail' mimetype = 'application/json' return HttpResponse(data, mimetype)
def post(self, request, *args, **kwargs): """ Handles POST requests, instantiating a form instance with the passed POST variables and then checked for validity. """ logger = logging.getLogger('essarch.storagemaintenance') print("hit kom vi") self.object = None form_class = self.get_form_class() form = self.get_form(form_class) if form.is_valid(): # Convert ObjectIdentifierValue to list obj_list = self.request.POST.get('ObjectIdentifierValue','') if request.is_ajax(): self.obj_list = [] try: for o in json.loads(obj_list): self.obj_list.append(o[1]) except ValueError,detail: logger.warning('Problem to parse json: %s, detail:%s' % (obj_list,detail)) #self.obj_list = obj_list.split('\r\n')[:-1] #print 'self.obj_list: %s' % self.obj_list #return HttpResponseBadRequest() else: self.obj_list = obj_list.split(' ') # Convert TargetMediumID to list and remove "+" ## Convert to checkbox answer. target_list = self.request.POST.get('TargetMediumID',None) self.target_list = target_list.split(' ') for c, target_item in enumerate(self.target_list): if target_item.startswith('+'): self.target_list[c] = target_item[1:] # # Copy OnlyFlag # self.copy_only_flag = self.request.POST.get('CopyOnlyFlag', None) # print 'copy_only_flag: %s %s' % (str(self.copy_only_flag), type(self.copy_only_flag)) return self.form_valid(form)
features.append(f_json) featurecollection = { "type": "FeatureCollection", "crs": {"type": "EPSG", "properties": {"code": school.coordinates.srid}}, "features": features } return HttpResponse(json.dumps(featurecollection)) @permission_required('softGISview.view_data', raise_exception=True) def get_time_classes(request): if not request.is_ajax(): return HttpResponseBadRequest() if request.POST.get('value', '') == '': return HttpResponseBadRequest() school = Schools.objects.get(id__exact=request.POST.get('value', '')) # js_school = school.values_list('name')[0][0] js_school = school.name js_school = js_school.split(",")[0].replace(" ", "_", 1).lower() #some unicode problem with school name js_school = js_school.replace(u"ä", "\u00e4") #Get respondants for school users = Person.objects.filter(time__expire_time=None).filter( json_data__json_string__contains='"school": "%s"' % js_school) total_users = float(len(users)) if total_users == 0: return HttpResponse(json.dumps([[0,0,0,0,0]])) t_7 = users.filter(json_data__json_string__contains='"exercise": "7h_or_more"') t_6 = users.filter(json_data__json_string__contains='"exercise": "4_6_hours"') t_3 = users.filter(json_data__json_string__contains='"exercise": "2_3_hours"')
def home(request): if request.is_ajax(): pass
# Convert TargetMediumID to list and remove "+" ## Convert to checkbox answer. target_list = self.request.POST.get('TargetMediumID',None) self.target_list = target_list.split(' ') for c, target_item in enumerate(self.target_list): if target_item.startswith('+'): self.target_list[c] = target_item[1:] # # Copy OnlyFlag # self.copy_only_flag = self.request.POST.get('CopyOnlyFlag', None) # print 'copy_only_flag: %s %s' % (str(self.copy_only_flag), type(self.copy_only_flag)) return self.form_valid(form) else: #print 'Form Not valid problem!!!' #print request.POST if request.is_ajax(): return HttpResponseBadRequest() else: return self.form_invalid(form) def render_to_response2(self, context, **response_kwargs): #print 'render response!!!!' flag_json = 1 if self.request.is_ajax(): #print 'is_ajax!!!' '''Render Datatables expected JSON format''' data = { 'sEcho': 'test123echonew', } return self.json_response(data) else:
def school_data(request): if not request.is_ajax(): return HttpResponseBadRequest() if request.POST.get('value', '') == '': return HttpResponseBadRequest() school = Schools.objects.get(id__exact=request.POST.get('value', '')) # js_school = school.values_list('name')[0][0] js_school = school.name js_school = js_school.split(",")[0].replace(" ", "_", 1).lower() #some unicode problem with school name js_school = js_school.replace(u"ä", "\u00e4") #Get respondants for school users = Person.objects.filter(time__expire_time=None).filter( json_data__json_string__contains='"school": "%s"' % js_school) user_ids = users.values_list('user_id', flat=True) #print (len(user_ids)) home_ids = Property.objects.filter(expire_time=None).filter( json_string__contains='home').values_list('feature', flat=True) #print (len(home_ids)) homes = Feature.objects.filter(expire_time=None).filter( id__in=list(home_ids)).filter(user_id__in=list(user_ids)) #print len(homes) #Calculate the buffer valuesuser_ids = users.values_list('user_id', flat=True) m1000 = homes.filter(geometry__distance_lt=(school.coordinates, D(m=1000))) #print (len(m1000)) m3000 = homes.filter(geometry__distance_lt=(school.coordinates, D(m=3000))).filter( geometry__distance_gte=(school.coordinates, D(m=1000))) #print (len(m3000)) m5000 = homes.filter(geometry__distance_lt=(school.coordinates, D(m=5000))).filter( geometry__distance_gte=(school.coordinates, D(m=3000))) #print (len(m5000)) m5001 = homes.filter(geometry__distance_gte=(school.coordinates, D(m=5000))) #print (len(m5001)) # print len(homes.filter(geometry__distance_gte=(school.coordinates, D(m=1000)))) num_of_students = [len(m1000), len(m3000), len(m5000), len(m5001)] m1000_to = 0 m1000_from = 0 m3000_to = 0 m3000_from = 0 m5000_to = 0 m5000_from = 0 m5001_to = 0 m5001_from = 0 # The times t1000 = 0; t3000 = 0; t5000 = 0; t5001 = 0; if not len(m1000) == 0: m1000_users = users.filter(time__expire_time=None).filter( user_id__in=m1000.values_list('user_id', flat=True)) m1000_to = m1000_users.filter( Q(json_data__json_string__contains='"how_to_school": "walk"') | Q(json_data__json_string__contains='"how_to_school": "bike"')) m1000_temp = m1000_users.exclude(user_id__in=m1000_to.values_list('user_id', flat=True)) m1000_from = m1000_temp.filter( Q(json_data__json_string__contains='"how_from_school": "walk"') | Q(json_data__json_string__contains='"how_from_school": "bike"')) # m1000_from = m1000_users.filter( # Q(json_data__json_string__contains='"how_from_school": "walk"') | # Q(json_data__json_string__contains='"how_from_school": "bike"')) # for a in m1000_users: # b = a.json_data.get('school_journey') # if b != None: # try: # print a.json_data.get('username') # print b['how_to_school'] # print b['how_from_school'] # except: # pass # print(len(m1000_users)) # print(len(m1000_to)) # print(len(m1000_temp)) # print(len(m1000_from)) m1000_to = float(len(m1000_to))/len(m1000) m1000_from = float(len(m1000_from))/len(m1000) for u in m1000_users: if u.json_data.get("school_journey") != None: try: t1000 += float(u.json_data.get("school_journey")["time_from_school"]) except ValueError: if "-" in u.json_data.get("school_journey")["time_from_school"]: temp = u.json_data.get("school_journey")["time_from_school"].split("-") if temp != None: a = re.sub('[^\d]+', '', temp[0]) b = re.sub('[^\d]+', '', temp[1]) if a == '': a = 0 if b == '': b = 0 temp = (float(a) + float(b))/2.0 t1000 += temp else: temp = re.sub('[^\d]+', '', u.json_data.get("school_journey")["time_from_school"]) if temp != '': t1000 += float(temp) try: t1000 += float(u.json_data.get("school_journey")["time_to_school"]) except ValueError: if "-" in u.json_data.get("school_journey")["time_to_school"]: temp = u.json_data.get("school_journey")["time_to_school"].split("-") if temp != None: a = re.sub('[^\d]+', '', temp[0]) b = re.sub('[^\d]+', '', temp[1]) if a == '': a = 0 if b == '': b = 0 temp = (float(a) + float(b))/2.0 t1000 += temp else: temp = re.sub('[^\d]+', '', u.json_data.get("school_journey")["time_to_school"]) if temp != '': t1000 += float(temp) try: t1000 = t1000 / len(m1000_users) except ZeroDivisionError: t1000 = 0 if not len(m3000) == 0: m3000_users = users.filter(time__expire_time=None).filter( user_id__in=m3000.values_list('user_id', flat=True)) m3000_to = m3000_users.filter( Q(json_data__json_string__contains='"how_to_school": "walk"') | Q(json_data__json_string__contains='"how_to_school": "bike"')) m3000_temp = m3000_users.exclude(user_id__in=m3000_to.values_list('user_id', flat=True)) m3000_from = m3000_temp.filter( Q(json_data__json_string__contains='"how_from_school": "walk"') | Q(json_data__json_string__contains='"how_from_school": "bike"')) m3000_to = float(len(m3000_to))/len(m3000) m3000_from = float(len(m3000_from))/len(m3000) for u in m3000_users: if u.json_data.get("school_journey") != None: try: t3000 += float(u.json_data.get("school_journey")["time_from_school"]) except ValueError: if "-" in u.json_data.get("school_journey")["time_from_school"]: temp = u.json_data.get("school_journey")["time_from_school"].split("-") if temp != None: a = re.sub('[^\d]+', '', temp[0]) b = re.sub('[^\d]+', '', temp[1]) if a == '': a = 0 if b == '': b = 0 temp = (float(a) + float(b))/2.0 t3000 += temp else: temp = re.sub('[^\d]+', '', u.json_data.get("school_journey")["time_from_school"]) if temp != '': t3000 += float(temp) try: t3000 += float(u.json_data.get("school_journey")["time_to_school"]) except ValueError: if "-" in u.json_data.get("school_journey")["time_to_school"]: temp = u.json_data.get("school_journey")["time_to_school"].split("-") if temp != None: a = re.sub('[^\d]+', '', temp[0]) b = re.sub('[^\d]+', '', temp[1]) if a == '': a = 0 if b == '': b = 0 temp = (float(a) + float(b))/2.0 t3000 += temp else: temp = re.sub('[^\d]+', '', u.json_data.get("school_journey")["time_to_school"]) if temp != '': t3000 += float(temp) try: t3000 = t3000 / len(m3000_users) except ZeroDivisionError: t3000 = 0 if not len(m5000) == 0: m5000_users = users.filter(time__expire_time=None).filter( user_id__in=m5000.values_list('user_id', flat=True)) m5000_to = m5000_users.filter( Q(json_data__json_string__contains='"how_to_school": "walk"') | Q(json_data__json_string__contains='"how_to_school": "bike"')) m5000_temp = m5000_users.exclude(user_id__in=m5000_to.values_list('user_id', flat=True)) m5000_from = m5000_temp.filter( Q(json_data__json_string__contains='"how_from_school": "walk"') | Q(json_data__json_string__contains='"how_from_school": "bike"')) m5000_to = float(len(m5000_to))/len(m5000) m5000_from = float(len(m5000_from))/len(m5000) for u in m5000_users: if u.json_data.get("school_journey") != None: try: t5000 += float(u.json_data.get("school_journey")["time_from_school"]) except ValueError: if "-" in u.json_data.get("school_journey")["time_from_school"]: temp = u.json_data.get("school_journey")["time_from_school"].split("-") if temp != None: a = re.sub('[^\d]+', '', temp[0]) b = re.sub('[^\d]+', '', temp[1]) if a == '': a = 0 if b == '': b = 0 temp = (float(a) + float(b))/2.0 t5000 += temp else: temp = re.sub('[^\d]+', '', u.json_data.get("school_journey")["time_from_school"]) if temp != '': t5000 += float(temp) try: t5000 += float(u.json_data.get("school_journey")["time_to_school"]) except ValueError: if "-" in u.json_data.get("school_journey")["time_to_school"]: temp = u.json_data.get("school_journey")["time_to_school"].split("-") if temp != None: a = re.sub('[^\d]+', '', temp[0]) b = re.sub('[^\d]+', '', temp[1]) if a == '': a = 0 if b == '': b = 0 temp = (float(a) + float(b))/2.0 t5000 += temp else: temp = re.sub('[^\d]+', '', u.json_data.get("school_journey")["time_to_school"]) if temp != '': t5000 += float(temp) try: t5000 = t5000 / len(m5000_users) except ZeroDivisionError: t5000 = 0 if not len(m5001) == 0: m5001_users = users.filter(time__expire_time=None).filter( user_id__in=m5001.values_list('user_id', flat=True)) m5001_to = m5001_users.filter( Q(json_data__json_string__contains='"how_to_school": "walk"') | Q(json_data__json_string__contains='"how_to_school": "bike"')) m5001_temp = m5001_users.exclude(user_id__in=m5001_to.values_list('user_id', flat=True)) m5001_from = m5001_temp.filter( Q(json_data__json_string__contains='"how_from_school": "walk"') | Q(json_data__json_string__contains='"how_from_school": "bike"')) m5001_to = float(len(m5001_to))/len(m5001) m5001_from = float(len(m5001_from))/len(m5001) for u in m5001_users: if u.json_data.get("school_journey") != None: try: t5001 += float(u.json_data.get("school_journey")["time_from_school"]) except ValueError: if "-" in u.json_data.get("school_journey")["time_from_school"]: temp = u.json_data.get("school_journey")["time_from_school"].split("-") if temp != None: a = re.sub('[^\d]+', '', temp[0]) b = re.sub('[^\d]+', '', temp[1]) if a == '': a = 0 if b == '': b = 0 temp = (float(a) + float(b))/2.0 t5001 += temp else: temp = re.sub('[^\d]+', '', u.json_data.get("school_journey")["time_from_school"]) if temp != '': t5001 += float(temp) try: t5001 += float(u.json_data.get("school_journey")["time_to_school"]) except ValueError: if "-" in u.json_data.get("school_journey")["time_to_school"]: temp = u.json_data.get("school_journey")["time_to_school"].split("-") if temp != None: a = re.sub('[^\d]+', '', temp[0]) b = re.sub('[^\d]+', '', temp[1]) if a == '': a = 0 if b == '': b = 0 temp = (float(a) + float(b))/2.0 t5001 += temp else: temp = re.sub('[^\d]+', '', u.json_data.get("school_journey")["time_to_school"]) if temp != '': t5001 += float(temp) try: t5001 = t5001 / len(m5001_users) except ZeroDivisionError: t5001 = 0 # print(len(m1000_to)) # print(len(m1000_from)) # print(len(m3000_to)) # print(len(m3000_from)) # print(len(m5000_to)) # print(len(m5000_from)) # print(len(m5001_to)) # print(len(m5001_from)) # print(t1000) # print(t3000) # print(t5000) # print(t5001) # Create features # First we create buffers b1000 = school.coordinates.buffer(1000) b3000 = school.coordinates.buffer(3000) b5000 = school.coordinates.buffer(5000) #calculate distance to the farthest home point from school f_dist = 0 for h in m5001: temp_dist = Schools.objects.filter( id__exact=request.POST.get('value', '')).distance( h.geometry)[0].distance.m if temp_dist > f_dist: f_dist = temp_dist # print ('f_dist:' ) # print (f_dist) # print (Schools.objects.filter( # id__exact=request.POST.get('value', '')).distance( # h.geometry)[0].distance.m) b5001 = school.coordinates.buffer(f_dist) # then we need to make the rings r3000 = b3000.difference(b1000) r5000 = b5000.difference(b3000) r5001 = b5001.difference(b5000) # Hardcoded way to make features features = [] features.append({ "geometry": json.loads(b1000.json), "properties": { "homes": len(m1000), "to": m1000_to * 100, "from": m1000_from * 100, "travel": ((m1000_to + m1000_from)) * 100, "time": t1000, "name": "1000" } }) features.append({ "geometry": json.loads(r3000.json), "properties": { "homes": len(m3000), "to": m3000_to * 100, "from": m3000_from * 100, "travel": ((m3000_to + m3000_from)) * 100, "time": t3000, "name": "3000" } }) features.append({ "geometry": json.loads(r5000.json), "properties": { "homes": len(m5000), "to": m5000_to * 100, "from": m5000_from * 100, "travel": ((m5000_to + m5000_from)) * 100, "time": t5000, "name": "5000" } }) features.append({ "geometry": json.loads(r5001.json), "properties": { "homes": len(m5001), "to": m5001_to * 100, "from": m5001_from * 100, "travel": ((m5001_to + m5001_from)) * 100, "time": t5001, "name": "5001" } }) features.append({ "geometry": json.loads(school.coordinates.json), "properties": { "name": school.name,
def xhr_test(request): if request.is_ajax(): message = "Hello, AJAX!" else: message = "Hello!" return HttpResponse(message)
time_class_data = [] time_class_data.append((len(t_7)/total_users)*100) time_class_data.append((len(t_6)/total_users)*100) time_class_data.append((len(t_3)/total_users)*100) time_class_data.append((len(t_1)/total_users)*100) time_class_data.append((len(t_none)/total_users)*100) return HttpResponse(json.dumps([time_class_data])) @permission_required('softGISview.view_data', raise_exception=True) def get_screen_times(request): if not request.is_ajax(): return HttpResponseBadRequest() if request.POST.get('value', '') == '': return HttpResponseBadRequest() school = Schools.objects.get(id__exact=request.POST.get('value', '')) # js_school = school.values_list('name')[0][0] js_school = school.name js_school = js_school.split(",")[0].replace(" ", "_", 1).lower() #some unicode problem with school name js_school = js_school.replace(u"ä", "\u00e4") #Get respondants for school users = Person.objects.filter(time__expire_time=None).filter( json_data__json_string__contains='"school": "%s"' % js_school) boys = users.filter(json_data__json_string__contains='"gender": "boy"') girls = users.filter(json_data__json_string__contains='"gender": "girl"') total_boys = float(len(boys)) total_girls = float(len(girls)) if len(boys) > 0: tv_over2h_boys = boys.filter( Q(json_data__json_string__contains='"tv_computer": "more_5_hours"') | Q(json_data__json_string__contains='"tv_computer": "2_4_hours"')) tv_under2h_boys = boys.filter( Q(json_data__json_string__contains='"tv_computer": "1_2_hours"') | Q(json_data__json_string__contains='"tv_computer": "less_1_hours"') | Q(json_data__json_string__contains='"tv_computer": "none"')) social_over2h_boys = boys.filter( Q(json_data__json_string__contains='"sos_network": "more_5_hours"') | Q(json_data__json_string__contains='"sos_network": "2_4_hours"')) social_under2h_boys = boys.filter( Q(json_data__json_string__contains='"sos_network": "1_2_hours"') | Q(json_data__json_string__contains='"sos_network": "less_1_hours"') | Q(json_data__json_string__contains='"sos_network": "none"')) tv_o2h_b = (len(tv_over2h_boys)/total_boys)*100 tv_u2h_b = (len(tv_under2h_boys)/total_boys)*100 sos_o2h_b = (len(social_over2h_boys)/total_boys)*100 sos_u2h_b = (len(social_under2h_boys)/total_boys)*100 tv_eos_b = 100 - (tv_o2h_b + tv_u2h_b) sos_eos_b = 100 - (sos_o2h_b + sos_u2h_b) tv_b = [[_(u'Over 2 hours'), tv_o2h_b],[_(u'Less than 2 hours'), tv_u2h_b],[_(u'No answer'), tv_eos_b]] sos_b = [[_(u'Over 2 hours'), sos_o2h_b],[_(u'Less than 2 hours'), sos_u2h_b],[_(u'No answer'), sos_eos_b]] else: tv_b = [[_(u'Over 2 hours'), 0],[_(u'Less than 2 hours'), 0],[_(u'No answer'), 0]] sos_b = [[_(u'Over 2 hours'), 0],[_(u'Less than 2 hours'), 0],[_(u'No answer'), 0]] if len(girls) > 0: tv_over2h_girls = girls.filter( Q(json_data__json_string__contains='"tv_computer": "more_5_hours"') | Q(json_data__json_string__contains='"tv_computer": "2_4_hours"')) tv_under2h_girls = girls.filter( Q(json_data__json_string__contains='"tv_computer": "1_2_hours"') | Q(json_data__json_string__contains='"tv_computer": "less_1_hours"') | Q(json_data__json_string__contains='"tv_computer": "none"')) social_over2h_girls = girls.filter( Q(json_data__json_string__contains='"sos_network": "more_5_hours"') | Q(json_data__json_string__contains='"sos_network": "2_4_hours"')) social_under2h_girls = girls.filter( Q(json_data__json_string__contains='"sos_network": "1_2_hours"') | Q(json_data__json_string__contains='"sos_network": "less_1_hours"') | Q(json_data__json_string__contains='"sos_network": "none"')) tv_o2h_g = (len(tv_over2h_girls)/total_girls)*100 tv_u2h_g = (len(tv_under2h_girls)/total_girls)*100 sos_o2h_g = (len(social_over2h_girls)/total_girls)*100 sos_u2h_g = (len(social_under2h_girls)/total_girls)*100 tv_eos_g = 100 - (tv_o2h_g + tv_u2h_g) sos_eos_g = 100 - (sos_o2h_g + sos_u2h_g) tv_g = [[_(u'Over 2 hours'), tv_o2h_g],[_(u'Less than 2 hours'), tv_u2h_g],[_(u'No answer'), tv_eos_g]] sos_g = [[_(u'Over 2 hours'), sos_o2h_g],[_(u'Less than 2 hours'), sos_u2h_g],[_(u'No answer'), sos_eos_g]]