Ejemplo n.º 1
0
    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)
Ejemplo n.º 2
0
    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)
Ejemplo n.º 3
0
 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)
Ejemplo n.º 4
0
 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)