209 |
209 |
210 content, created = Content.safe_objects.get_or_create(iri_id=content_form.cleaned_data['iri_id'], defaults=content_defaults) #@UndefinedVariable |
210 content, created = Content.safe_objects.get_or_create(iri_id=content_form.cleaned_data['iri_id'], defaults=content_defaults) #@UndefinedVariable |
211 |
211 |
212 if not created: |
212 if not created: |
213 content.save() # Check if user is allowed to change object before assigning permissions. |
213 content.save() # Check if user is allowed to change object before assigning permissions. |
|
214 |
214 cached_assign('change_content', request.user, content) |
215 cached_assign('change_content', request.user, content) |
215 cached_assign('view_content', request.user, content) |
216 cached_assign('view_content', request.user, content) |
216 everyone = Group.objects.get(name=settings.PUBLIC_GROUP_NAME) |
217 everyone = Group.objects.get(name=settings.PUBLIC_GROUP_NAME) |
|
218 print content_form.cleaned_data |
|
219 |
217 if content_form.cleaned_data['is_public']: |
220 if content_form.cleaned_data['is_public']: |
218 cached_assign('view_content', everyone, content) |
221 cached_assign('view_content', everyone, content) |
219 if media: |
222 if media: |
220 cached_assign('view_media', everyone, media) |
223 cached_assign('view_media', everyone, media) |
221 elif content_form.cleaned_data["share"]: |
224 else: |
222 remove_perm('view_content', everyone, content) |
225 remove_perm('view_content', everyone, content) |
|
226 remove_perm('view_media', everyone, media) |
223 assign_perm_to_obj(content, content_form.cleaned_data['read_list'], content_form.cleaned_data['write_list'], request.user) |
227 assign_perm_to_obj(content, content_form.cleaned_data['read_list'], content_form.cleaned_data['write_list'], request.user) |
224 if media: |
228 if media: |
225 assign_perm_to_obj(media, content_form.cleaned_data['read_list'], content_form.cleaned_data['write_list'], request.user) |
229 assign_perm_to_obj(media, content_form.cleaned_data['read_list'], content_form.cleaned_data['write_list'], request.user) |
226 if not created: |
230 if not created: |
227 for attribute in ('iriurl', 'title', 'description', 'duration', 'content_creation_date', 'tags', 'media_obj'): |
231 for attribute in ('iriurl', 'title', 'description', 'duration', 'content_creation_date', 'tags', 'media_obj'): |
228 setattr(content, attribute, content_defaults[attribute]) |
232 setattr(content, attribute, content_defaults[attribute]) |
229 |
233 |
230 if request.user.is_staff and content_defaults.has_key('front_project'): |
234 if request.user.is_staff and content_defaults.has_key('front_project'): |
231 content.front_project = content_defaults['front_project'] |
235 content.front_project = content_defaults['front_project'] |
232 content.save() |
236 content.save() |
233 |
|
234 picture_form.model = content |
237 picture_form.model = content |
235 picture_form.save() |
238 picture_form.save() |
236 |
239 |
237 form_status = 'saved' |
240 form_status = 'saved' |
238 media_form = MediaForm(instance=media, prefix="media") |
241 media_form = MediaForm(instance=media, prefix="media") |