def signup(request, *args, **kwargs): place = url_to_place(*args, **kwargs) manager = get_schema_manager(request) if isinstance(place, Block): FormClass, type_code = BlockAlertForm, 'b' else: FormClass, type_code = LocationAlertForm, 'l' email_required = request.user.is_anonymous() if request.method == 'POST': form = FormClass(request.POST, email_required=email_required, request=request) if form.is_valid(): return finish_signup(request, place, form.cleaned_data) else: schema_list = manager.filter(is_special_report=False).order_by('plural_name') schema_ids = [s.id for s in schema_list] form = FormClass( initial={ 'email': 'Enter your e-mail address', 'radius': block_radius_value(request)[1], 'frequency': '1', 'include_new_schemas': True, 'selected_schemas': schema_ids, 'displayed_schemas': schema_ids, }, email_required=email_required, request=request) context = get_place_info_for_request(request, *args, **kwargs) context['map_configuration'] = _preconfigured_map(context); context['form'] = form #context['schema_list'] = schema_list return eb_render(request, 'alerts/signup_form.html', context)
def _place_detail_normalize_url(request, *args, **kwargs): context = get_place_info_for_request(request, *args, **kwargs) if context.get('block_radius') and 'radius' not in request.GET: # Normalize the URL so we always have the block radius. url = request.get_full_path() response = HttpResponse(status=302) if '?' in url: response['location'] = '%s&radius=%s' % (url, context['block_radius']) else: response['location'] = '%s?radius=%s' % (url, context['block_radius']) for key, val in context.get('cookies_to_set').items(): response.set_cookie(key, val) return (context, response) return (context, None)
def feed_signup(request, *args, **kwargs): context = get_place_info_for_request(request, *args, **kwargs) context['schema_list'] = get_schema_manager(request).filter(is_special_report=False).order_by('plural_name') return eb_render(request, 'db/feed_signup.html', context)
if len(ni_list) > constants.FILTER_PER_PAGE: has_next = True ni_list = ni_list[:-1] else: has_next = False idx_end = idx_start + len(ni_list) has_previous = page > 1 populate_schema(ni_list, s) populate_attributes_if_needed(ni_list, [s]) # Need map parameters based on location/block, if there is one. loc_filter = filterchain.get('location') if loc_filter: context.update(get_place_info_for_request( request, place=loc_filter.location_object, block_radius=getattr(loc_filter, 'block_radius', None))) else: # Whole city map. context.update({ 'default_lon': settings.DEFAULT_MAP_CENTER_LON, 'default_lat': settings.DEFAULT_MAP_CENTER_LAT, 'default_zoom': settings.DEFAULT_MAP_ZOOM, }) # Try to provide a link to larger map, but don't worry about it # if there is no richmap app hooked in... try: large_map_url = filterchain.make_url(base_url=reverse('bigmap_filter', args=(slug,))) if filterchain.get('date') is None: # force a date range