Skip to content

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

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))

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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