diff options
Diffstat (limited to 'chimere/views.py')
| -rw-r--r-- | chimere/views.py | 22 | 
1 files changed, 17 insertions, 5 deletions
| diff --git a/chimere/views.py b/chimere/views.py index bd1f441..dd3f89a 100644 --- a/chimere/views.py +++ b/chimere/views.py @@ -139,7 +139,9 @@ def index(request, area_name=None, default_area=None, simple=False):      return render_to_response(tpl, response_dct,                                context_instance=RequestContext(request)) -def get_edit_page(redirect_url, item_cls, item_form): +def get_edit_page(redirect_url, item_cls, item_form, +                  multimediafile_formset=MultimediaFileFormSet, +                  picturefile_formset=PictureFileFormSet):      """      Edition page      """ @@ -171,6 +173,12 @@ def get_edit_page(redirect_url, item_cls, item_form):          init_multi = init_item.get_init_multi() if init_item else None          init_picture = init_item.get_init_picture() if init_item else None +        if init_item and not request.user.is_superuser and \ +                         not init_item.submiter_session_key == \ +                                        request.session.session_key: +            # hide personal information +            for k in ('submiter_name', 'submiter_email', 'submiter_comment'): +                setattr(init_item, k, '')          # If the form has been submited          if request.method == 'POST':              inst = None @@ -182,9 +190,9 @@ def get_edit_page(redirect_url, item_cls, item_form):              form = item_form(request.POST, request.FILES, instance=inst,                               subcategories=listed_subcats) -            formset_multi = MultimediaFileFormSet(request.POST, request.FILES, +            formset_multi = multimediafile_formset(request.POST, request.FILES,                                          initial=init_multi, prefix='multimedia') -            formset_picture = PictureFileFormSet(request.POST, request.FILES, +            formset_picture = picturefile_formset(request.POST, request.FILES,                                          initial=init_picture, prefix='picture')              # All validation rules pass              if form.is_valid() and formset_multi.is_valid() and \ @@ -229,9 +237,9 @@ def get_edit_page(redirect_url, item_cls, item_form):                                          u" and/or errors in the submited form.")          else:              form = item_form(instance=init_item, subcategories=listed_subcats) -            formset_multi = MultimediaFileFormSet(initial=init_multi, +            formset_multi = multimediafile_formset(initial=init_multi,                                                    prefix='multimedia') -            formset_picture = PictureFileFormSet(initial=init_picture, +            formset_picture = picturefile_formset(initial=init_picture,                                                   prefix='picture')          return None, (item_id, init_item, response_dct, form, formset_multi,                        formset_picture), subcategories @@ -252,6 +260,9 @@ def edit(request, area_name="", item_id=None, submited=False):      # get the "manualy" declared_fields. Ie: properties      declared_fields = form.declared_fields.keys() +    declared_fields = PropertyModel.objects.filter(available=True).all() +    filtered_properties = PropertyModel.objects.filter(available=True, +                                subcategories__id__isnull=False).all()      response_dct.update({          'actions':actions,          'action_selected':('contribute', 'edit'), @@ -267,6 +278,7 @@ def edit(request, area_name="", item_id=None, submited=False):                init_item.point if init_item else None,                area_name=response_dct['area_name']),          'properties':declared_fields, +        'filtered_properties':filtered_properties,          'submited':submited      })      # manualy populate the custom widget | 
