Librarian in regular requirements.
[redakcja.git] / apps / toolbar / admin.py
index 4f03702..654480c 100644 (file)
@@ -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'<p>' + widgets[0] + u' Alt </p>'
-        out += u'<p>' + widgets[1] + u' Ctrl </p>'
-        out += u'<p>' + widgets[2] + u' Shift </p>'
-        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',)
-