--- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/groups.html Fri Dec 16 14:47:18 2011 +0100
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/groups.html Fri Dec 16 16:18:25 2011 +0100
@@ -86,7 +86,7 @@
<div class="span-12 last titlediv" >
<div class="span-8 projectscontentstitle">{% trans "My groups" %}</div>
<div class="span-4 last searchfielddiv" >
- {% if perms.auth.add_group %}
+ {% if can_add_group %}
<a class="create_group" href="{% url ldt.ldt_utils.views.create_group %}"><img class='icon_title' src="{{LDT_MEDIA_PREFIX}}img/film_add.png" alt="{% trans 'Create group' %}" title="{% trans 'Create group' %}" /></a>
{% endif %}
</div>
--- a/src/ldt/ldt/ldt_utils/views.py Fri Dec 16 14:47:18 2011 +0100
+++ b/src/ldt/ldt/ldt_utils/views.py Fri Dec 16 16:18:25 2011 +0100
@@ -67,20 +67,17 @@
# get list of all published projects
group_list = request.user.groups.exclude(name=settings.PUBLIC_GROUP_NAME)
- checker = get_cached_checker(request.user)
- group_list = sorted(group_list.all(), key=lambda group: group.name.lower())
-
- for group in group_list:
- if checker.has_perm('change_group', group):
- group.change = True
+ group_list = sorted(group_list.all(), key=lambda group: group.name.lower())
+ group_list = add_change_attr(request.user, group_list)
+ can_add_group = True if request.user.user_permissions.filter(codename='add_group') else False
is_gecko = ((request.META['HTTP_USER_AGENT'].lower().find("firefox")) > -1);
-
# render list
return render_to_response("ldt/ldt_utils/groups.html",
{'groups': group_list,
- 'is_gecko': is_gecko},
+ 'is_gecko': is_gecko,
+ 'can_add_group': can_add_group},
context_instance=RequestContext(request))
@@ -231,11 +228,8 @@
group_list = group_list.exclude(name=settings.PUBLIC_GROUP_NAME)
group_list = sorted(group_list.all(), key=lambda group: group.name.lower())
- checker = get_cached_checker(request.user)
- for g in group_list:
- if checker.has_perm('change_group', g):
- g.change = True
-
+ group_list = add_change_attr(request.user, group_list)
+
return render_to_response("ldt/ldt_utils/partial/groupslist.html",
{'groups': group_list},
context_instance=RequestContext(request))
@@ -1287,7 +1281,7 @@
@login_required
def create_group(request):
- if not request.user.has_perm('auth.add_group'):
+ if not request.user.user_permissions.filter(codename='add_group'):
return HttpResponseServerError('<h1>User %s can not create a group.</h1>' % request.user.username)
form_status = ''
--- a/src/ldt/ldt/security/utils.py Fri Dec 16 14:47:18 2011 +0100
+++ b/src/ldt/ldt/security/utils.py Fri Dec 16 16:18:25 2011 +0100
@@ -102,7 +102,7 @@
ctype = ContentType.objects.get(model=model_name)
cls = ctype.model_class()
- if model_name in [cls_name.lower() for cls_name in settings.USE_GROUP_PERMISSIONS]:
+ if model_name in [cls_name.lower() for cls_name in settings.USE_GROUP_PERMISSIONS] or model_name == 'group':
to_check = True
change_list = get_objects_for_user(user, '%s.change_%s' % (cls._meta.app_label, model_name))
else: