diff options
Diffstat (limited to 'chimere/views.py')
| -rw-r--r-- | chimere/views.py | 28 |
1 files changed, 20 insertions, 8 deletions
diff --git a/chimere/views.py b/chimere/views.py index 0f662ba..c76f5b8 100644 --- a/chimere/views.py +++ b/chimere/views.py @@ -28,7 +28,6 @@ from django.conf import settings from django.core import serializers from django.core.urlresolvers import reverse from django.db.models import Q -from django.forms import model_to_dict from django.http import HttpResponseRedirect, HttpResponse from django.shortcuts import redirect, render_to_response from django.template import loader, RequestContext @@ -42,8 +41,9 @@ from chimere.models import Category, SubCategory, PropertyModel, \ from chimere.widgets import getMapJS, PointChooserWidget, \ RouteChooserWidget -from chimere.forms import MarkerForm, RouteForm, ContactForm, \ - FileForm, FullFileForm, notifySubmission, notifyStaff +from chimere.forms import MarkerForm, RouteForm, ContactForm, FileForm, \ + FullFileForm, MultimediaFileFormSet, PictureFileFormSet, notifySubmission,\ + notifyStaff #TODO: convert to requestcontext def get_base_response(area_name=""): @@ -117,12 +117,14 @@ def get_edit_page(redirect_url, item_cls, item_form): None ref_item = init_item modified_item = item_cls.objects.filter(ref_item=init_item, - submiter_session_key=request.session.session_key) + submiter_session_key=request.session.session_key) if modified_item.count(): init_item = modified_item.all()[0] # If the form has been submited if request.method == 'POST': + formset_multi = MultimediaFileFormSet() + formset_picture = PictureFileFormSet() inst = None # allow to directly modify only if owner or superuser if init_item and (request.user.is_superuser or \ @@ -158,7 +160,12 @@ def get_edit_page(redirect_url, item_cls, item_form): None else: form = item_form(instance=init_item) - return None, (item_id, init_item, response_dct, form) + init_multi = init_item.get_init_multi() if init_item else None + formset_multi = MultimediaFileFormSet(initial=init_multi) + init_picture = init_item.get_init_picture() if init_item else None + formset_picture = PictureFileFormSet(initial=init_picture) + return None, (item_id, init_item, response_dct, form, formset_multi, + formset_picture) return func get_edit_marker = get_edit_page('chimere:edit', Marker, MarkerForm) @@ -170,8 +177,8 @@ def edit(request, area_name="", item_id=None, submited=False): response, values = get_edit_marker(request, area_name, item_id) if response: return response - print '1' - item_id, init_item, response_dct, form = values + item_id, init_item, response_dct, form, formset_multi, formset_picture = \ + values # get the "manualy" declared_fields. Ie: properties declared_fields = form.declared_fields.keys() @@ -181,6 +188,8 @@ def edit(request, area_name="", item_id=None, submited=False): 'error_message':'', 'map_layer':settings.CHIMERE_MAP_LAYER, 'form':form, + 'formset_multi':formset_multi, + 'formset_picture':formset_picture, 'dated':settings.CHIMERE_DAYS_BEFORE_EVENT, 'extra_head':form.media, 'marker_id':item_id, @@ -269,7 +278,8 @@ def editRoute(request, area_name="", item_id=None, submited=False): response, values = get_edit_route(request, area_name, item_id) if response: return response - item_id, init_item, response_dct, form = values + item_id, init_item, response_dct, form, formset_multi, formset_picture = \ + values # get the "manualy" declared_fields. Ie: properties declared_fields = form.declared_fields.keys() @@ -279,6 +289,8 @@ def editRoute(request, area_name="", item_id=None, submited=False): 'error_message':'', 'map_layer':settings.CHIMERE_MAP_LAYER, 'form':form, + 'formset_multi':formset_multi, + 'formset_picture':formset_picture, 'dated':settings.CHIMERE_DAYS_BEFORE_EVENT, 'extra_head':form.media, 'sub_categories':SubCategory.getAvailable(['R', 'B'], |
