예제 #1
0
    def test_get_tags(self):
        widget = TagAutoComplete()
        self.assertEqual(widget.get_tags(), [])

        params = {
            'title': 'My entry',
            'tags': 'zinnia, test',
            'slug': 'my-entry'
        }
        Entry.objects.create(**params)
        self.assertEqual(widget.get_tags(), ['test', 'zinnia'])
    def test_get_tags(self):
        widget = TagAutoComplete()
        self.assertEqual(
            widget.get_tags(),
            [])

        params = {'title': 'My entry',
                  'tags': 'zinnia, test',
                  'slug': 'my-entry'}
        Entry.objects.create(**params)
        self.assertEqual(
            widget.get_tags(),
            ['test', 'zinnia'])
예제 #3
0
class EntryAdminForm(forms.ModelForm):
    """
    Form for Entry's Admin.
    """
    categories = MPTTModelMultipleChoiceField(
        label=_('Categories'),
        required=False,
        queryset=Category.objects.all(),
        widget=MPTTFilteredSelectMultiple(_('categories'),
                                          False,
                                          attrs={'rows': '10'}))

    tags = TagField(label=_('Tags'), required=False, widget=TagAutoComplete())

    def __init__(self, *args, **kwargs):
        super(EntryAdminForm, self).__init__(*args, **kwargs)
        rel = ManyToManyRel(Category, 'id')
        self.fields['categories'].widget = RelatedFieldWidgetWrapper(
            self.fields['categories'].widget, rel, self.admin_site)
        self.fields['sites'].initial = [Site.objects.get_current()]

    class Meta:
        """
        EntryAdminForm's Meta.
        """
        model = Entry
        fields = forms.ALL_FIELDS
예제 #4
0
 def test_render(self):
     widget = TagAutoComplete()
     params = {'title': 'My entry',
               'tags': 'zinnia, test',
               'slug': 'my-entry'}
     Entry.objects.create(**params)
     self.assertEqual(
         widget.render('tag', 'test,'),
         '<input class="vTextField" name="tag" type="text" value="test," />'
         '\n<script type="text/javascript">\n(function($) {'
         '\n  $(document).ready(function() {'
         '\n    $("#id_tag").select2({'
         '\n       width: "element",'
         '\n       maximumInputLength: 50,'
         '\n       tokenSeparators: [",", " "],'
         '\n       tags: ["test", "zinnia"]'
         '\n     });\n    });'
         '\n}(django.jQuery));\n</script>')
 def test_render(self):
     widget = TagAutoComplete()
     params = {'title': 'My entry',
               'tags': 'zinnia, test',
               'slug': 'my-entry'}
     Entry.objects.create(**params)
     self.assertEqual(
         widget.render('tag', 'test,'),
         '<input class="vTextField" name="tag" type="text" value="test," />'
         '\n<script type="text/javascript">\n(function($) {'
         '\n  $(document).ready(function() {'
         '\n    $("#id_tag").select2({'
         '\n       width: "element",'
         '\n       maximumInputLength: 50,'
         '\n       tokenSeparators: [",", " "],'
         '\n       tags: [\'test\',\'zinnia\']'
         '\n     });\n    });'
         '\n}(django.jQuery));\n</script>')
 def test_media(self):
     medias = TagAutoComplete().media
     self.assertEquals(
         medias._css,
         {'all': ('/s/zinnia/admin/select2/css/select2.css',)}
     )
     self.assertEquals(
         medias._js,
         ('/s/zinnia/admin/select2/js/select2.js',)
     )