Example #1
0
    def test_widgets_registry(self):
        """Test the widget registry module."""
        from pages import widgets_registry as wreg
        for widget in wreg.registry:
            w = widget()
            w.render('name', 'value')

        try:
            wreg.register_widget(wreg.registry[0])
            raise AssertionError("Error not raised properly.")
        except wreg.WidgetAlreadyRegistered:
            pass

        try:
            wreg.get_widget('wrong')
            raise AssertionError("Error not raised properly.")
        except wreg.WidgetNotFound:
            pass
Example #2
0
    def test_widgets_registry(self):
        """Test the widget registry module."""
        from pages import widgets_registry as wreg
        for widget in wreg.registry:
            w = widget()
            w.render('name', 'value')

        try:
            wreg.register_widget(wreg.registry[0])
            raise AssertionError("Error not raised properly.")
        except wreg.WidgetAlreadyRegistered:
            pass

        try:
            wreg.get_widget('wrong')
            raise AssertionError("Error not raised properly.")
        except wreg.WidgetNotFound:
            pass
Example #3
0
from pages.models import Page
from pages.widgets_registry import register_widget

from django.conf import settings
from django.forms import TextInput, Textarea, HiddenInput
from django.forms import MultiWidget, FileInput
from django.contrib.admin.widgets import AdminTextInputWidget
from django.contrib.admin.widgets import AdminTextareaWidget
from django.utils.safestring import mark_safe
from django.template.loader import render_to_string
from django.core.exceptions import ObjectDoesNotExist
from django.utils.translation import ugettext as _

from os.path import join

register_widget(TextInput)
register_widget(Textarea)
register_widget(AdminTextInputWidget)
register_widget(AdminTextareaWidget)

if "filebrowser" in getattr(settings, 'INSTALLED_APPS', []):
    from filebrowser.fields import FileBrowseWidget
    class FileBrowseInput(FileBrowseWidget):
        """FileBrowseInput widget."""

        def __init__(self, attrs={}):
            super(FileBrowseInput, self).__init__(attrs)
    register_widget(FileBrowseInput)


if PAGE_TAGGING:
Example #4
0
from pages.models import Page
from pages.widgets_registry import register_widget

from django import forms
from django.forms import TextInput, Textarea
from django.forms import MultiWidget
from django.forms import FileInput as DFileInput
from django.contrib.admin.widgets import AdminTextInputWidget
from django.contrib.admin.widgets import AdminTextareaWidget
from django.utils.safestring import mark_safe
from django.template.loader import render_to_string
from django.utils.translation import ugettext_lazy as _

from os.path import join

register_widget(TextInput)
register_widget(Textarea)
register_widget(AdminTextInputWidget)
register_widget(AdminTextareaWidget)


