Skip to content

Commit

Permalink
Refs django#720 -- Allowed staff users to edit bios and teams.
Browse files Browse the repository at this point in the history
  • Loading branch information
timgraham committed Mar 14, 2017
1 parent 747e65b commit 652765e
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 1 deletion.
6 changes: 6 additions & 0 deletions members/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,9 @@ class IndividualMemberAdmin(MarkdownxModelAdmin):
]
search_fields = ['name']

def has_change_permission(self, request, obj=None):
return request.user.is_staff


class InvoiceInline(admin.TabularInline):
model = Invoice
Expand Down Expand Up @@ -106,3 +109,6 @@ def membership_expires(self, obj):
class TeamAdmin(admin.ModelAdmin):
filter_horizontal = ['members']
prepopulated_fields = {'slug': ('name',)}

def has_change_permission(self, request, obj=None):
return request.user.is_staff
26 changes: 25 additions & 1 deletion members/test_admin.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
from datetime import date, timedelta

from django.contrib import admin
from django.contrib.auth.models import User
from django.http import HttpRequest
from django.test import TestCase

from .admin import CorporateMemberAdmin, StatusFilter
from .models import CorporateMember
from .models import CorporateMember, IndividualMember, Team


class CorporateMemberAdminTests(TestCase):
Expand Down Expand Up @@ -85,3 +87,25 @@ def get_query_string(self, *args):
{'display': 'All', 'query_string': '', 'selected': False},
]
)


class IndividualMemberTests(TestCase):

def test_has_change_permission(self):
user = User.objects.create()
request = HttpRequest()
request.user = user
self.assertIs(admin.site._registry[IndividualMember].has_change_permission(request), False)
user.is_staff = True
self.assertIs(admin.site._registry[IndividualMember].has_change_permission(request), True)


class TeamTests(TestCase):

def test_has_change_permission(self):
user = User.objects.create()
request = HttpRequest()
request.user = user
self.assertIs(admin.site._registry[Team].has_change_permission(request), False)
user.is_staff = True
self.assertIs(admin.site._registry[Team].has_change_permission(request), True)

0 comments on commit 652765e

Please sign in to comment.