Changeset f23bc9a for asadb/groups
- Timestamp:
- Mar 31, 2012, 5:08:15 PM (14 years ago)
- Branches:
- master, space-access, stable, stage
- Children:
- 1b10de0
- Parents:
- 6f85f2a
- git-author:
- Alex Dehnert <adehnert@…> (03/31/12 17:08:15)
- git-committer:
- Alex Dehnert <adehnert@…> (03/31/12 17:08:15)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
asadb/groups/views.py
r6f85f2a rf23bc9a 2 2 3 3 import collections 4 import csv 4 5 import datetime 5 6 … … 14 15 from django.template import Context, Template 15 16 from django.template.loader import get_template 16 from django.http import Http 404, HttpResponseRedirect17 from django.http import HttpResponse, Http404, HttpResponseRedirect 17 18 from django.core.urlresolvers import reverse 18 19 from django.core.mail import EmailMessage, mail_admins … … 787 788 ) 788 789 790 _format_choices = [ 791 ('html/inline', "Web (HTML)", ), 792 ('csv/inline', "Spreadsheet (CSV) --- in browser", ), 793 ('csv/download', "Spreadsheet (CSV) --- download", ), 794 ] 795 output_format = forms.fields.ChoiceField(choices=_format_choices, widget=forms.RadioSelect, initial='html') 796 789 797 class Meta: 790 798 fieldsets = [ … … 793 801 'fields': ['name', 'abbreviation', 'activity_category', 'group_class', 'group_status', 'group_funding', ], 794 802 }), 795 (' display', {803 ('fields', { 796 804 'legend': 'Data to display', 797 805 'fields': ['basic_fields', ], 806 }), 807 ('final', { 808 'legend': 'Final options', 809 'fields': ['output_format', ], 798 810 }), 799 811 ] … … 817 829 if run_report: 818 830 basic_fields = form.cleaned_data['basic_fields'] 831 output_format, output_disposition = form.cleaned_data['output_format'].split('/') 819 832 col_labels = [form.basic_fields_labels[field] for field in basic_fields] 820 833 for group in groups_filterset.qs: 821 834 group_data = [getattr(group, field) for field in basic_fields] 822 835 report_groups.append(group_data) 823 else: 824 pass 836 837 if output_format == 'csv': 838 if output_disposition == 'download': 839 mimetype = 'text/csv' 840 else: 841 # Firefox, at least, downloads text/csv regardless 842 mimetype = 'text/plain' 843 response = HttpResponse(mimetype=mimetype) 844 if output_disposition == 'download': 845 response['Content-Disposition'] = 'attachment; filename=asa-db-report.csv' 846 writer = csv.writer(response) 847 writer.writerow(col_labels) 848 for row in report_groups: writer.writerow(row) 849 return response 825 850 826 851 context = {
Note: See TracChangeset
for help on using the changeset viewer.