Ejemplo n.º 1
0
    def setUp(self):
        super(TestAppDataAdmin, self).setUp()
        app_registry.register('publish', AppDataContainer.from_form(PublishAppForm))
        app_registry.register('rss', AppDataContainer.from_form(RSSAppForm))
        self.url =  '/admin/test_app_data/article/'
        User.objects.create_superuser('admin', '*****@*****.**', 'secret')

        self.client.login(username='******', password='******')
Ejemplo n.º 2
0
def setup_config(form_class, config_model):
    """
    Register the provided form as config form for the provided config model
    :param form_class: Form class derived from AppDataForm
    :param config_model: Model class derived from AppHookConfig
    :return:
    """
    app_registry.register('config', AppDataContainer.from_form(form_class), config_model)
Ejemplo n.º 3
0
    def setUp(self):
        super(TestAppDataAdmin, self).setUp()
        app_registry.register('publish',
                              AppDataContainer.from_form(PublishAppForm))
        app_registry.register('rss', AppDataContainer.from_form(RSSAppForm))
        self.url = '/admin/test_app_data/article/'
        User.objects.create_superuser('admin', '*****@*****.**', 'secret')

        self.client.login(username='******', password='******')
Ejemplo n.º 4
0
def setup_config(form_class, config_model):
    """
    Register the provided form as config form for the provided config model
    :param form_class: Form class derived from AppDataForm
    :param config_model: Model class derived from AppHookConfig
    :return:
    """
    app_registry.register('config', AppDataContainer.from_form(form_class),
                          config_model)
Ejemplo n.º 5
0
def setup_config(form_class, config_model=None):
    """
    Register the provided form as config form for the provided config model

    This can be used as a decorator by adding a `model` attribute to the config form::

        @setup_config
        class ExampleConfigForm(AppDataForm):
            model = ExampleConfig

    :param form_class: Form class derived from AppDataForm
    :param config_model: Model class derived from AppHookConfig
    :return:
    """
    # allow use as a decorator
    if config_model is None:
        return setup_config(form_class, form_class.model)

    app_registry.register('config', AppDataContainer.from_form(form_class), config_model)
Ejemplo n.º 6
0
        paginator = FirstPagePaginator(self.get_listings(**kwargs),
                                       paginate_by,
                                       first_page_count=first_page_count)

        if page_no > paginator.num_pages or page_no < 1:
            raise Http404(_('Invalid page number %r') % page_no)

        return paginator.page(page_no)

    @property
    def child_behavior(self):
        if self.child_listings is None:
            return ListingHandler.ALL if self._instance.tree_parent_id else ListingHandler.NONE
        return self.child_listings

app_registry.register('ella', EllaAppDataContainer, Category)


# connect redis listing handler signals
connect_signals()

# connect cache invalidation signals
connect_invalidation_signals()

try:
    # django < 1.9
    from django.template.base import add_to_builtins
except ImportError:
    pass
else:
    # add core templatetags to builtin so that you don't have to invoke {% load core %} in every template
Ejemplo n.º 7
0
                                       paginate_by,
                                       first_page_count=first_page_count)

        if page_no > paginator.num_pages or page_no < 1:
            raise Http404(_('Invalid page number %r') % page_no)

        return paginator.page(page_no)

    @property
    def child_behavior(self):
        if self.child_listings is None:
            return ListingHandler.ALL if self._instance.tree_parent_id else ListingHandler.NONE
        return self.child_listings


app_registry.register('ella', EllaAppDataContainer, Category)

# connect redis listing handler signals
connect_signals()

# connect cache invalidation signals
connect_invalidation_signals()

# add core templatetags to builtin so that you don't have to invoke {% load core %} in every template
template.add_to_builtins('ella.core.templatetags.core')
# keep this here for backwards compatibility
template.add_to_builtins('ella.core.templatetags.related')
# and custom urls
template.add_to_builtins('ella.core.templatetags.custom_urls_tags')
# and the same for i18n
template.add_to_builtins('django.templatetags.i18n')
Ejemplo n.º 8
0
from app_data import app_registry

from entree.enauth.containers import EntreeDataContainer
from entree.enauth.models import LoginToken

app_registry.register('entree', EntreeDataContainer, LoginToken)
Ejemplo n.º 9
0
from django import forms

from app_data import app_registry, AppDataForm, AppDataContainer

from ella.core.models import Category
from ella.core.conf import core_settings

