X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/fc7a60feb9496c250cd1e8ca3db8c74267790047..b8c343054791fed1329bf58185c1725caa5432a1:/apps/toolbar/admin.py?ds=sidebyside diff --git a/apps/toolbar/admin.py b/apps/toolbar/admin.py index 4f03702c..654480ca 100644 --- a/apps/toolbar/admin.py +++ b/apps/toolbar/admin.py @@ -1,75 +1,31 @@ from django.contrib import admin from django.utils.translation import ugettext_lazy as _ from django import forms -from django.utils import simplejson as json +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 KeyModSelector(forms.MultiWidget): - def __init__(self): - super(KeyModSelector, self).__init__( - [forms.CheckboxInput() for x in xrange(0,3)]) - - def decompress(self, v): - if not v: v = 0 - r = [(v&0x01) != 0, (v&0x02) != 0, (v&0x04) != 0] - print "DECOMPRESS: " , v, repr(r) - return r - - def format_output(self, widgets): - out = u'' - out += u'

' + widgets[0] + u' Alt

' - out += u'

' + widgets[1] + u' Ctrl

' - out += u'

' + widgets[2] + u' Shift

' - return out - -class KeyModField(forms.MultiValueField): - - def __init__(self): - super(KeyModField, self).__init__(\ - fields=tuple(forms.BooleanField() for x in xrange(0,3)), \ - widget=KeyModSelector() ) - - def compress(self, dl): - v = int(dl[0]) | (int(dl[1]) << 1) | (int(dl[2]) << 2) - print "COMPRESS", v - return v - class ButtonAdminForm(forms.ModelForm): - key_mod = KeyModField() - class Meta: model = models.Button + exclude = [] def clean_params(self): value = self.cleaned_data['params'] try: return json.dumps(json.loads(value)) - except Exception, e: + except ValueError, e: raise forms.ValidationError(e) - class ButtonAdmin(admin.ModelAdmin): form = ButtonAdminForm - list_display = ('label', 'scriptlet', 'hotkey_name', 'params') + list_display = ('slug', 'label', 'tooltip', 'accesskey') + list_display_links = ('slug',) + list_editable = ('label', 'tooltip', 'accesskey') 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',) -# list_filter = ('group',) -# search_fields = ('label', 'action', 'key',) -# filter_horizontal = ('group',) -# list_editable = ('position',) -