Sprawdzanie pustych grup.
[redakcja.git] / apps / toolbar / admin.py
index 052538e..58b5f74 100644 (file)
@@ -1,5 +1,7 @@
 from django.contrib import admin
 from django.utils.translation import ugettext_lazy as _
 from django.contrib import admin
 from django.utils.translation import ugettext_lazy as _
+from django import forms
+from django.utils import simplejson as json
 
 from toolbar import models
 
 
 from toolbar import models
 
@@ -8,7 +10,26 @@ from toolbar import models
 #    search_fields = ('name', 'slug',)
 #    prepopulated_fields = {'slug': ('name',)}
 #    list_editable = ('position',)
 #    search_fields = ('name', 'slug',)
 #    prepopulated_fields = {'slug': ('name',)}
 #    list_editable = ('position',)
+
+
+class ButtonAdminForm(forms.ModelForm):
+    model = models.Button
+
+    def clean_params(self):
+        value = self.cleaned_data['params']
+        try:
+            return json.dumps(json.loads(value))
+        except Exception, e:
+            raise forms.ValidationError(e)
+
+class ButtonAdmin(admin.ModelAdmin):
+    form = ButtonAdminForm
+    list_display = ('label', 'scriptlet', 'key', 'params')
+    prepopulated_fields = {'slug': ('label',)}
+
+admin.site.register(models.Button, ButtonAdmin)
 admin.site.register(models.ButtonGroup)
 admin.site.register(models.ButtonGroup)
+admin.site.register(models.Scriptlet)
 
 #class ButtonAdmin(admin.ModelAdmin):
 #    list_display = ('label', 'action', 'key', 'position',)
 
 #class ButtonAdmin(admin.ModelAdmin):
 #    list_display = ('label', 'action', 'key', 'position',)
@@ -17,6 +38,3 @@ admin.site.register(models.ButtonGroup)
 #    filter_horizontal = ('group',)
 #    list_editable = ('position',)
 
 #    filter_horizontal = ('group',)
 #    list_editable = ('position',)
 
-admin.site.register(models.Button)
-admin.site.register(models.Scriptlet)
-