def saved_emails_export(self, REQUEST=None, RESPONSE=None): """ Aggregate an xcel file from emails on disk (just like saved_emails does to populate the web page)""" if not REQUEST: RESPONSE.badRequestError("MALFORMED_URL") headers = REQUEST.form.get('headers') keys = REQUEST.form.get('keys') ids = REQUEST.form.get('id') if not headers or not keys: RESPONSE.badRequestError("MALFORMED_URL") headers = headers.split(',') keys = keys.split(',') if len(headers) != len(keys): RESPONSE.badRequestError("MALFORMED_URL") RESPONSE.setHeader('Content-Type', 'application/vnd.ms-excel') RESPONSE.setHeader('Content-Disposition', ('attachment; filename=' 'consultation_invitation_emails.xls')) cols = zip(headers, keys) return export_email_list_xcel(self.getSite(), cols, ids, where_to_read=path_in_site( self.get_consultation()))
def test_export_email_list_xcel(self, mock_get_bulk_emails): # TODO include datetime and cell limit in test cols = [ ('Subject', "subject"), ('Recipients', 'recipients'), ('onlyInRequest', 'onlyInRequest'), ] mock_get_bulk_emails.return_value = [{ 'subject': "bla", 'recipients': ['*****@*****.**', '*****@*****.**'], 'onlyInEmails': 'X', }] r = export_email_list_xcel(None, cols) expected = open(os.path.join( Globals.package_home(globals()), 'data/emailList.xls'), 'r').read() self.assertEqual(r, expected)
def test_export_email_list_xcel(self, mock_get_bulk_emails): # TODO include datetime and cell limit in test cols = [ ('Subject', "subject"), ('Recipients', 'recipients'), ('onlyInRequest', 'onlyInRequest'), ] mock_get_bulk_emails.return_value = [{ 'subject': "bla", 'recipients': ['*****@*****.**', '*****@*****.**'], 'onlyInEmails': 'X', }] r = export_email_list_xcel(None, cols) expected = open( os.path.join(Globals.package_home(globals()), 'data/emailList.xls'), 'r').read() self.assertEqual(r, expected)
def saved_emails_export(self, REQUEST=None, RESPONSE=None): """ Aggregate an xcel file from emails on disk (just like saved_emails does to populate the web page)""" if not REQUEST: RESPONSE.badRequestError("MALFORMED_URL") headers = REQUEST.form.get('headers') keys = REQUEST.form.get('keys') ids = REQUEST.form.get('id') if not headers or not keys: RESPONSE.badRequestError("MALFORMED_URL") headers = headers.split(',') keys = keys.split(',') if len(headers) != len(keys): RESPONSE.badRequestError("MALFORMED_URL") RESPONSE.setHeader('Content-Type', 'application/vnd.ms-excel') RESPONSE.setHeader('Content-Disposition', 'attachment; filename=meeting_email_list.xls') cols = zip(headers, keys) return export_email_list_xcel( self.getSite(), cols, ids, where_to_read=path_in_site(self.getMeeting()))