Exemple #1
0
    def test_render_option_non_ascii_issue_317(self):
        widget = MPTTFilteredSelectMultiple('test', False)

        option = widget.render_option([], 1, 'тест', (1, 1))

        self.assertEqual(
            option,
            smart_text('<option value="1" data-tree-id="1"'
                       ' data-left-value="1">тест</option>'))
    def test_render_option_non_ascii_issue_317(self):
        widget = MPTTFilteredSelectMultiple('test', False)

        option = widget.render_option([], 1, 'тест', (1, 1))

        self.assertEqual(
            option,
            smart_text('<option value="1" data-tree-id="1"'
                       ' data-left-value="1">тест</option>'))
    def test_render_option(self):
        widget = MPTTFilteredSelectMultiple('test', False)

        option = widget.render_option([], 1, 'Test', (4, 5))

        self.assertEquals(
            option, '<option value="1" data-tree-id="4"'
            ' data-left-value="5">Test</option>')

        option = widget.render_option(['0', '1', '2'], 1, 'Test', (4, 5))

        self.assertEquals(
            option, '<option value="1" selected="selected" data-tree-id="4"'
            ' data-left-value="5">Test</option>')
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
Exemple #5
0
 def test_media(self):
     medias = MPTTFilteredSelectMultiple('test', False).media
     self.assertEquals(medias._css, {})
     self.assertEquals(medias._js, [
         '/s/admin/js/core.js',
         '/s/zinnia/admin/mptt/js/mptt_m2m_selectbox.js',
         '/s/admin/js/SelectFilter2.js'])
Exemple #6
0
class ModelEntryAdminForm(_EntryAdminForm):
    """
    Form for ModelEntry's Admin
    """
    categories = MPTTModelMultipleChoiceField(
        label=_('Categories'), required=False,
        queryset=ModelCategory.objects.all(),
        widget=MPTTFilteredSelectMultiple(_('categories')))
    content = forms.CharField(
        label=_('Content'), required=False,
        widget=CKEditor(config_name=CONFIG_NAME))

    class Meta:
        """
        EntryAdminForm's Meta.
        """
        model = ModelEntry
        fields = forms.ALL_FIELDS
        widgets = {
            'tags': TagAutoComplete,
            'lead': MiniTextarea,
            'excerpt': MiniTextarea,
            'image_caption': MiniTextarea,
        }

    def __init__(self, *args, **kwargs):
        super(ModelEntryAdminForm, self).__init__(*args, **kwargs)
        self.fields['categories'].widget = RelatedFieldWidgetWrapper(
            self.fields['categories'].widget,
            ModelEntry.categories.field.rel,
            self.admin_site)
    def test_render_option(self):
        widget = MPTTFilteredSelectMultiple('test', False)

        option = widget.render_option([], 1, 'Test', (4, 5))

        self.assertEqual(
            option,
            '<option value="1" data-tree-id="4"'
            ' data-left-value="5">Test</option>')

        option = widget.render_option(['0', '1', '2'], 1, 'Test', (4, 5))

        self.assertEqual(
            option,
            '<option value="1" selected="selected" data-tree-id="4"'
            ' data-left-value="5">Test</option>')
