Example #1
0
 def register(self, lookup):
     self.validate(lookup)
     name = force_text(lookup.name())
     if name in self._registry:
         raise LookupAlreadyRegistered('The name %s is already registered' %
                                       name)
     self._registry[name] = lookup
Example #2
0
 def render(self, name, value, attrs=None, choices=()):
     lookup = self.lookup_class()
     if value is None: value = []
     final_attrs = self.build_attrs(attrs, type=self.input_type, name=name)
     id_ = final_attrs.get('id', None)
     inputs = []
     model = getattr(self.lookup_class, 'model', None)
     for i, v in enumerate(value):
         item = None
         if model and isinstance(v, model):
             item = v
             v = lookup.get_item_id(item)
         input_attrs = dict(value=force_text(v), **final_attrs)
         if id_:
             # An ID attribute was given. Add a numeric index as a suffix
             # so that the inputs don't all have the same ID attribute.
             input_attrs['id'] = '%s_%s' % (id_, i)
         if v:
             item = item or lookup.get_item(v)
             input_attrs['title'] = lookup.get_item_value(item)
         inputs.append('<input%s />' % flatatt(input_attrs))
     return mark_safe('\n'.join(inputs))
 def render(self, name, value, attrs=None, choices=()):
     lookup = self.lookup_class()
     if value is None: value = []
     final_attrs = self.build_attrs(attrs, type=self.input_type, name=name)
     id_ = final_attrs.get('id', None)
     inputs = []
     model = getattr(self.lookup_class, 'model', None)
     for i, v in enumerate(value):
         item = None
         if model and isinstance(v, model):
             item = v
             v = lookup.get_item_id(item)
         input_attrs = dict(value=force_text(v), **final_attrs)
         if id_:
             # An ID attribute was given. Add a numeric index as a suffix
             # so that the inputs don't all have the same ID attribute.
             input_attrs['id'] = '%s_%s' % (id_, i)
         if v:
             item = item or lookup.get_item(v)
             input_attrs['title'] = lookup.get_item_value(item)
         inputs.append('<input%s />' % flatatt(input_attrs))
     return mark_safe('\n'.join(inputs))
Example #4
0
 def unregister(self, lookup):
     self.validate(lookup)
     name = force_text(lookup.name())
     if name not in self._registry:
         raise LookupNotRegistered('The name %s is not registered' % name)
     del self._registry[name]
Example #5
0
 def unregister(self, lookup):
     self.validate(lookup)
     name = force_text(lookup.name())
     if name not in self._registry:
        raise LookupNotRegistered('The name %s is not registered' % name)
     del self._registry[name]
Example #6
0
 def register(self, lookup):
     self.validate(lookup)
     name = force_text(lookup.name())
     if name in self._registry:
         raise LookupAlreadyRegistered('The name %s is already registered' % name)
     self._registry[name] = lookup