diff options
Diffstat (limited to 'main/views.py')
| -rw-r--r-- | main/views.py | 37 | 
1 files changed, 30 insertions, 7 deletions
diff --git a/main/views.py b/main/views.py index f0cc604..a7a4da7 100644 --- a/main/views.py +++ b/main/views.py @@ -77,7 +77,7 @@ def edit(request):              # set the submited status              marker.status = 'S'              marker.save() -            return HttpResponseRedirect('/chimere/submited') +            return HttpResponseRedirect('/chimere/submited/edit')      else:          # An unbound form          form = MarkerForm() @@ -88,7 +88,7 @@ def edit(request):                    'media_path':settings.MEDIA_URL,                    'form':form,                    'extra_head':form.media, -                  'sub_categories':SubCategory.getAvailable(), +                  'sub_categories':SubCategory.getAvailable(['M', 'B']),                    'point_widget':PointChooserWidget().render('point', None),                    'properties':declared_fields                     } @@ -111,18 +111,18 @@ def editRoute(request):              # set the submited status              route.status = 'S'              route.save() -            return HttpResponseRedirect('/chimere/submited') +            return HttpResponseRedirect('/chimere/submited/edit_route')      else:          # An unbound form          form = RouteForm()      # get the « manualy » declared_fields. Ie: properties      declared_fields = form.declared_fields.keys() -    response_dct = {'actions':actions, 'action_selected':'edit-route', +    response_dct = {'actions':actions, 'action_selected':'edit_route',                    'error_message':'',                    'media_path':settings.MEDIA_URL,                    'form':form,                    'extra_head':form.media, -                  'sub_categories':SubCategory.getAvailable(), +                  'sub_categories':SubCategory.getAvailable(['R', 'B']),                    'route_widget':RouteChooserWidget().render('route', None),                    'properties':declared_fields                     } @@ -139,11 +139,12 @@ def welcome(request, display=None):      response_dct['news_lst'] = News.objects.filter(available=True)      return loader.render_to_string('welcome.html', response_dct) -def submited(request): +def submited(request, action):      """      Successful submission page      """ -    response_dct = {'actions':actions, 'action_selected':'edit', +    print action +    response_dct = {'actions':actions, 'action_selected':action,                      'media_path':settings.MEDIA_URL,}      return render_to_response('submited.html', response_dct) @@ -174,3 +175,25 @@ def getMarkers(request, category_ids):      data = '{"type": "FeatureCollection", "features":[%s]}' % \                             ",".join([marker.getGeoJSON() for marker in markers])      return HttpResponse(data) + +def getGeoObjects(request, category_ids): +    ''' +    Get the JSON for a route +    ''' +    try: +        query = Route.objects.filter(status='A', +                                    subcategory__in=category_ids.split('_')) +    except: +        return HttpResponse('no results') +    geo_objects = list(query) +    try: +        query = Marker.objects.filter(status='A', +                                    subcategory__in=category_ids.split('_')) +    except: +        return HttpResponse('no results') +    geo_objects += list(query) +    if not geo_objects: +        return HttpResponse('no results') +    data = '{"type": "FeatureCollection", "features":[%s]}' % \ +           ",".join([geo_object.getGeoJSON() for geo_object in geo_objects]) +    return HttpResponse(data)
\ No newline at end of file  | 
