src/ldt/ldt/ldt_utils/views.py
changeset 266 a35924820af7
parent 265 491d057cbfd2
child 267 e00779f0dcba
--- a/src/ldt/ldt/ldt_utils/views.py	Thu Dec 01 14:49:10 2011 +0100
+++ b/src/ldt/ldt/ldt_utils/views.py	Fri Dec 02 10:50:35 2011 +0100
@@ -1134,7 +1134,8 @@
                     mimetype = mimetypes.guess_type(media.src)
                 media.mimetype_field = mimetype   
                 media.save()                
-                assign('view_media', request.user, media) 
+                assign('view_media', request.user, media)
+                assign('change_media', request.user, media) 
             
             if form_status != "error":     
                 content_defaults = {}
@@ -1146,7 +1147,12 @@
                 
                 assign('change_content', request.user, content)
                 assign('view_content', request.user, content)
-                assign_object_to_groups(content, group_form.cleaned_data)                
+                everyone = Group.objects.get(name=settings.PUBLIC_GROUP_NAME)
+                if content_form.cleaned_data['is_public']:
+                    assign('view_content', everyone, content)
+                else:
+                    remove_perm('view_content', everyone, content)
+                    assign_object_to_groups(content, group_form.cleaned_data)                
                 if not created:
                     for attribute in ('iriurl', 'title', 'description', 'duration', 'content_creation_date', 'tags', 'media_obj'):
                         setattr(content, attribute, content_defaults[attribute])
@@ -1159,6 +1165,8 @@
     else:
         form_status = 'empty'
         initial = { 'media_input_type':"link"}
+        if instance_content:
+            initial['is_public'] = instance_content.is_public
         
         content_form = ContentForm(prefix="content", instance=instance_content, initial=initial)
         media_form = MediaForm(prefix="media", instance=instance_media)  
@@ -1218,7 +1226,8 @@
     session_key = request.COOKIES[settings.SESSION_COOKIE_NAME]
     cookie_name = settings.SESSION_COOKIE_NAME 
     
-    content_form.fields["media_obj"].queryset = Media.safe_objects.all() 
+    
+    content_form.fields["media_obj"].queryset = Media.safe_objects.all()
     
     return render_to_response('ldt/ldt_utils/create_content.html', {'content_form': content_form, 'media_form': media_form, 'form_status': form_status, 'create_content_action': create_content_action,
                                                                     'management_form': management_form, 'group_form': group_form, 'iri_id': iri_id, 'session_key':session_key, 'cookie_name':cookie_name}, context_instance=RequestContext(request))