# HG changeset patch # User Madhusudan.C.S # Date 1288717358 -19800 # Node ID 808abc104b55a56e86f987a8e201838179d9bdcd # Parent ed5828a901099cd67be37881522529d7760ba7bf View to calculate the number of registrants per event. diff -r ed5828a90109 -r 808abc104b55 project/scipycon/registration/views.py --- a/project/scipycon/registration/views.py Tue Nov 02 22:13:12 2010 +0530 +++ b/project/scipycon/registration/views.py Tue Nov 02 22:32:38 2010 +0530 @@ -256,63 +256,22 @@ @login_required def regstats(request, scope, - template_name='registration/regstats.html'): + template_name='registration/regstats.html'): """View that gives the statistics of registrants. """ - from project.scipycon.registration.forms import RegistrationAdminSelectForm + if not request.user.is_staff: redirect_to = reverse('scipycon_login', kwargs={'scope': scope}) - if request.method == "POST": - form = RegistrationAdminSelectForm(request.POST) - if form.is_valid(): - conference = form.cleaned_data['by_conference'] - tutorial = form.cleaned_data['by_tutorial'] - sprint = form.cleaned_data['by_sprint'] - include = form.cleaned_data['include'] - q = Registration.objects.all() - q = q.filter(conference=conference) - q = q.filter(tutorial=tutorial) - q = q.filter(sprint=sprint) - - q = q.order_by('registrant__email') - - query = q.query - results = list(q) + q = Registration.objects.all() + conf_num = q.filter(conference=True).count() + tut_num = q.filter(tutorial=True).count() + sprint_num = q.filter(sprint=True).count() - if include == []: - # default to include all fields - include = [i[0] for i in IC] - if results: - response = HttpResponse(mimetype='text/csv') - response['Content-Disposition'] = 'attachment; filename=registrations.csv' - output = csv.writer(response) - output.writerow([h for h in include]) - for row in results: - conference = row.conference == True and 'yes' or 'no' - tutorial = row.tutorial == True and 'yes' or 'no' - sprint = row.sprint == True and 'yes' or 'no' - wrow = [] - if 'Name' in include: - wrow.append( - row.registrant.get_full_name().encode('utf-8')) - if 'Email' in include: - wrow.append(row.registrant.email.encode('utf-8')) - if 'Organisation' in include: - wrow.append(row.organisation.encode('utf-8')) - if 'Conference' in include: - wrow.append(conference) - if 'Tutorial' in include: - wrow.append(tutorial) - if 'Sprint' in include: - wrow.append(sprint) - output.writerow(wrow) - return response - else: - no_results = u'No results found for the query' - - else: - form = RegistrationAdminSelectForm() return render_to_response(template_name, RequestContext(request, - locals())) + {'params': {'scope': scope}, + 'conf_num': conf_num, + 'tut_num': tut_num, + 'sprint_num': sprint_num, + })) \ No newline at end of file diff -r ed5828a90109 -r 808abc104b55 project/static/css/styles.css --- a/project/static/css/styles.css Tue Nov 02 22:13:12 2010 +0530 +++ b/project/static/css/styles.css Tue Nov 02 22:32:38 2010 +0530 @@ -113,6 +113,32 @@ padding: 4px 6px; } +table.scipycon-default-border +{ + border-width: 2px; + border-spacing: 2px; + border-style: outset; + border-color: gray; + border-collapse: separate; +} + +table.scipycon-default-border td +{ + border-width: 1px; + padding: 5px 15px; + border-style: inset; + border-color: gray; +} + +table.scipycon-default-border th +{ + border-width: 1px; + border-style: inset; + border-color: gray; + font-weight: bold; + padding: 4px 6px; +} + table.scipycon-default a { text-decoration: none;