X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/300def05b91611b2382df4837c0041d231c8b432..39e235fcc4bffec8893cf9a2f8924303c7b3a859:/apps/toolbar/admin.py diff --git a/apps/toolbar/admin.py b/apps/toolbar/admin.py index 052538ea..58b5f746 100644 --- a/apps/toolbar/admin.py +++ b/apps/toolbar/admin.py @@ -1,5 +1,7 @@ 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 @@ -8,7 +10,26 @@ from toolbar import models # 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.Scriptlet) #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',) -admin.site.register(models.Button) -admin.site.register(models.Scriptlet) -