export afterjob: fix listing exports in after jobs (#3390)
This commit is contained in:
parent
ea105138fc
commit
fd6acd165f
|
@ -382,6 +382,7 @@ class FormPage(Directory):
|
|||
def csv(self):
|
||||
fields = self.get_fields_from_query()
|
||||
selected_filter = self.get_filter_from_query()
|
||||
user = get_request().user
|
||||
|
||||
class Exporter:
|
||||
def __init__(self, formpage, formdef, fields, selected_filter):
|
||||
|
@ -396,7 +397,8 @@ class FormPage(Directory):
|
|||
|
||||
csv_output.writerow(self.formpage.csv_tuple_heading(self.fields))
|
||||
|
||||
items, total_count = FormDefUI(self.formdef).get_listing_items(self.selected_filter)
|
||||
items, total_count = FormDefUI(self.formdef).get_listing_items(
|
||||
self.selected_filter, user = user)
|
||||
|
||||
for filled in items:
|
||||
csv_output.writerow(self.formpage.csv_tuple(self.fields, filled))
|
||||
|
@ -471,6 +473,7 @@ class FormPage(Directory):
|
|||
|
||||
fields = self.get_fields_from_query()
|
||||
selected_filter = self.get_filter_from_query()
|
||||
user = get_request().user
|
||||
|
||||
class Exporter:
|
||||
def __init__(self, formpage, formdef, fields, selected_filter):
|
||||
|
@ -486,7 +489,8 @@ class FormPage(Directory):
|
|||
for i, f in enumerate(self.formpage.csv_tuple_heading(self.fields)):
|
||||
ws.write(0, i, f)
|
||||
|
||||
items, total_count = FormDefUI(self.formdef).get_listing_items(self.selected_filter)
|
||||
items, total_count = FormDefUI(self.formdef).get_listing_items(
|
||||
self.selected_filter, user = user)
|
||||
|
||||
for i, filled in enumerate(items):
|
||||
for j, elem in enumerate(self.formpage.csv_tuple(fields, filled)):
|
||||
|
@ -521,6 +525,7 @@ class FormPage(Directory):
|
|||
def ods(self):
|
||||
fields = self.get_fields_from_query()
|
||||
selected_filter = self.get_filter_from_query()
|
||||
user = get_request().user
|
||||
|
||||
class Exporter:
|
||||
def __init__(self, formpage, formdef, fields, selected_filter):
|
||||
|
@ -536,7 +541,8 @@ class FormPage(Directory):
|
|||
for i, f in enumerate(self.formpage.csv_tuple_heading(self.fields)):
|
||||
ws.write(0, i, f)
|
||||
|
||||
items, total_count = FormDefUI(self.formdef).get_listing_items(self.selected_filter)
|
||||
items, total_count = FormDefUI(self.formdef).get_listing_items(
|
||||
self.selected_filter, user = user)
|
||||
|
||||
for i, filled in enumerate(items):
|
||||
for j, elem in enumerate(self.formpage.csv_tuple(fields, filled, hint='ods')):
|
||||
|
|
|
@ -121,7 +121,8 @@ class FormDefUI:
|
|||
_('Next Page')
|
||||
'</div>'
|
||||
|
||||
def get_listing_items(self, selected_filter='all', offset=None, count=None, query=None):
|
||||
def get_listing_items(self, selected_filter='all', offset=None,
|
||||
count=None, query=None, user=None):
|
||||
if selected_filter == 'all':
|
||||
item_ids = self.formdef.data_class().keys()
|
||||
else:
|
||||
|
@ -160,7 +161,8 @@ class FormDefUI:
|
|||
items.reverse()
|
||||
|
||||
# XXX: this will 1) break the offset/count support, and 2) kill performance
|
||||
items = [x for x in items if self.formdef.is_user_allowed_read(get_request().user, x)]
|
||||
user = user or get_request().user
|
||||
items = [x for x in items if self.formdef.is_user_allowed_read(user, x)]
|
||||
|
||||
return (items, total_count)
|
||||
|
||||
|
|
Loading…
Reference in New Issue