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
thalia
concrexit
Commits
47982138
Unverified
Commit
47982138
authored
Feb 03, 2017
by
Thom Wiggers
📐
Browse files
Document partner showcase sequence generation
parent
74071d81
Changes
1
Hide whitespace changes
Inline
Side-by-side
website/partners/context_processors.py
View file @
47982138
...
...
@@ -4,6 +4,15 @@ from partners.models import Partner
def
showcased_partners
(
request
):
"""
Generate a sequence of showcased partners (banners)
For each user we generate a sequence of banners. This sequence
is then stored for that user, because doing it randomly creates
a feel of an artificial 'bias' towards certain sponsors. Doing
it this way ensures that everyone gets an exactly fair number of
views.
"""
all_partners
=
Partner
.
objects
.
filter
(
is_active
=
True
).
order_by
(
'id'
)
ids
=
[
partner
.
id
for
partner
in
all_partners
]
...
...
@@ -11,6 +20,7 @@ def showcased_partners(request):
if
(
'partner_sequence'
not
in
request
.
session
or
'partner_ids'
not
in
request
.
session
or
request
.
session
[
'partner_ids'
]
!=
ids
):
# Store a list of partner ids to allow checking for changes in partners
request
.
session
[
'partner_ids'
]
=
ids
request
.
session
[
'partner_sequence'
]
=
sample
(
ids
,
len
(
ids
))
...
...
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