Index: extensions/ExportCsvActions.py ================================================================== --- extensions/ExportCsvActions.py +++ extensions/ExportCsvActions.py @@ -137,15 +137,17 @@ for col in columns: # check permission to view this property on this item # TODO: Permission filter doesn't work for the 'user' class if not self.hasPermission(self.permissionType, itemid=itemid, classname=request.classname, property=col): - represent[col] = repr_no_right(request.classname, col) - row.append(represent[col](klass.get(itemid, col))) + repr_function = repr_no_right(request.classname, col) + else: + repr_function=represent[col] + row.append(repr_function(klass.get(itemid, col))) self.client._socket_op(writer.writerow, row) return '\n' def init(instance): instance.registerAction('export_csv_names', ExportCSVNamesAction) instance.registerAction('export_csv', ExportCSVNamesAction) # vim: set filetype=python sts=4 sw=4 et si Index: extensions/ExportCsvActions.py ================================================================== --- extensions/ExportCsvActions.py +++ extensions/ExportCsvActions.py @@ -132,10 +132,15 @@ # generate the CSV output self.client._socket_op(writer.writerow, columns) # and search for itemid in klass.filter(matches, filterspec, sort, group): row = [] + # do not put out a row if the issue is not visible + if not self.hasPermission(self.permissionType, itemid=itemid, + classname=request.classname): + continue + for col in columns: # check permission to view this property on this item # TODO: Permission filter doesn't work for the 'user' class if not self.hasPermission(self.permissionType, itemid=itemid, classname=request.classname, property=col):