Exemple #8
0
class EntryAdminForm(forms.ModelForm):
    """
    Form for Entry's Admin.
    """
    categories = MPTTModelMultipleChoiceField(
        label=_('Categories'),
        required=False,
        queryset=Category.objects.all(),
        widget=MPTTFilteredSelectMultiple(_('categories')))

    def __init__(self, *args, **kwargs):
        super(EntryAdminForm, self).__init__(*args, **kwargs)
        self.fields['categories'].widget = RelatedFieldWidgetWrapper(
            self.fields['categories'].widget,
            Entry.categories.field.remote_field, self.admin_site)

    class Meta:
        """
        EntryAdminForm's Meta.
        """
        model = Entry
        fields = forms.ALL_FIELDS
        widgets = {
            'tags': TagAutoComplete,
            'lead': MiniTextarea,
            'excerpt': MiniTextarea,
            'image_caption': MiniTextarea,
        }
    def test_render_options(self):
        widget = MPTTFilteredSelectMultiple('test', False)
        self.assertEquals(widget.render_options([], []), '')

        options = widget.render_options([(1, 'Category 1', (1, 1)),
                                         (2, '|-- Category 2', (1, 2))], [])

        self.assertEquals(
            options, '<option value="1" data-tree-id="1" data-left-value="1">'
            'Category 1</option>\n<option value="2" data-tree-id="1" '
            'data-left-value="2">|-- Category 2</option>')

        options = widget.render_options([(1, 'Category 1', (1, 1)),
                                         (2, '|-- Category 2', (1, 2))], [2])

        self.assertEquals(
            options, '<option value="1" data-tree-id="1" data-left-value="1">'
            'Category 1</option>\n<option value="2" selected="selected" '
            'data-tree-id="1" data-left-value="2">|-- Category 2</option>')
    def test_render_options(self):
        widget = MPTTFilteredSelectMultiple('test', False)
        self.assertEqual(widget.render_options([]), '')

        choices = [
            (1, 'Category 1', (1, 1)),
            (2, '|-- Category 2', (1, 2))]
        widget = MPTTFilteredSelectMultiple('test', False, choices=choices)

        self.assertEqual(
            widget.render_options([]),
            '<option value="1" data-tree-id="1" data-left-value="1">'
            'Category 1</option>\n<option value="2" data-tree-id="1" '
            'data-left-value="2">|-- Category 2</option>')

        self.assertEqual(
            widget.render_options([2]),
            '<option value="1" data-tree-id="1" data-left-value="1">'
            'Category 1</option>\n<option value="2" selected="selected" '
            'data-tree-id="1" data-left-value="2">|-- Category 2</option>')
