31 from soc.logic import dicts |
31 from soc.logic import dicts |
32 from soc.logic import validate |
32 from soc.logic import validate |
33 from soc.logic.models import user as user_logic |
33 from soc.logic.models import user as user_logic |
34 from soc.views import helper |
34 from soc.views import helper |
35 from soc.views.helper import access |
35 from soc.views.helper import access |
|
36 from soc.views.helper import redirects |
36 from soc.views.models import base |
37 from soc.views.models import base |
37 |
38 |
38 import soc.models.document |
39 import soc.models.document |
39 import soc.logic.models.document |
40 import soc.logic.models.document |
40 import soc.logic.dicts |
41 import soc.logic.dicts |
140 form.fields['last_modified_by'].initial = entity.modified_by.name |
141 form.fields['last_modified_by'].initial = entity.modified_by.name |
141 form.fields['doc_key_name'].initial = entity.key().name() |
142 form.fields['doc_key_name'].initial = entity.key().name() |
142 |
143 |
143 super(View, self)._editGet(request, entity, form) |
144 super(View, self)._editGet(request, entity, form) |
144 |
145 |
|
146 def getMenusForScope(self, entity, params): |
|
147 """Returns the featured menu items for one specifc entity. |
|
148 |
|
149 A link to the home page of the specified entity is also included. |
|
150 |
|
151 Args: |
|
152 entity: the entity for which the entry should be constructed |
|
153 params: a dict with params for this View. |
|
154 """ |
|
155 |
|
156 filter = { |
|
157 'scope_path': entity.key().name(), |
|
158 'is_featured': True, |
|
159 } |
|
160 |
|
161 entities = self._logic.getForFields(filter) |
|
162 |
|
163 submenus = [] |
|
164 |
|
165 # add a link to the home page |
|
166 submenu = (redirects.getPublicRedirect(entity, params), "Home", 'public') |
|
167 submenus.append(submenu) |
|
168 |
|
169 # add a link to all featured documents |
|
170 for entity in entities: |
|
171 submenu = (redirects.getPublicRedirect(entity, self._params), |
|
172 entity.short_name, 'public') |
|
173 submenus.append(submenu) |
|
174 |
|
175 return submenus |
|
176 |
145 view = View() |
177 view = View() |
146 |
178 |
147 create = view.create |
179 create = view.create |
148 edit = view.edit |
180 edit = view.edit |
149 delete = view.delete |
181 delete = view.delete |