# HG changeset patch # User verrierj # Date 1324048705 -3600 # Node ID e1980a7d4b837fb7a72ef153fecc653da02eb4d6 # Parent f78273a17bb36e5570f748e042261c0d5fade4de Fix bug when checking for add_group permission diff -r f78273a17bb3 -r e1980a7d4b83 src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/groups.html --- 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 @@
{% trans "My groups" %}
- {% if perms.auth.add_group %} + {% if can_add_group %} {% trans 'Create group' %} {% endif %}
diff -r f78273a17bb3 -r e1980a7d4b83 src/ldt/ldt/ldt_utils/views.py --- 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('

User %s can not create a group.

' % request.user.username) form_status = '' diff -r f78273a17bb3 -r e1980a7d4b83 src/ldt/ldt/security/utils.py --- 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: