def render_to_response(self, context, **response_kwargs): """If exporting, generate a csv.""" if 'export' in self.request.GET: data = Dataset() data.headers = ('Name', 'Messages', 'Threads', 'Replies', 'Posters', 'Flagged messages', 'Category', 'Tags', 'State', 'Members', 'Admins', 'Private', 'Published', 'Moderated', 'Featured', 'Member list published', 'Created', 'Created By', 'Photos', 'Photo clicks', 'Links', 'Link clicks') for group in self.get_queryset(): data.append( (group.group.name, group.message_count, group.thread_count, group.reply_count, group.posters, group.flagged, group.category.name, groups_tags_string([group]), group.state, group.member_count, group.owner_count, group.private, group.published, group.moderated, group.featured, group.member_list_published, group.created_at, group.created_by, group.image_count, group.image_clicks or 0, group.link_count, group.link_clicks or 0)) response = HttpResponse(data.csv, content_type='text/csv') response['Content-Disposition'] = 'attachment; filename=groups.csv' return response else: return super(GroupReportListView, self).render_to_response(context, **response_kwargs)
def render_to_response(self, context, **response_kwargs): """If exporting, generate a csv.""" if 'export' in self.request.GET: data = Dataset() data.headers = ( 'Name', 'Messages', 'Threads', 'Replies', 'Posters', 'Category', 'Tags', 'State', 'Members', 'Admins', 'Private', 'Published', 'Moderated', 'Featured', 'Member list published', 'Created', 'Created By' ) for group in self.get_queryset(): data.append(( group.group.name, group.message_count, group.thread_count, group.reply_count, group.posters, group.category.name, groups_tags_string([group]), group.state, group.member_count, group.owner_count, group.private, group.published, group.moderated, group.featured, group.member_list_published, group.created_at, group.created_by )) response = HttpResponse( data.csv, content_type='text/csv' ) response['Content-Disposition'] = 'attachment; filename=groups.csv' return response else: return super(GroupReportListView, self).render_to_response( context, **response_kwargs)
def test_groups_tags_string(self): """Should be a comma separated list of tags for the groups.""" self.group1.tags.add('moo', 'cow') self.group2.tags.add('moo', 'cold') self.group3.tags.add('hungry') groups_tags = groups_tags_string(self.groups) for tag in ['moo', 'cow', 'cold', 'hungry']: self.assertIn(tag, groups_tags)