def get(self, request, *args, **kwargs): object_list = self.get_queryset() if not can_download_changes(request.user, self.project): raise PermissionDenied() # Always output in english activate('en') response = HttpResponse(content_type='text/csv; charset=utf-8') response['Content-Disposition'] = 'attachment; filename=changes.csv' writer = csv.writer(response) # Add header writer.writerow(('timestamp', 'action', 'user', 'url')) for change in object_list[:2000].iterator(): writer.writerow(( change.timestamp.isoformat(), change.get_action_display().encode('utf8'), change.user.username.encode('utf8') if change.user else '', change.get_absolute_url(), )) return response
def get(self, request, *args, **kwargs): object_list = self.get_queryset() if not can_download_changes(request.user, self.project): raise PermissionDenied() # Always output in english activate("en") response = HttpResponse(content_type="text/csv; charset=utf-8") response["Content-Disposition"] = "attachment; filename=changes.csv" writer = csv.writer(response) # Add header writer.writerow(("timestamp", "action", "user", "url")) for change in object_list[:2000].iterator(): writer.writerow( ( change.timestamp.isoformat(), change.get_action_display().encode("utf8"), change.user.username.encode("utf8") if change.user else "", change.get_absolute_url(), ) ) return response