app/soc/views/models/program.py
changeset 1959 e6644c70e408
parent 1940 609128cc37f7
child 1966 fcf246b379a7
equal deleted inserted replaced
1958:8e8f45dd46e3 1959:e6644c70e408
    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