Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
La Quadrature du Net
piphone
campaign
Commits
ff1fb676
Commit
ff1fb676
authored
Nov 22, 2014
by
Aymeric Barantal
Browse files
filter organizations admin models for related user organizations if not super_user
parent
c959aff1
Changes
2
Hide whitespace changes
Inline
Side-by-side
picampaign/organization/admin.py
View file @
ff1fb676
...
...
@@ -2,6 +2,34 @@ from django.contrib import admin
from
picampaign.organization.models
import
(
Organization
,
Group
,
FeedbackCategory
)
admin
.
site
.
register
(
Organization
)
admin
.
site
.
register
(
Group
)
admin
.
site
.
register
(
FeedbackCategory
)
class
OrganizationAdmin
(
admin
.
ModelAdmin
):
def
get_queryset
(
self
,
request
):
qs
=
super
(
OrganizationAdmin
,
self
).
get_queryset
(
request
)
if
request
.
user
.
is_superuser
:
return
qs
user_orgs
=
[
x
.
id
for
x
in
request
.
user
.
organizations
.
all
()]
return
qs
.
filter
(
id__in
=
user_orgs
)
class
GroupAdmin
(
admin
.
ModelAdmin
):
def
get_queryset
(
self
,
request
):
qs
=
super
(
GroupAdmin
,
self
).
get_queryset
(
request
)
if
request
.
user
.
is_superuser
:
return
qs
user_orgs
=
[
x
.
id
for
x
in
request
.
user
.
organizations
.
all
()]
return
qs
.
filter
(
organization__in
=
user_orgs
)
class
CategoryAdmin
(
admin
.
ModelAdmin
):
def
get_queryset
(
self
,
request
):
qs
=
super
(
CategoryAdmin
,
self
).
get_queryset
(
request
)
if
request
.
user
.
is_superuser
:
return
qs
user_orgs
=
[
x
.
id
for
x
in
request
.
user
.
organizations
.
all
()]
return
qs
.
filter
(
organization__in
=
user_orgs
)
admin
.
site
.
register
(
Organization
,
OrganizationAdmin
)
admin
.
site
.
register
(
Group
,
GroupAdmin
)
admin
.
site
.
register
(
FeedbackCategory
,
CategoryAdmin
)
picampaign/organization/models.py
View file @
ff1fb676
...
...
@@ -7,7 +7,8 @@ class Organization(models.Model):
id
=
models
.
AutoField
(
primary_key
=
True
)
name
=
models
.
CharField
(
max_length
=
64
)
sip_key
=
models
.
CharField
(
max_length
=
255
)
users
=
models
.
ManyToManyField
(
User
,
null
=
True
,
blank
=
True
)
users
=
models
.
ManyToManyField
(
User
,
null
=
True
,
blank
=
True
,
related_name
=
'organizations'
)
def
__unicode__
(
self
):
return
self
.
name
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment