def render(self, name, value, attrs=None): if value is not None and not isinstance(value, str): tags = [o.tag for o in value.select_related("tag")] value = edit_string_for_tags(tags) result_attrs = copy.copy(attrs) result_attrs['type'] = 'hidden' result_html = super(TagAutoSuggest, self).render(name, value, result_attrs) widget_attrs = copy.copy(attrs) widget_attrs['id'] += '__tagautosuggest' widget_html = super(TagAutoSuggest, self).render(name, value, widget_attrs) start_text = self.attrs.get('start_text') or _("Enter Tag Here") empty_text = self.attrs.get('empty_text') or _("No Results") prompt_text = self.attrs.get('prompt_text') or _("Enter a tag") limit_text = self.attrs.get('limit_text') or _('No More Selections Are Allowed') context = { 'result_id': result_attrs['id'], 'widget_id': widget_attrs['id'], 'url': reverse('taggit_autosuggest_select2-list-all'), 'start_text': start_text, 'prompt_text': prompt_text, 'empty_text': empty_text, 'limit_text': limit_text, 'retrieve_limit': MAX_SUGGESTIONS, } js = render_to_string('taggable_input.html', context) return result_html + widget_html + mark_safe(js)
def render(self, name, value, attrs=None): if value is not None and not isinstance(value, basestring): tags = [o.tag for o in value.select_related("tag")] value = edit_string_for_tags(tags) result_attrs = copy.copy(attrs) result_attrs['type'] = 'hidden' result_html = super(TagAutoSuggest, self).render(name, value, result_attrs) widget_attrs = copy.copy(attrs) widget_attrs['id'] += '__tagautosuggest' widget_html = super(TagAutoSuggest, self).render(name, value, widget_attrs) start_text = self.attrs.get('start_text') or _("Enter Tag Here") empty_text = self.attrs.get('empty_text') or _("No Results") prompt_text = self.attrs.get('prompt_text') or _("Enter a tag") limit_text = self.attrs.get('limit_text') or _( 'No More Selections Are Allowed') context = { 'result_id': result_attrs['id'], 'widget_id': widget_attrs['id'], 'url': reverse('taggit_autosuggest_select2-list-all'), 'start_text': start_text, 'prompt_text': prompt_text, 'empty_text': empty_text, 'limit_text': limit_text, 'retrieve_limit': MAX_SUGGESTIONS, } js = render_to_string('taggable_input.html', context) return result_html + widget_html + mark_safe(js)
def render(self, name, value, attrs=None): if value is not None and not isinstance(value, str): tags = [o.tag for o in value.select_related("tag")] value = edit_string_for_tags(tags) result_attrs = copy.copy(attrs) result_attrs['type'] = 'hidden' result_html = super(TagAutoSuggest, self).render(name, value, result_attrs) widget_attrs = copy.copy(attrs) widget_attrs['id'] += '__tagautosuggest' widget_html = super(TagAutoSuggest, self).render(name, value, widget_attrs) start_text = self.attrs.get('start_text') or _("Enter Tag Here") empty_text = self.attrs.get('empty_text') or _("No Results") prompt_text = self.attrs.get('prompt_text') or _("Enter a tag") limit_text = self.attrs.get('limit_text') or _('No More Selections Are Allowed') # In case there is no field_width, use the global setting TAGGIT_AUTOSUGGEST_SELECT2_WIDTH field_width = self.attrs.get('field_width') or WIDTH self.extra_settings.update(EXTRA_SETTINGS) context = { 'result_id': result_attrs['id'], 'widget_id': widget_attrs['id'], 'url': self.url, 'start_text': start_text, 'prompt_text': prompt_text, 'empty_text': empty_text, 'limit_text': limit_text, 'field_width': field_width, 'retrieve_limit': MAX_SUGGESTIONS, 'extra_settings': json_encode(self.extra_settings), } js = render_to_string('taggable_input.html', context) return result_html + widget_html + mark_safe(js)
def render(self, name, value, attrs=None): if value is not None and not isinstance(value, basestring): tags = [o.tag for o in value.select_related("tag")] value = edit_string_for_tags(tags) result_attrs = copy.copy(attrs) result_attrs['type'] = 'hidden' result_html = super(TagAutoSuggest, self).render(name, value, result_attrs) widget_attrs = copy.copy(attrs) widget_attrs['id'] += '__tagautosuggest' widget_html = super(TagAutoSuggest, self).render(name, value, widget_attrs) start_text = self.attrs.get('start_text') or _("Enter Tag Here") empty_text = self.attrs.get('empty_text') or _("No Results") prompt_text = self.attrs.get('prompt_text') or _("Enter a tag") limit_text = self.attrs.get('limit_text') or _( 'No More Selections Are Allowed') # In case there is no field_width, use the global setting TAGGIT_AUTOSUGGEST_SELECT2_WIDTH field_width = self.attrs.get('field_width') or WIDTH self.extra_settings.update(EXTRA_SETTINGS) context = { 'result_id': result_attrs['id'], 'widget_id': widget_attrs['id'], 'url': self.url, 'start_text': start_text, 'prompt_text': prompt_text, 'empty_text': empty_text, 'limit_text': limit_text, 'field_width': field_width, 'retrieve_limit': MAX_SUGGESTIONS, 'extra_settings': json_encode(self.extra_settings), } js = render_to_string('taggable_input.html', context) return result_html + widget_html + mark_safe(js)