165 if id_group > 0: |
165 if id_group > 0: |
166 grp = Group.objects.get(id=id_group) |
166 grp = Group.objects.get(id=id_group) |
167 project_list = get_objects_for_group(grp, 'ldt_utils.view_project').filter(query) |
167 project_list = get_objects_for_group(grp, 'ldt_utils.view_project').filter(query) |
168 show_username = True |
168 show_username = True |
169 else: |
169 else: |
170 project_list = Project.safe_objects.filter(query) #@UndefinedVariable |
170 project_list = Project.safe_objects.filter(query) |
171 |
171 |
172 project_list = add_change_attr(request.user, project_list) |
172 project_list = add_change_attr(request.user, project_list) |
173 # Template depends on the projects's status |
173 |
174 if status == 2: |
174 if status == 2: |
175 url_templ = "ldt/ldt_utils/partial/publishedprojectslist.html" |
175 url_templ = "ldt/ldt_utils/partial/publishedprojectslist.html" |
176 else: |
176 else: |
177 url_templ = "ldt/ldt_utils/partial/projectslist.html" |
177 url_templ = "ldt/ldt_utils/partial/projectslist.html" |
178 |
178 |
211 if filter: |
211 if filter: |
212 content_list = Content.safe_objects.filter(title__icontains=filter) #@UndefinedVariable |
212 content_list = Content.safe_objects.filter(title__icontains=filter) #@UndefinedVariable |
213 else: |
213 else: |
214 content_list = Content.safe_objects.all() #@UndefinedVariable |
214 content_list = Content.safe_objects.all() #@UndefinedVariable |
215 |
215 |
216 checker = ObjectPermissionChecker(request.user) |
216 content_list = add_change_attr(request.user, content_list) |
217 |
|
218 for c in content_list: |
|
219 if checker.has_perm('ldt_utils.change_content', c): |
|
220 c.change = True |
|
221 |
217 |
222 return render_to_response("ldt/ldt_utils/partial/contentslist.html", |
218 return render_to_response("ldt/ldt_utils/partial/contentslist.html", |
223 {'contents': content_list}, |
219 {'contents': content_list}, |
224 context_instance=RequestContext(request)) |
220 context_instance=RequestContext(request)) |
225 |
221 |
1090 cleaned_data['videopath'] = settings.STREAM_URL |
1086 cleaned_data['videopath'] = settings.STREAM_URL |
1091 mimetype = cleaned_data.get('mimetype_field', None) |
1087 mimetype = cleaned_data.get('mimetype_field', None) |
1092 if not mimetype: |
1088 if not mimetype: |
1093 mimetype = mimetypes.guess_type(cleaned_data['src']) |
1089 mimetype = mimetypes.guess_type(cleaned_data['src']) |
1094 cleaned_data['mimetype_field'] = mimetype |
1090 cleaned_data['mimetype_field'] = mimetype |
1095 media, created = Media.objects.get_or_create(src=cleaned_data['src'], defaults=cleaned_data) #@UndefinedVariable |
1091 media, created = Media.safe_objects.get_or_create(src=cleaned_data['src'], defaults=cleaned_data) #@UndefinedVariable |
1096 assign('view_media', request.user, media) |
1092 assign('view_media', request.user, media) |
1097 else: |
1093 else: |
1098 media = None |
1094 media = None |
1099 |
1095 |
1100 |
1096 |
1123 assign('view_content', request.user, content) |
1119 assign('view_content', request.user, content) |
1124 everyone = Group.objects.get(name=settings.PUBLIC_GROUP_NAME) |
1120 everyone = Group.objects.get(name=settings.PUBLIC_GROUP_NAME) |
1125 |
1121 |
1126 if content_form.cleaned_data['is_public']: |
1122 if content_form.cleaned_data['is_public']: |
1127 assign('view_content', everyone, content) |
1123 assign('view_content', everyone, content) |
|
1124 if media: |
|
1125 assign('view_media', everyone, media) |
1128 else: |
1126 else: |
1129 remove_perm('view_content', everyone, content) |
1127 remove_perm('view_content', everyone, content) |
1130 assign_perm_to_obj(content, content_form.cleaned_data['read_list'], content_form.cleaned_data['write_list'], request.user) |
1128 assign_perm_to_obj(content, content_form.cleaned_data['read_list'], content_form.cleaned_data['write_list'], request.user) |
|
1129 if media: |
|
1130 assign_perm_to_obj(media, content_form.cleaned_data['read_list'], content_form.cleaned_data['write_list'], request.user) |
1131 if not created: |
1131 if not created: |
1132 for attribute in ('iriurl', 'title', 'description', 'duration', 'content_creation_date', 'tags', 'media_obj'): |
1132 for attribute in ('iriurl', 'title', 'description', 'duration', 'content_creation_date', 'tags', 'media_obj'): |
1133 setattr(content, attribute, content_defaults[attribute]) |
1133 setattr(content, attribute, content_defaults[attribute]) |
1134 content.save() |
1134 content.save() |
1135 form_status = 'saved' |
1135 form_status = 'saved' |
1269 |
1269 |
1270 @login_required |
1270 @login_required |
1271 def get_group_projects(request): |
1271 def get_group_projects(request): |
1272 |
1272 |
1273 # Get group, user and project_list |
1273 # Get group, user and project_list |
1274 grp = Group.objects.get(id=request.POST["id_group"]) #@UndefinedVariable |
1274 grp = Group.objects.get(id=request.POST["id_group"]) |
1275 everyone = Group.objects.get(name=settings.PUBLIC_GROUP_NAME) |
1275 everyone = Group.objects.get(name=settings.PUBLIC_GROUP_NAME) |
1276 project_list = get_objects_for_group(grp, 'ldt_utils.view_project') | get_objects_for_group(everyone, 'ldt_utils.view_project').filter(owner__in=[grp]) |
1276 project_list = get_objects_for_group(grp, 'ldt_utils.view_project') | get_objects_for_group(everyone, 'ldt_utils.view_project').filter(owner__in=[grp]) |
1277 project_list = add_change_attr(request.user, project_list) |
1277 project_list = add_change_attr(request.user, project_list) |
1278 |
1278 |
1279 is_gecko = ((request.META['HTTP_USER_AGENT'].lower().find("firefox")) > -1); |
1279 is_gecko = ((request.META['HTTP_USER_AGENT'].lower().find("firefox")) > -1); |
1280 |
1280 |
1281 # render list |
|
1282 return render_to_response("ldt/ldt_utils/partial/projectslist.html", |
1281 return render_to_response("ldt/ldt_utils/partial/projectslist.html", |
1283 {'projects': project_list, 'show_username':True, |
1282 {'projects': project_list, 'show_username':True, |
1284 'is_gecko': is_gecko, 'group_id': grp.id}, |
1283 'is_gecko': is_gecko, 'group_id': grp.id}, |
1285 context_instance=RequestContext(request)) |
1284 context_instance=RequestContext(request)) |
1286 |
1285 |
1302 admin_list = form.cleaned_data['write_list'] |
1301 admin_list = form.cleaned_data['write_list'] |
1303 |
1302 |
1304 group = Group.objects.create(name=name) |
1303 group = Group.objects.create(name=name) |
1305 group.save() |
1304 group.save() |
1306 assign('change_group', request.user, group) |
1305 assign('change_group', request.user, group) |
1307 |
1306 request.user.groups.add(group) |
|
1307 |
1308 for elem in members_list: |
1308 for elem in members_list: |
1309 if hasattr(elem, 'username'): |
1309 if hasattr(elem, 'username'): |
1310 elem.groups.add(group) |
1310 elem.groups.add(group) |
1311 if elem in admin_list: |
1311 if elem in admin_list: |
1312 assign('change_group', elem, group) |
1312 assign('change_group', elem, group) |
1313 |
1313 |
1314 request.user.groups.add(group) |
|
1315 form_status = 'saved' |
1314 form_status = 'saved' |
1316 |
1315 |
1317 else: |
1316 else: |
1318 form = GroupAddForm() |
1317 form = GroupAddForm() |
1319 |
1318 |