53 from soc.views.models import presence |
53 from soc.views.models import presence |
54 from soc.views.models import document as document_view |
54 from soc.views.models import document as document_view |
55 from soc.views.models import sponsor as sponsor_view |
55 from soc.views.models import sponsor as sponsor_view |
56 from soc.views.sitemap import sidebar |
56 from soc.views.sitemap import sidebar |
57 |
57 |
|
58 import soc.cache.logic |
58 import soc.logic.models.program |
59 import soc.logic.models.program |
59 import soc.models.work |
60 import soc.models.work |
60 |
61 |
61 |
62 |
62 class View(presence.View): |
63 class View(presence.View): |
223 |
224 |
224 description = self.DEF_CREATED_ORGS_MSG_FMT % fmt |
225 description = self.DEF_CREATED_ORGS_MSG_FMT % fmt |
225 |
226 |
226 filter['status'] = ['new', 'active'] |
227 filter['status'] = ['new', 'active'] |
227 |
228 |
228 from soc.views.models import organization as org_view |
229 from soc.views.models.organization import view as org_view |
229 ao_params = org_view.view.getParams().copy() # active orgs |
230 ao_params = org_view.getParams().copy() # active orgs |
230 |
231 ao_logic = ao_params['logic'] |
231 ao_params['list_action'] = (redirects.getPublicRedirect, ao_params) |
232 |
232 ao_params['list_description'] = description |
233 order = ['name'] |
233 |
234 |
234 ao_list = lists.getListContent(request, ao_params, filter, idx=1) |
235 if aa_list: |
|
236 fun = self._getData |
|
237 else: |
|
238 # only cache if all profiles are created |
|
239 fun = soc.cache.logic.cache(self._getData) |
|
240 entities = fun(ao_logic.getModel(), filter, order, ao_logic) |
|
241 |
|
242 ao_list = dicts.rename(ao_params, ao_params['list_params']) |
|
243 ao_list['action'] = (redirects.getPublicRedirect, ao_params) |
|
244 ao_list['description'] = description |
|
245 ao_list['pagination'] = 'soc/list/no_pagination.html' |
|
246 ao_list['data'] = entities |
|
247 |
235 contents.append(ao_list) |
248 contents.append(ao_list) |
236 |
249 |
237 return self._list(request, params, contents, page_name) |
250 return self._list(request, params, contents, page_name) |
238 |
251 |
239 @decorators.merge_params |
252 @decorators.merge_params |