search_fields = ['public_id', 'id']
filter_vertical = ['docs_description',
'suggested_seminars', 'suggested_conferences']
+ actions = ['export_conference']
+
+ def export_conference(self, request, queryset):
+ response = HttpResponse(content_type='text/csv')
+ filename = "conferences"
+ response['Content-Disposition'] = 'attachment; filename="%s.csv"' % filename
+
+ data = {}
+ writer = UnicodeWriter(response, delimiter=";")
+ writer.writerow(("id", "nom", "prix", "code produit"))
+
+ for conference in queryset.order_by('-publish_date'):
+ row = (conference.id, conference.title, conference.price, conference.product_code)
+ writer.writerow(row)
+ return response
+
+ export_conference.short_description = "Exporter les conferences"
+
class SeminarQuestionInline(admin.StackedInline):
model = Question
ordering = ['course', 'rank']
search_fields = ['course__title', 'title', 'sub_title']
list_filter = ('period', 'publish_date', 'expiry_date')
- actions = ['clone_seminars']
+ actions = ['clone_seminars', 'export_seminar']
+ # raw_id_fields = ['docs_description', 'docs_1',
+ # 'docs_2', 'docs_correct', 'medias', 'media_preview',
+ # 'suggested_seminars', 'suggested_conferences', 'quiz', 'conference']
+
def clone_seminars(self, request, queryset):
log = ""
clone_seminars.short_description = "Dupliquer les séminaires"
+
+ def export_seminar(self, request, queryset):
+ response = HttpResponse(content_type='text/csv')
+ filename = "seminaires"
+ response['Content-Disposition'] = 'attachment; filename="%s.csv"' % filename
+
+ data = {}
+ writer = UnicodeWriter(response, delimiter=";")
+ writer.writerow(("id", "nom", "prix", "code produit"))
+
+ for seminar in queryset.order_by('-publish_date'):
+ row = (seminar.id, seminar.title, seminar.price, seminar.product_code)
+ writer.writerow(row)
+ return response
+
+ export_seminar.short_description = "Exporter les séminaires"
+
class Media:
css = { 'all': ('admin/extra.css',) }