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
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:
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', )]
# 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)
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',
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)
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)
# -*- 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):
# -*- 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)
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)