Skip to content
GitLab
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
b19fcb0c
Commit
b19fcb0c
authored
Nov 23, 2014
by
Aymeric Barantal
Browse files
filter available organization and campaign in admin forms
parent
82b2f88b
Changes
1
Hide whitespace changes
Inline
Side-by-side
picampaign/campaign/admin.py
View file @
b19fcb0c
from
django.contrib
import
admin
from
picampaign.campaign.models
import
(
Campaign
,
CampaignContact
,
Argumentary
)
from
picampaign.campaign.models
import
Campaign
,
CampaignContact
,
Argumentary
from
picampaign.organization.models
import
Organization
class
InlineContact
(
admin
.
TabularInline
):
...
...
@@ -17,6 +17,15 @@ class CampaignAdmin(admin.ModelAdmin):
user_orgs
=
[
x
.
id
for
x
in
request
.
user
.
organizations
.
all
()]
return
qs
.
filter
(
organization__in
=
user_orgs
)
def
formfield_for_foreignkey
(
self
,
db_field
,
request
,
**
kwargs
):
if
db_field
.
name
==
"organization"
:
query
=
{
'id__in'
:
[
x
.
id
for
x
in
request
.
user
.
organizations
.
all
()]}
kwargs
[
"queryset"
]
=
Organization
.
objects
.
filter
(
**
query
)
return
super
(
CampaignAdmin
,
self
).
formfield_for_foreignkey
(
db_field
,
request
,
**
kwargs
)
class
CampaignContactAdmin
(
admin
.
ModelAdmin
):
...
...
@@ -37,6 +46,16 @@ class ArgumentaryAdmin(admin.ModelAdmin):
user_orgs
=
[
x
.
id
for
x
in
request
.
user
.
organizations
.
all
()]
return
qs
.
filter
(
campaign__organization__in
=
user_orgs
)
def
formfield_for_foreignkey
(
self
,
db_field
,
request
,
**
kwargs
):
if
db_field
.
name
==
"campaign"
:
orgs
=
request
.
user
.
organizations
.
all
()
query
=
{
'organization__in'
:
orgs
}
print
"##### QUERY %r"
%
query
kwargs
[
"queryset"
]
=
Campaign
.
objects
.
filter
(
**
query
)
return
super
(
ArgumentaryAdmin
,
self
).
formfield_for_foreignkey
(
db_field
,
request
,
**
kwargs
)
admin
.
site
.
register
(
Campaign
,
CampaignAdmin
)
admin
.
site
.
register
(
CampaignContact
,
CampaignContactAdmin
)
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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