class CategoryAppForm(AppDataForm):
    archive_template = forms.CharField(initial=core_settings.ARCHIVE_TEMPLATE, required=False)
    no_home_listings = forms.BooleanField(initial=core_settings.CATEGORY_NO_HOME_LISTINGS, required=False)
    listing_handler = forms.CharField(initial='default', required=False)
    paginate_by = forms.IntegerField(initial=core_settings.CATEGORY_LISTINGS_PAGINATE_BY, required=False)
    propagate_listings = forms.BooleanField(initial=True, required=False)

app_registry.register('ella', AppDataContainer.from_form(CategoryAppForm), Category)

Ejemplo n.º 10
0
    alternate_registry = NamespaceRegistry()
    app_data = AppDataField(app_registry=alternate_registry)


class PublishAppForm(AppDataForm):
    publish_from = forms.DateTimeField()
    published = forms.BooleanField(required=False)
    publish_to = forms.DateTimeField(required=False)


class RSSAppForm(AppDataForm):
    title = forms.CharField(max_length=20)
    author = forms.CharField(max_length=20)
    description = forms.CharField(max_length=200)


class PersonalAppForm(AppDataForm):
    first_name = forms.CharField(max_length=20, required=False)
    last_name = forms.CharField(max_length=20, required=False)


class AlternateRegistryAppForm(AppDataForm):
    alternate_field = forms.CharField(max_length=20, required=False)


app_registry.register('publish', AppDataContainer.from_form(PublishAppForm))
app_registry.register('rss', AppDataContainer.from_form(RSSAppForm))
app_registry.register('personal', AppDataContainer.from_form(PersonalAppForm))
AlternateRegistryModel.alternate_registry.register(
    'alternate', AppDataContainer.from_form(AlternateRegistryAppForm))
    app_data = AppDataField()


class Tag(models.Model):
    name = models.CharField(max_length=255)

    def __unicode__(self):
        return self.name


from django.forms.models import ModelMultipleChoiceField
from app_data import app_registry, AppDataForm, AppDataContainer


class TaggingAppDataForm(AppDataForm):
    public_tags = ModelMultipleChoiceField(Tag.objects.all())
    admin_tags = ModelMultipleChoiceField(Tag.objects.all())

    admin_fieldsets = [
        ('Taggingzs!', {'fields': [('tagging.public_tags', 'tagging.admin_tags')]})
    ]


class TaggingAppDataContainer(AppDataContainer):
    form_class = TaggingAppDataForm

    def tag_string(self):
        print ', '.join(t.name for t in self.public_tags)

app_registry.register('tagging', TaggingAppDataContainer, MyModel)
Ejemplo n.º 12
0
class Author(models.Model):
    publishable = models.ForeignKey(Publishable)
    app_data = AppDataField()

class AlternateRegistryModel(models.Model):
    alternate_registry = NamespaceRegistry()
    app_data = AppDataField(app_registry=alternate_registry)

class PublishAppForm(AppDataForm):
    publish_from = forms.DateTimeField()
    published = forms.BooleanField(required=False)
    publish_to = forms.DateTimeField(required=False)

class RSSAppForm(AppDataForm):
    title = forms.CharField(max_length=20)
    author = forms.CharField(max_length=20)
    description = forms.CharField(max_length=200)

class PersonalAppForm(AppDataForm):
    first_name = forms.CharField(max_length=20, required=False)
    last_name = forms.CharField(max_length=20, required=False)

class AlternateRegistryAppForm(AppDataForm):
    alternate_field = forms.CharField(max_length=20, required=False)

app_registry.register('publish', AppDataContainer.from_form(PublishAppForm))
app_registry.register('rss', AppDataContainer.from_form(RSSAppForm))
app_registry.register('personal', AppDataContainer.from_form(PersonalAppForm))
AlternateRegistryModel.alternate_registry.register(
    'alternate', AppDataContainer.from_form(AlternateRegistryAppForm))
Ejemplo n.º 13
0

class Tag(models.Model):
    name = models.CharField(max_length=255)

    def __unicode__(self):
        return self.name


from django.forms.models import ModelMultipleChoiceField
from app_data import app_registry, AppDataForm, AppDataContainer


class TaggingAppDataForm(AppDataForm):
    public_tags = ModelMultipleChoiceField(Tag.objects.all())
    admin_tags = ModelMultipleChoiceField(Tag.objects.all())

    admin_fieldsets = [('Taggingzs!', {
        'fields': [('tagging.public_tags', 'tagging.admin_tags')]
    })]


class TaggingAppDataContainer(AppDataContainer):
    form_class = TaggingAppDataForm

    def tag_string(self):
        print ', '.join(t.name for t in self.public_tags)


app_registry.register('tagging', TaggingAppDataContainer, MyModel)