summaryrefslogtreecommitdiff
path: root/chimere/views.py
diff options
context:
space:
mode:
Diffstat (limited to 'chimere/views.py')
-rw-r--r--chimere/views.py28
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'],