backoffice: don't retrieve formdefs twice in management view (#21949)

This commit is contained in:
Frédéric Péters 2018-02-18 14:30:50 +01:00
parent 9f2461265f
commit b0ecbc544f
1 changed files with 5 additions and 4 deletions

View File

@ -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