diff options
author | Akshen | 2019-03-05 11:53:37 +0530 |
---|---|---|
committer | GitHub | 2019-03-05 11:53:37 +0530 |
commit | d2867b9f320ab823f0d40ed948867019e172ee79 (patch) | |
tree | 72b1f971823ecb1aed88ce793c69921f66e4291e /fossee_manim/admin.py | |
parent | dd647ee3f5c0eb77fc04024c9864cd69a963bc16 (diff) | |
parent | efda4b675ab162346a72abf0ceee29cfc0f99001 (diff) | |
download | FOSSEE_animations-d2867b9f320ab823f0d40ed948867019e172ee79.tar.gz FOSSEE_animations-d2867b9f320ab823f0d40ed948867019e172ee79.tar.bz2 FOSSEE_animations-d2867b9f320ab823f0d40ed948867019e172ee79.zip |
Merge pull request #1 from Akshen/develop
Develop
Diffstat (limited to 'fossee_manim/admin.py')
-rw-r--r-- | fossee_manim/admin.py | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/fossee_manim/admin.py b/fossee_manim/admin.py new file mode 100644 index 0000000..35bf57b --- /dev/null +++ b/fossee_manim/admin.py @@ -0,0 +1,50 @@ +from django.contrib import admin +import csv +from django.http import HttpResponse +from .models import (Category, Profile, User, Animation, Comment, + AnimationStats) +# Register your models here. +try: + from StringIO import StringIO as string_io +except ImportError: + from io import BytesIO as string_io + + +# Custom Classes +class ProfileAdmin(admin.ModelAdmin): + list_display = ['title','user', 'institute','location','department', + 'phone_number','position'] + list_filter = ['position', 'department'] + actions = ['download_csv'] + + def download_csv(self, request, queryset): + openfile = string_io() + response = HttpResponse(content_type='text/csv') + response['Content-Disposition'] = 'attachment;\ + filename=profile_data.csv' + + writer = csv.writer(response) + writer.writerow(['email_id', 'title','username', 'first_name', 'last_name', + 'institute', 'location', 'department', + 'phone_number', 'position']) + + for q in queryset: + writer.writerow([q.user.email, q.title, q.user, q.user.first_name, + q.user.last_name, q.institute, + q.location, q.department, q.phone_number, + q.position]) + + openfile.seek(0) + response.write(openfile.read()) + return response + + download_csv.short_description = "Download CSV file for selected stats." + + +class CategoryAdmin(admin.ModelAdmin): + list_display = ['name', 'created', 'description'] + list_filter = ['name'] + + +admin.site.register(Category, CategoryAdmin) +admin.site.register(Profile, ProfileAdmin)
\ No newline at end of file |