mirror of
https://github.com/nikdoof/test-auth.git
synced 2025-12-14 14:52:15 +00:00
Added CSV export of the memberlist
This commit is contained in:
@@ -28,6 +28,8 @@
|
||||
{% endfor %}
|
||||
</table>
|
||||
{% paginate %}
|
||||
|
||||
<p><a href="{% url eveapi-corporation-members-csv corporation.id %}">Export as CSV</a></p>
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
|
||||
@@ -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"),
|
||||
)
|
||||
|
||||
@@ -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'):
|
||||
|
||||
|
||||
Reference in New Issue
Block a user