Commits

Mark Lavin  committed f429538

Later binding of new widget attributes.

  • Participants
  • Parent commits ed83a83

Comments (0)

Files changed (1)

File selectable/forms/widgets.py

         self.lookup_class = lookup_class
         self.allow_new = kwargs.pop('allow_new', False)
         super(AutoCompleteWidget, self).__init__(*args, **kwargs)
-        # New attrs
-        url = lookup_class.url()
-        self.attrs[u'data-selectable-url'] = url
-        self.attrs[u'data-selectable-type'] = 'text'
-        self.attrs[u'data-selectable-allow-new'] = str(self.allow_new).lower()
 
+    def build_attrs(self, extra_attrs=None, **kwargs):
+        attrs = super(AutoCompleteWidget, self).build_attrs(extra_attrs, **kwargs)
+        attrs[u'data-selectable-url'] = self.lookup_class.url()
+        attrs[u'data-selectable-type'] = 'text'
+        attrs[u'data-selectable-allow-new'] = str(self.allow_new).lower()
+        return attrs
 
 class AutoCompleteSelectWidget(forms.MultiWidget):
 
         super(AutoComboboxWidget, self).__init__(lookup_class, *args, **kwargs)
         self.attrs[u'data-selectable-type'] = 'combobox'
 
+    def build_attrs(self, extra_attrs=None, **kwargs):
+        attrs = super(AutoComboboxWidget, self).build_attrs(extra_attrs, **kwargs)
+        attrs[u'data-selectable-type'] = 'combobox'
+        return attrs
+
 
 class AutoComboboxSelectWidget(forms.MultiWidget):