+
+
+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)