Changeset 8708a86
- Timestamp:
- Mar 31, 2012, 3:12:55 PM (14 years ago)
- Branches:
- master, space-access, stable, stage
- Children:
- 747c960
- Parents:
- d1a4706
- git-author:
- Alex Dehnert <adehnert@…> (03/31/12 06:06:20)
- git-committer:
- Alex Dehnert <adehnert@…> (03/31/12 15:12:55)
- Location:
- asadb
- Files:
-
- 1 added
- 4 edited
-
groups/models.py (modified) (1 diff)
-
groups/urls.py (modified) (1 diff)
-
groups/views.py (modified) (1 diff)
-
template/groups/reporting.html (added)
-
template/index.html (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
asadb/groups/models.py
rfd5cc07 r8708a86 97 97 def __str__(self, ): 98 98 return self.name 99 100 @classmethod 101 def reporting_fields(cls, ): 102 fields = cls._meta.fields 103 return [(f.name, f.verbose_name) for f in fields] 99 104 100 105 class Meta: -
asadb/groups/urls.py
raa2aa58 r8708a86 18 18 url(r'^recognize/nge/$', groups.views.recognize_nge, name='recognize-nge', ), 19 19 url(r'^search/$', groups.views.search_groups, name='search', ), 20 url(r'^reporting/$', groups.views.reporting, name='reporting', ), 20 21 url(r'^recent_changes/$', groups.views.GroupHistoryView.as_view(), name='manage-history', ), 21 22 url(r'^signatories/$', groups.views.view_signatories, name='signatories', ), -
asadb/groups/views.py
rd1a4706 r8708a86 782 782 return render_to_response('groups/group_search.html', context, context_instance=RequestContext(request), ) 783 783 784 class ReportingForm(form_utils.forms.BetterForm): 785 _basic_fields = groups.models.Group.reporting_fields() 786 basic_fields_labels = dict(_basic_fields) # name -> verbose_name 787 basic_fields = forms.fields.MultipleChoiceField(choices=_basic_fields, widget=forms.CheckboxSelectMultiple) 788 789 class Meta: 790 fieldsets = [ 791 ('filter', { 792 'legend': 'Filter Groups', 793 'fields': ['name', 'abbreviation', 'activity_category', 'group_class', 'group_status', 'group_funding', ], 794 }), 795 ('display', { 796 'legend': 'Data to display', 797 'fields': ['basic_fields', ], 798 }), 799 ] 800 801 def __init__(self, *args, **kwargs): 802 super(ReportingForm, self).__init__(*args, **kwargs) 803 804 class GroupReportingFilter(GroupFilter): 805 class Meta(GroupFilter.Meta): 806 form = ReportingForm 807 808 def __init__(self, data=None, *args, **kwargs): 809 if data is None: data = {} 810 else: data = data.copy() 811 #data.setdefault('basic_fields', ['id', 'name'], ) 812 super(GroupReportingFilter, self).__init__(data, *args, **kwargs) 813 814 @permission_required('groups.view_group_private_info') 815 def reporting(request, ): 816 the_groups = groups.models.Group.objects.all() 817 groups_filterset = GroupReportingFilter(request.GET, the_groups) 818 form = groups_filterset.form 819 820 col_labels = [] 821 report_groups = [] 822 run_report = 'go' in request.GET and form.is_valid() 823 if run_report: 824 basic_fields = form.cleaned_data['basic_fields'] 825 col_labels = [form.basic_fields_labels[field] for field in basic_fields] 826 for group in groups_filterset.qs: 827 group_data = [getattr(group, field) for field in basic_fields] 828 report_groups.append(group_data) 829 else: 830 pass 831 832 context = { 833 'form': form, 834 'run_report': run_report, 835 'column_labels': col_labels, 836 'report_groups': report_groups, 837 'pagename': 'groups', 838 } 839 return render_to_response('groups/reporting.html', context, context_instance=RequestContext(request), ) 840 784 841 785 842 class GroupHistoryView(ListView): -
asadb/template/index.html
r9ec48f9 r8708a86 33 33 <li><a href='{%url groups:list%}'>List of groups</a></li> 34 34 {%if perms.groups.view_signatories %}<li><a href='{% url groups:signatories %}'>View Signatories</a></li>{%endif%} 35 {%if perms.groups.view_group_private_info %}<li><a href='{%url groups:reporting%}'>Reporting</a></li>{%endif%} 35 36 <li><a href='{%url groups:account-lookup%}'>Account lookup</a></li> 36 37 </ul></li>
Note: See TracChangeset
for help on using the changeset viewer.