Skip to content

data_domain requests with GET parameters always result in a 500 error #1

@kourylape

Description

@kourylape

An example of what I mean can be viewed here

The indicators variable is commented out, but still being used in the if else statement of data_domain and none of the GET parameters are actually being used.

Is it necessary to continue to use the if/else statement? Could something like this work instead?

def data_domain(request, geo_level_slug, geo_record_slug, data_domain_slug):
    """ Overview of a data domain for a geo record """
    level = get_object_or_404(GeoLevel, slug=geo_level_slug)

    try:
        record = GeoRecord.objects.defer('mappings', 'components', 'parent').get(level=level, slug=geo_record_slug)
    except GeoRecord.DoesNotExist:
        raise Http404

    filter_key = ''
    if level.related_within:
        geoids = json.loads(record.geo_id_segments)
        sum_lev = level.related_within.summary_level
        filter_key = geoids[sum_lev]

    domain = get_object_or_404(DataDomain, slug=data_domain_slug)
    levels = get_levels_as_list()

    return render_to_response('profiles/data_domain.html',
        {
            'geo_level': level,
            'geo_record': record,
            'data_domain': domain,
            'level_json':json.dumps({'id':level.id, 'name':level.lev_name, 'slug':level.slug, 'sumlev':level.summary_level}),
            'levels': json.dumps(levels),
            'rec_json':json.dumps({'id':record.id, 'name': record.name, 'slug':record.slug, 'geom_id':record.get_geom_id(), 'geo_id':record.geo_id}),
            'filter_key': filter_key,
         },
        context_instance=RequestContext(request))

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions