diff --git a/app/eve_api/templates/eve_api/corporation.html b/app/eve_api/templates/eve_api/corporation.html
index 2080c6f..2f881cd 100644
--- a/app/eve_api/templates/eve_api/corporation.html
+++ b/app/eve_api/templates/eve_api/corporation.html
@@ -28,6 +28,8 @@
{% endfor %}
{% paginate %}
+
+
Export as CSV
{% endif %}
diff --git a/app/eve_api/urls.py b/app/eve_api/urls.py
index b5b5915..ffeca20 100644
--- a/app/eve_api/urls.py
+++ b/app/eve_api/urls.py
@@ -14,5 +14,6 @@ urlpatterns = patterns('',
url(r'^character/(?P\d+)/$', views.eveapi_character, name="eveapi-character"),
url(r'^corporation/(?P\d+)/$', views.eveapi_corporation, name="eveapi-corporation"),
+ url(r'^corporation/(?P\d+)/export/$', views.eveapi_corporation_members_csv, name="eveapi-corporation-members-csv"),
url(r'^alliance/(?P\d+)/$', views.eveapi_alliance, name="eveapi-alliance"),
)
diff --git a/app/eve_api/views.py b/app/eve_api/views.py
index 06a8cfc..734c325 100644
--- a/app/eve_api/views.py
+++ b/app/eve_api/views.py
@@ -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'):