Librarian in regular requirements.
[redakcja.git] / apps / toolbar / admin.py
index 2c8cd28..654480c 100644 (file)
@@ -1,25 +1,31 @@
 from django.contrib import admin
 from django.utils.translation import ugettext_lazy as _
+from django import forms
+import json
 
 from toolbar import models
 
 
-class ButtonGroupAdmin(admin.ModelAdmin):
-    list_display = ('name', 'slug', 'position',)
-    search_fields = ('name', 'slug',)
-    prepopulated_fields = {'slug': ('name',)}
-    list_editable = ('position',)
+class ButtonAdminForm(forms.ModelForm):
+    class Meta:
+        model = models.Button
+        exclude = []
 
-admin.site.register(models.ButtonGroup, ButtonGroupAdmin)
+    def clean_params(self):
+        value = self.cleaned_data['params']
+        try:
+            return json.dumps(json.loads(value))
+        except ValueError, e:
+            raise forms.ValidationError(e)
 
 
 class ButtonAdmin(admin.ModelAdmin):
-    list_display = ('label', 'slug', 'tag', 'key', 'position',)
-    list_filter = ('group',)
-    search_fields = ('label', 'slug', 'tag', 'key',)
+    form = ButtonAdminForm
+    list_display = ('slug', 'label', 'tooltip', 'accesskey')
+    list_display_links = ('slug',)
+    list_editable = ('label', 'tooltip', 'accesskey')
     prepopulated_fields = {'slug': ('label',)}
-    filter_horizontal = ('group',)
-    list_editable = ('position',)
 
 admin.site.register(models.Button, ButtonAdmin)
-
+admin.site.register(models.ButtonGroup)
+admin.site.register(models.Scriptlet)