Added CSV export of the memberlist

This commit is contained in:
2011-07-20 13:21:40 +01:00
parent 4af80ca77e
commit 9052de1cab
3 changed files with 26 additions and 0 deletions

View File

@@ -28,6 +28,8 @@
{% endfor %}
</table>
{% paginate %}
<p><a href="{% url eveapi-corporation-members-csv corporation.id %}">Export as CSV</a></p>
{% endif %}
</div>

View File

@@ -14,5 +14,6 @@ urlpatterns = patterns('',
url(r'^character/(?P<charid>\d+)/$', views.eveapi_character, name="eveapi-character"),
url(r'^corporation/(?P<corporationid>\d+)/$', views.eveapi_corporation, name="eveapi-corporation"),
url(r'^corporation/(?P<corporationid>\d+)/export/$', views.eveapi_corporation_members_csv, name="eveapi-corporation-members-csv"),
url(r'^alliance/(?P<allianceid>\d+)/$', views.eveapi_alliance, name="eveapi-alliance"),
)

View File

@@ -1,3 +1,5 @@
import csv
import celery
from django.http import HttpResponse
@@ -198,6 +200,27 @@ def eveapi_corporation(request, corporationid, template='eve_api/corporation.htm
return render_to_response(template, context, context_instance=RequestContext(request))
@login_required
def eveapi_corporation_members_csv(request, corporationid):
corporation = get_object_or_404(EVEPlayerCorporation, id=corporationid)
print corporation
if not corporation.eveplayercharacter_set.filter(eveaccount__user=request.user, roles__name="roleDirector").count() and not request.user.is_superuser:
raise Http404
response = HttpResponse(mimetype='text/csv')
response['Content-Disposition'] = 'attachment; filename=%s-members_export.csv' % corporation.id
writer = csv.writer(response)
writer.writerow(['Name', 'Skillpoints', 'Join Date', 'Last Login', 'Director?', 'Roles?', 'API Key?'])
for char in corporation.eveplayercharacter_set.all():
writer.writerow([char.name, char.total_sp, char.corporation_date, char.last_login, char.director, char.roles.count(), char.eveaccount_set.all().count()])
return response
@login_required
def eveapi_alliance(request, allianceid, template='eve_api/alliance.html'):