backoffice: don't retrieve formdefs twice in management view (#21949)
This commit is contained in:
parent
9f2461265f
commit
b0ecbc544f
|
@ -450,7 +450,8 @@ class ManagementDirectory(Directory):
|
|||
|
||||
def forms(self):
|
||||
html_top('management', _('Management'))
|
||||
get_response().filter['sidebar'] = self.get_sidebar()
|
||||
formdefs = FormDef.select(order_by='name', ignore_errors=True)
|
||||
get_response().filter['sidebar'] = self.get_sidebar(formdefs)
|
||||
r = TemplateIO(html=True)
|
||||
r += get_session().display_message()
|
||||
|
||||
|
@ -470,7 +471,7 @@ class ManagementDirectory(Directory):
|
|||
forms_with_pending_stuff.append((formdef, waiting_forms_count, count_forms))
|
||||
|
||||
if user:
|
||||
for formdef in FormDef.select(order_by='name', ignore_errors=True):
|
||||
for formdef in formdefs:
|
||||
if formdef.disabled:
|
||||
continue
|
||||
if user.is_admin or formdef.is_of_concern_for_user(user):
|
||||
|
@ -490,7 +491,7 @@ class ManagementDirectory(Directory):
|
|||
|
||||
return r.getvalue()
|
||||
|
||||
def get_sidebar(self):
|
||||
def get_sidebar(self, formdefs):
|
||||
r = TemplateIO(html=True)
|
||||
r += htmltext('<div class="bo-block">')
|
||||
r += htmltext('<ul id="sidebar-actions">')
|
||||
|
@ -499,7 +500,7 @@ class ManagementDirectory(Directory):
|
|||
get_publisher().get_site_option('postgresql_views') != 'false':
|
||||
r += htmltext('<li><a href="listing">%s</a></li>') % _('Global View')
|
||||
r += htmltext('<li><a href="users/">%s</a></li>') % _('Per User View')
|
||||
for formdef in FormDef.select():
|
||||
for formdef in formdefs:
|
||||
if formdef.geolocations:
|
||||
r += htmltext('<li><a href="map">%s</a>') % _('Map View')
|
||||
break
|
||||
|
|
Loading…
Reference in New Issue