Exemple #11
0
class ResourceEntryAdminForm(_EntryAdminForm):
    topics = MPTTModelMultipleChoiceField(
        label=_('Topics'), required=False,
        queryset=TopicCategory.objects.all(),
        widget=MPTTFilteredSelectMultiple(_('topics')))
    types = MPTTModelMultipleChoiceField(
        label=_('Types'), required=False,
        queryset=TypeCategory.objects.all(),
        widget=MPTTFilteredSelectMultiple(_('types')))
    industries = MPTTModelMultipleChoiceField(
        label=_('Industries'), required=False,
        queryset=IndustryCategory.objects.all(),
        widget=MPTTFilteredSelectMultiple(_('industries')))

    class Meta:
        model = ResourceEntry
        fields = forms.ALL_FIELDS
        widgets = {
            'tags': TagAutoComplete,
            'lead': MiniTextarea,
            'excerpt': MiniTextarea,
            'image_caption': MiniTextarea,
        }

    def __init__(self, *args, **kwargs):
        super(ResourceEntryAdminForm, self).__init__(*args, **kwargs)
        self.fields['topics'].widget = RelatedFieldWidgetWrapper(
            self.fields['topics'].widget,
            ResourceEntry.topics.field.rel,
            self.admin_site)
        self.fields['types'].widget = RelatedFieldWidgetWrapper(
            self.fields['types'].widget,
            ResourceEntry.types.field.rel,
            self.admin_site)
        self.fields['industries'].widget = RelatedFieldWidgetWrapper(
            self.fields['industries'].widget,
            ResourceEntry.industries.field.rel,
            self.admin_site)
    def test_optgroups(self):
        choices = [(1, 'Category 1', (1, 1)), (2, '|-- Category 2', (1, 2))]

        widget = MPTTFilteredSelectMultiple('test', False, choices=choices)

        optgroups = widget.optgroups('toto', '1')
        self.assertEqual(optgroups, [
            (None, [{
                'index': '0',
                'name': 'toto',
                'template_name': 'django/forms/widgets/select_option.html',
                'type': 'select',
                'selected': True,
                'attrs': {
                    'selected': True,
                    'data-tree-id': 1,
                    'data-left-value': 1
                },
                'value': 1,
                'label': 'Category 1',
                'wrap_label': True
            }], 0),
            (None, [{
                'index': '1',
                'name': 'toto',
                'template_name': 'django/forms/widgets/select_option.html',
                'type': 'select',
                'selected': False,
                'attrs': {
                    'data-tree-id': 1,
                    'data-left-value': 2
                },
                'value': 2,
                'label': '|-- Category 2',
                'wrap_label': True
            }], 1)
        ])

        optgroups = widget.optgroups('toto', ['2'])
        self.assertEqual(
            optgroups,
            [(None, [{
                'index': '0',
                'name': 'toto',
                'template_name': 'django/forms/widgets/select_option.html',
                'type': 'select',
                'selected': False,
                'attrs': {
                    'data-tree-id': 1,
                    'data-left-value': 1
                },
                'value': 1,
                'label': 'Category 1',
                'wrap_label': True
            }], 0),
             (None, [{
                 'index': '1',
                 'name': 'toto',
                 'template_name': 'django/forms/widgets/select_option.html',
                 'type': 'select',
                 'selected': True,
                 'attrs': {
                     'selected': True,
                     'data-tree-id': 1,
                     'data-left-value': 2
                 },
                 'value': 2,
                 'label': '|-- Category 2',
                 'wrap_label': True
             }], 1)])

        optgroups = widget.optgroups('toto', '1', {'attribute': 'value'})
        self.assertEqual(optgroups, [
            (None, [{
                'index': '0',
                'name': 'toto',
                'template_name': 'django/forms/widgets/select_option.html',
                'type': 'select',
                'selected': True,
                'attrs': {
                    'selected': True,
                    'attribute': 'value',
                    'data-tree-id': 1,
                    'data-left-value': 1
                },
                'value': 1,
                'label': 'Category 1',
                'wrap_label': True
            }], 0),
            (None, [{
                'index': '1',
                'name': 'toto',
                'template_name': 'django/forms/widgets/select_option.html',
                'type': 'select',
                'selected': False,
                'attrs': {
                    'attribute': 'value',
                    'data-tree-id': 1,
                    'data-left-value': 2
                },
                'value': 2,
                'label': '|-- Category 2',
                'wrap_label': True
            }], 1)
        ])
    def test_optgroups(self):
        choices = [
            (1, 'Category 1', (1, 1)),
            (2, '|-- Category 2', (1, 2))
        ]

        widget = MPTTFilteredSelectMultiple(
            'test', False, choices=choices)

        optgroups = widget.optgroups('toto', '1')
        self.assertEquals(
            optgroups,
            [
                (
                    None, [
                        {
                            'index': '0',
                            'name': 'toto',
                            'template_name':
                            'django/forms/widgets/select_option.html',
                            'type': 'select',
                            'selected': True,
                            'attrs': {
                                'selected': True,
                                'data-tree-id': 1,
                                'data-left-value': 1
                            },
                            'value': 1,
                            'label': 'Category 1'
                        }
                    ], 0
                ), (
                    None, [
                        {
                            'index': '1',
                            'name': 'toto',
                            'template_name':
                            'django/forms/widgets/select_option.html',
                            'type': 'select',
                            'selected': False,
                            'attrs': {
                                'data-tree-id': 1,
                                'data-left-value': 2
                            },
                            'value': 2,
                            'label': '|-- Category 2'
                        }
                    ], 1
                )
            ]
        )

        optgroups = widget.optgroups('toto', ['2'])
        self.assertEquals(
            optgroups,
            [
                (
                    None, [
                        {
                            'index': '0',
                            'name': 'toto',
                            'template_name':
                            'django/forms/widgets/select_option.html',
                            'type': 'select',
                            'selected': False,
                            'attrs': {
                                'data-tree-id': 1,
                                'data-left-value': 1
                            },
                            'value': 1,
                            'label': 'Category 1'
                        }
                    ], 0
                ), (
                    None, [
                        {
                            'index': '1',
                            'name': 'toto',
                            'template_name':
                            'django/forms/widgets/select_option.html',
                            'type': 'select',
                            'selected': True,
                            'attrs': {
                                'selected': True,
                                'data-tree-id': 1,
                                'data-left-value': 2
                            },
                            'value': 2,
                            'label': '|-- Category 2'
                        }
                    ], 1
                )
            ]
        )

        optgroups = widget.optgroups('toto', '1', {'attribute': 'value'})
        self.assertEquals(
            optgroups,
            [
                (
                    None, [
                        {
                            'index': '0',
                            'name': 'toto',
                            'template_name':
                            'django/forms/widgets/select_option.html',
                            'type': 'select',
                            'selected': True,
                            'attrs': {
                                'selected': True,
                                'attribute': 'value',
                                'data-tree-id': 1,
                                'data-left-value': 1
                            },
                            'value': 1,
                            'label': 'Category 1'
                        }
                    ], 0
                ), (
                    None, [
                        {
                            'index': '1',
                            'name': 'toto',
                            'template_name':
                            'django/forms/widgets/select_option.html',
                            'type': 'select',
                            'selected': False,
                            'attrs': {
                                'attribute': 'value',
                                'data-tree-id': 1,
                                'data-left-value': 2
                            },
                            'value': 2,
                            'label': '|-- Category 2'
                        }
                    ], 1
                )
            ]
        )