class RichTextarea(Textarea):
    """A RichTextarea widget."""
    class Media:
        js = [join(PAGES_MEDIA_URL, path) for path in (
            'javascript/jquery.js',
        )]
        css = {
            'all': [join(PAGES_MEDIA_URL, path) for path in (
                'css/rte.css',
            )]
Example #5
0
        # app_label = 'pages'
        verbose_name_plural = _('categories')

    def __unicode__(self):
        return self.title

    def get_pages(self):
        """Cache the pages we have"""
        key = self.PAGES_KEY % self.id
        pages = cache.get(key, None)
        if pages is None:
            pages = Page.objects.filter(content__language=self.language,
                    content__type='category', content__body=self.slug)
            cache.set(key, pages)
        return pages


class CategoryWidget(forms.Select):
    """Can use Categories through placeholders"""
    def __init__(self, attrs=None, language=None, **kwargs):
        choices = kwargs.pop('choices', ())
        choices = list(choices)
        cats = Category.objects.all()
        if language:
            cats = cats.filter(language=language)
        choices.extend((cat.slug, cat.title) for cat in cats)
        super(CategoryWidget, self).__init__(attrs=attrs, choices=choices)


register_widget(CategoryWidget)
Example #6
0
from pages.models import Page
from pages.widgets_registry import register_widget

from django import forms
from django.forms import TextInput, Textarea
from django.forms import MultiWidget
from django.forms import FileInput as DFileInput
from django.contrib.admin.widgets import AdminTextInputWidget
from django.contrib.admin.widgets import AdminTextareaWidget
from django.utils.safestring import mark_safe
from django.template.loader import render_to_string
from django.utils.translation import ugettext_lazy as _

from os.path import join

register_widget(TextInput)
register_widget(Textarea)
register_widget(AdminTextInputWidget)
register_widget(AdminTextareaWidget)


class RichTextarea(Textarea):
    """A RichTextarea widget."""
    class Media:
        js = [join(PAGES_STATIC_URL, path) for path in (
            'javascript/jquery.js',
            'javascript/jquery.rte.js'
        )]
        css = {
            'all': [join(PAGES_STATIC_URL, path) for path in (
                'css/rte.css',
Example #7
0
from pages.models import Page
from pages.widgets_registry import register_widget

from django.conf import settings
from django.forms import TextInput, Textarea, HiddenInput
from django.forms import MultiWidget, FileInput
from django.contrib.admin.widgets import AdminTextInputWidget
from django.contrib.admin.widgets import AdminTextareaWidget
from django.utils.safestring import mark_safe
from django.template.loader import render_to_string
from django.core.exceptions import ObjectDoesNotExist
from django.utils.translation import ugettext as _

from os.path import join

register_widget(TextInput)
register_widget(Textarea)
register_widget(AdminTextInputWidget)
register_widget(AdminTextareaWidget)

if "filebrowser" in getattr(settings, 'INSTALLED_APPS', []):
    from filebrowser.fields import FileBrowseWidget

    class FileBrowseInput(FileBrowseWidget):
        """FileBrowseInput widget."""
        def __init__(self, attrs={}):
            super(FileBrowseInput, self).__init__(attrs)

    register_widget(FileBrowseInput)

Example #8
0
from pages.widgets_registry import register_widget

from django.conf import settings
from django import forms
from django.forms import TextInput, Textarea, HiddenInput
from django.forms import MultiWidget, FileInput
from django.contrib.admin.widgets import AdminTextInputWidget
from django.contrib.admin.widgets import AdminTextareaWidget
from django.utils.safestring import mark_safe
from django.template.loader import render_to_string
from django.core.exceptions import ObjectDoesNotExist
from django.utils.translation import ugettext as _

from os.path import join

register_widget(TextInput)
register_widget(Textarea)
register_widget(AdminTextInputWidget)
register_widget(AdminTextareaWidget)

if "filebrowser" in getattr(settings, 'INSTALLED_APPS', []):
    from filebrowser.fields import FileBrowseWidget

    class FileBrowseInput(FileBrowseWidget):
        """FileBrowseInput widget."""

        def __init__(self, attrs={}):
            super(FileBrowseInput, self).__init__(attrs)
    register_widget(FileBrowseInput)

Example #9
0
# -*- coding: utf-8 -*-
from django.contrib.admin.widgets import FilteredSelectMultiple, AdminDateWidget
from django.forms import Select, CheckboxInput, Textarea
from pages.models import Page
from pages.widgets_registry import register_widget
from tinymce.widgets import TinyMCE

from lpribor.custom_catalog.models import Product, Section

register_widget(TinyMCE)


class LargeTextarea(Textarea):
    def __init__(self, language=None, attrs=None, **kwargs):
        attrs = {'cols': None}
        super(LargeTextarea, self).__init__(attrs)


register_widget(LargeTextarea)


class AdminDate(AdminDateWidget):
    def __init__(self, language=None, attrs=None, **kwargs):
        attrs = {'format': '%Y %m %d %H %M'}
        super(AdminDate, self).__init__(attrs)


register_widget(AdminDate)


class Checkbox(CheckboxInput):
Example #10
0
# -*- coding: utf-8 -*-
from django.contrib.admin.widgets import FilteredSelectMultiple
from django.forms import Select, CheckboxInput, Textarea
from pages.models import Page
from pages.widgets_registry import register_widget
from tinymce.widgets import TinyMCE

register_widget(TinyMCE)


class LargeTextarea(Textarea):
    def __init__(self, language=None, attrs=None, **kwargs):
        attrs = {'cols': None}
        super(LargeTextarea, self).__init__(attrs)


register_widget(LargeTextarea)


class Checkbox(CheckboxInput):
    def __init__(self, language=None, attrs=None, **kwargs):
        attrs = {'style': 'display:inline-block;margin:6px 3px 3px 4px;'}
        super(Checkbox, self).__init__(attrs)
        self.check_test = self.check

    def check(self, value):
        if value in [None, False, '', 'False']:
            return False
        else:
            return bool(value)
Example #11
0
from django.forms import Textarea
from pages.widgets_registry import register_widget


class TinyMceTextArea(Textarea):
    """A RichTextarea widget."""
    class Media:
        js = [
            'tinymce_4/tinymce/tinymce.min.js',
            'tinymce_4/settings/django-filebrowser.js',
            'tinymce_4/settings/full.js'
        ]
        css = {
            'all': [
                'tinymce_4/settings/django-grapelli.css',
            ]
        }

    def __init__(self, language=None, attrs=None, **kwargs):
        attrs = {'class': 'tinymce'}
        self.language = language
        super(TinyMceTextArea, self).__init__(attrs)

    def render(self, name, value, attrs=None, **kwargs):
        rendered = super(TinyMceTextArea, self).render(name, value, attrs)
        return rendered


register_widget(TinyMceTextArea)