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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions