]> 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 73d0016cfa060d2ab90c8f9d633df3e78584b92b..550ec963ca928d03f68498b3f10238f55706b1be 100644 (file)
@@ -1,29 +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 AuthorTag, WorkTag, QuoteTag, Author, Work, Quote
 
 @admin.register(Author)
-class AuthorAdmin(admin.ModelAdmin):
+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(admin.ModelAdmin):
+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(admin.ModelAdmin):
+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)