]> gitweb.fperrin.net Git - djsite.git/blobdiff - quotes/admin.py
Use django-ajax-selects for selecting tags and works
[djsite.git] / quotes / admin.py
index 7e8f1adfb3a778ba4174032b6b06b8215e300ecd..550ec963ca928d03f68498b3f10238f55706b1be 100644 (file)
@@ -1,8 +1,47 @@
 from django.contrib import admin
+from ajax_select.fields import AutoCompleteSelectField
+from ajax_select.admin import AjaxSelectAdmin
+from ajax_select import make_ajax_form
 
 # Register your models here.
-from .models import Tag, Author, Work, Quote
-admin.site.register(Tag)
-admin.site.register(Author)
-admin.site.register(Work)
-admin.site.register(Quote)
+from .models import AuthorTag, WorkTag, QuoteTag, Author, Work, Quote
+
+@admin.register(Author)
+class AuthorAdmin(AjaxSelectAdmin):
+    fields = ('name', 'birth_date', 'death_date',
+              'tags', 'notes', 'pvt_notes',
+              'creation_date', 'last_modification', 'nb_display')
+    readonly_fields = ('creation_date', 'last_modification', 'nb_display')
+
+    form = make_ajax_form(Author, {
+        'tags': 'AuthorTag',
+        })
+
+@admin.register(Work)
+class WorkAdmin(AjaxSelectAdmin):
+    fields = ('name', 'author', 'date',
+              'tags', 'notes', 'pvt_notes',
+              'creation_date', 'last_modification', 'nb_display')
+    readonly_fields = ('creation_date', 'last_modification', 'nb_display')
+
+    form = make_ajax_form(Work, {
+        'author': 'author',
+        'tags': 'WorkTag',
+        })
+
+@admin.register(Quote)
+class QuoteAdmin(AjaxSelectAdmin):
+    fields = ('text', 'work',
+              'tags', 'notes', 'pvt_notes',
+              'creation_date', 'last_modification', 'nb_display')
+    readonly_fields = ('creation_date', 'last_modification', 'nb_display')
+
+    form = make_ajax_form(Quote, {
+        'work': 'work',
+        'tags': 'QuoteTag',
+        })
+#    work = AutoCompleteSelectField('work')
+
+admin.site.register(AuthorTag)
+admin.site.register(WorkTag)
+admin.site.register(QuoteTag)