class BaseAcknowledged(object): result = None exportFields = Fields(IPrincipalExported).select( 'title', 'firstname', 'lastname', 'email') filename = 'Acknowledged.csv' def __call__(self): request = self.request excel = self.prepare() if excel: request.response.setHeader('Content-Type', 'text/csv') request.response.setHeader( 'Content-Disposition', 'attachment; filename=%s' % self.filename) return excel IStatusMessage(request).add(_("No results")) request.response.redirect(absoluteURL(self.context, request)) return def export(self, data): res = StringIO.StringIO() fields = self.exportFields.items() names = [value.field.title for key, value in fields] + \ [u'Location', u'Department', u'Manager'] writer = csv.writer(res, delimiter=';') writer.writerow(names) for value in data: location = value.getProfileData().get('location') department = value.getProfileData().get('department') manager = value.getProfileData().get('manager') writer.writerow( [unicode(getattr(value, fname, '') or '') for fname, field in fields] + [location, department, manager]) res.seek(0) return res.read()
class AcknowledgementEditForm(PageletEditSubForm): fields = Fields(IContentAcknowledgement)