28 from django.utils.translation import ugettext_lazy |
28 from django.utils.translation import ugettext_lazy |
29 |
29 |
30 from soc.logic import cleaning |
30 from soc.logic import cleaning |
31 from soc.logic import dicts |
31 from soc.logic import dicts |
32 from soc.logic.models import sponsor as sponsor_logic |
32 from soc.logic.models import sponsor as sponsor_logic |
33 from soc.logic.models import document as document_logic |
|
34 from soc.views import helper |
33 from soc.views import helper |
35 from soc.views.helper import access |
34 from soc.views.helper import access |
36 from soc.views.helper import redirects |
35 from soc.views.helper import redirects |
37 from soc.views.models import base |
36 from soc.views.models import base |
38 from soc.views.models import sponsor as sponsor_view |
37 from soc.views.models import sponsor as sponsor_view |
39 from soc.views.models import document as document_view |
38 from soc.views.models import document as document_view |
|
39 from soc.views.sitemap import sidebar |
40 |
40 |
41 import soc.logic.models.program |
41 import soc.logic.models.program |
42 |
42 |
43 |
43 |
44 class View(base.View): |
44 class View(base.View): |
80 |
80 |
81 params = dicts.merge(params, new_params) |
81 params = dicts.merge(params, new_params) |
82 |
82 |
83 super(View, self).__init__(params=params) |
83 super(View, self).__init__(params=params) |
84 |
84 |
85 def _getItemsForProgram(self, entity, params): |
|
86 """Returns the menu items for one specifc program |
|
87 |
|
88 Args: |
|
89 entity: the program for which the entry should be constructed |
|
90 params: a dict with params for this View. |
|
91 """ |
|
92 |
|
93 filter = { |
|
94 'scope_path': entity.key().name(), |
|
95 'is_featured': True, |
|
96 } |
|
97 |
|
98 doc_params = document_view.view.getParams() |
|
99 entities = document_logic.logic.getForFields(filter) |
|
100 |
|
101 submenus = [] |
|
102 |
|
103 # add a link to the home page |
|
104 submenu = {} |
|
105 submenu['title'] = "Home" |
|
106 submenu['url'] = redirects.getPublicRedirect(entity, params) |
|
107 submenus.append(submenu) |
|
108 |
|
109 # add a link to all featured documents |
|
110 for entity in entities: |
|
111 submenu = {} |
|
112 submenu['title'] = entity.short_name |
|
113 submenu['url'] = redirects.getPublicRedirect(entity, doc_params) |
|
114 submenus.append(submenu) |
|
115 |
|
116 return submenus |
|
117 |
|
118 def getExtraMenus(self, request, params=None): |
85 def getExtraMenus(self, request, params=None): |
119 """Returns the extra menu's for this view. |
86 """Returns the extra menu's for this view. |
120 |
87 |
121 A menu item is generated for each program that is currently |
88 A menu item is generated for each program that is currently |
122 running. The public page for each program is added as menu item, |
89 running. The public page for each program is added as menu item, |