author | Sverre Rabbelier <srabbelier@gmail.com> |
Thu, 27 Nov 2008 23:41:08 +0000 | |
changeset 599 | 32a30f609530 |
parent 589 | ee9122db04af |
child 614 | 53a3e46fc512 |
permissions | -rw-r--r-- |
493
6976c4d8d0ac
Refactor the sidebar to use Django templates
Sverre Rabbelier <srabbelier@gmail.com>
parents:
284
diff
changeset
|
1 |
#!/usr/bin/python2.5 |
6976c4d8d0ac
Refactor the sidebar to use Django templates
Sverre Rabbelier <srabbelier@gmail.com>
parents:
284
diff
changeset
|
2 |
# |
31
8b43c541afa7
First iteration of a "prototype" Melange app, along with an initial Person
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
3 |
# Copyright 2008 the Melange authors. |
8b43c541afa7
First iteration of a "prototype" Melange app, along with an initial Person
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
4 |
# |
8b43c541afa7
First iteration of a "prototype" Melange app, along with an initial Person
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
5 |
# Licensed under the Apache License, Version 2.0 (the "License"); |
8b43c541afa7
First iteration of a "prototype" Melange app, along with an initial Person
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
6 |
# you may not use this file except in compliance with the License. |
8b43c541afa7
First iteration of a "prototype" Melange app, along with an initial Person
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
7 |
# You may obtain a copy of the License at |
8b43c541afa7
First iteration of a "prototype" Melange app, along with an initial Person
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
8 |
# |
493
6976c4d8d0ac
Refactor the sidebar to use Django templates
Sverre Rabbelier <srabbelier@gmail.com>
parents:
284
diff
changeset
|
9 |
# http://www.apache.org/licenses/LICENSE-2.0 |
31
8b43c541afa7
First iteration of a "prototype" Melange app, along with an initial Person
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
10 |
# |
8b43c541afa7
First iteration of a "prototype" Melange app, along with an initial Person
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
11 |
# Unless required by applicable law or agreed to in writing, software |
8b43c541afa7
First iteration of a "prototype" Melange app, along with an initial Person
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
12 |
# distributed under the License is distributed on an "AS IS" BASIS, |
8b43c541afa7
First iteration of a "prototype" Melange app, along with an initial Person
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
13 |
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
8b43c541afa7
First iteration of a "prototype" Melange app, along with an initial Person
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
14 |
# See the License for the specific language governing permissions and |
8b43c541afa7
First iteration of a "prototype" Melange app, along with an initial Person
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
15 |
# limitations under the License. |
8b43c541afa7
First iteration of a "prototype" Melange app, along with an initial Person
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
16 |
|
493
6976c4d8d0ac
Refactor the sidebar to use Django templates
Sverre Rabbelier <srabbelier@gmail.com>
parents:
284
diff
changeset
|
17 |
"""Sidebar |
6976c4d8d0ac
Refactor the sidebar to use Django templates
Sverre Rabbelier <srabbelier@gmail.com>
parents:
284
diff
changeset
|
18 |
""" |
6976c4d8d0ac
Refactor the sidebar to use Django templates
Sverre Rabbelier <srabbelier@gmail.com>
parents:
284
diff
changeset
|
19 |
|
31
8b43c541afa7
First iteration of a "prototype" Melange app, along with an initial Person
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
20 |
__authors__ = [ |
493
6976c4d8d0ac
Refactor the sidebar to use Django templates
Sverre Rabbelier <srabbelier@gmail.com>
parents:
284
diff
changeset
|
21 |
'"Sverre Rabbelier" <sverre@rabbelier.nl>', |
31
8b43c541afa7
First iteration of a "prototype" Melange app, along with an initial Person
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
22 |
] |
8b43c541afa7
First iteration of a "prototype" Melange app, along with an initial Person
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
23 |
|
8b43c541afa7
First iteration of a "prototype" Melange app, along with an initial Person
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
24 |
|
493
6976c4d8d0ac
Refactor the sidebar to use Django templates
Sverre Rabbelier <srabbelier@gmail.com>
parents:
284
diff
changeset
|
25 |
SIDEBAR = [] |
226
a92b11181a49
Update some of the URL patterns to get their link_name parsing from the new
Todd Larsen <tlarsen@google.com>
parents:
205
diff
changeset
|
26 |
|
31
8b43c541afa7
First iteration of a "prototype" Melange app, along with an initial Person
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
27 |
|
585
903890857ed8
Have the sidebar be rebuilt on every request with callbacks
Sverre Rabbelier <srabbelier@gmail.com>
parents:
493
diff
changeset
|
28 |
def addMenu(callback): |
493
6976c4d8d0ac
Refactor the sidebar to use Django templates
Sverre Rabbelier <srabbelier@gmail.com>
parents:
284
diff
changeset
|
29 |
global SIDEBAR |
585
903890857ed8
Have the sidebar be rebuilt on every request with callbacks
Sverre Rabbelier <srabbelier@gmail.com>
parents:
493
diff
changeset
|
30 |
SIDEBAR.append(callback) |
903890857ed8
Have the sidebar be rebuilt on every request with callbacks
Sverre Rabbelier <srabbelier@gmail.com>
parents:
493
diff
changeset
|
31 |
|
586
a4a36b06a870
Make the sidebar dynamic depending on the user's rights
Sverre Rabbelier <srabbelier@gmail.com>
parents:
585
diff
changeset
|
32 |
def getSidebar(request): |
585
903890857ed8
Have the sidebar be rebuilt on every request with callbacks
Sverre Rabbelier <srabbelier@gmail.com>
parents:
493
diff
changeset
|
33 |
sidebar = [] |
903890857ed8
Have the sidebar be rebuilt on every request with callbacks
Sverre Rabbelier <srabbelier@gmail.com>
parents:
493
diff
changeset
|
34 |
|
903890857ed8
Have the sidebar be rebuilt on every request with callbacks
Sverre Rabbelier <srabbelier@gmail.com>
parents:
493
diff
changeset
|
35 |
for callback in SIDEBAR: |
586
a4a36b06a870
Make the sidebar dynamic depending on the user's rights
Sverre Rabbelier <srabbelier@gmail.com>
parents:
585
diff
changeset
|
36 |
menu = callback(request) |
589
ee9122db04af
Fixes empty spaces appearing in the menu if a person is not allowed to see this menu or if no menu is defined.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
586
diff
changeset
|
37 |
|
ee9122db04af
Fixes empty spaces appearing in the menu if a person is not allowed to see this menu or if no menu is defined.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
586
diff
changeset
|
38 |
if menu: |
ee9122db04af
Fixes empty spaces appearing in the menu if a person is not allowed to see this menu or if no menu is defined.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
586
diff
changeset
|
39 |
# only if there is a menu we should append it |
ee9122db04af
Fixes empty spaces appearing in the menu if a person is not allowed to see this menu or if no menu is defined.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
586
diff
changeset
|
40 |
sidebar.append(menu) |
585
903890857ed8
Have the sidebar be rebuilt on every request with callbacks
Sverre Rabbelier <srabbelier@gmail.com>
parents:
493
diff
changeset
|
41 |
|
903890857ed8
Have the sidebar be rebuilt on every request with callbacks
Sverre Rabbelier <srabbelier@gmail.com>
parents:
493
diff
changeset
|
42 |
return sidebar |