--- 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 @@
<div id="moreoptions">{% trans 'More options' %}</div>
<div id="moreoptionscontainer" style="display: none;">
- <div>
+
{% if iri_id and user.is_staff %}
- {{ content_form.front_project.label_tag }}{{ content_form.front_project }}
+ <div>{{ content_form.front_project.label_tag }}{{ content_form.front_project }}</div>
+ {% else %}
+ <div style="display:none">{{ content_form.front_project }}</div>
{% endif %}
- </div>
{% include "ldt/ldt_utils/partial/picture.html"%}
{% include "ldt/ldt_utils/partial/permissions.html" %}
</div>
--- 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)