# HG changeset patch
# User verrierj
# Date 1328779079 -3600
# Node ID 610524c5d1e3287ec8c381508b82d662b857fbd6
# Parent 03a99f7440ef55687efa21ed9d52f82a05cbd80e
Fix bug in content edition form
diff -r 03a99f7440ef -r 610524c5d1e3 src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/create_content.html
--- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/create_content.html Wed Feb 08 17:36:59 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/create_content.html Thu Feb 09 10:17:59 2012 +0100
@@ -124,11 +124,12 @@
{% trans 'More options' %}
-
+
{% if iri_id and user.is_staff %}
- {{ content_form.front_project.label_tag }}{{ content_form.front_project }}
+
{{ content_form.front_project.label_tag }}{{ content_form.front_project }}
+ {% else %}
+
{{ content_form.front_project }}
{% endif %}
-
{% include "ldt/ldt_utils/partial/picture.html"%}
{% include "ldt/ldt_utils/partial/permissions.html" %}
diff -r 03a99f7440ef -r 610524c5d1e3 src/ldt/ldt/ldt_utils/views/content.py
--- a/src/ldt/ldt/ldt_utils/views/content.py Wed Feb 08 17:36:59 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/views/content.py Thu Feb 09 10:17:59 2012 +0100
@@ -72,6 +72,7 @@
if request.user.is_staff:
content_form.fields['front_project'].queryset = Project.objects.filter(contents__in=[instance_content])
+
media_valid = media_form.is_valid()
content_valid = content_form.is_valid()
@@ -209,9 +210,9 @@
content, created = Content.safe_objects.get_or_create(iri_id=content_form.cleaned_data['iri_id'], defaults=content_defaults) #@UndefinedVariable
- if not created:
- content.save() # Check if user is allowed to change object before assigning permissions.
-
+ if not created and not request.user.has_perm('ldt_utils.change_content', content):
+ raise AttributeError("%s is not allowed to change content %s" % (request.user, content))
+
cached_assign('change_content', request.user, content)
cached_assign('view_content', request.user, content)
everyone = Group.objects.get(name=settings.PUBLIC_GROUP_NAME)
@@ -232,6 +233,7 @@
if request.user.is_staff and content_defaults.has_key('front_project'):
content.front_project = content_defaults['front_project']
+
content.save()
picture_form.model = content
picture_form.save()
@@ -247,6 +249,8 @@
initial = { 'media_input_type':"link"}
if instance_content:
initial['is_public'] = instance_content.is_public
+ else:
+ initial['is_public'] = False
content_form = ContentForm(prefix="content", instance=instance_content, initial=initial)
media_form = MediaForm(prefix="media", instance=instance_media)