Ejemplo n.º 1
0
        """
        cls.register_request_processor(processors.redirect_request_processor,
                                       key='redirect')
        cls.register_request_processor(
            processors.extra_context_request_processor, key='extra_context')

        if frontend_editing:
            cls.register_request_processor(
                processors.frontendediting_request_processor,
                key='frontend_editing')
            cls.register_response_processor(
                processors.frontendediting_response_processor,
                key='frontend_editing')


# ------------------------------------------------------------------------
class Page(BasePage):
    class Meta:
        ordering = ['tree_id', 'lft']
        verbose_name = _('page')
        verbose_name_plural = _('pages')


Page.register_default_processors(
    frontend_editing=settings.FEINCMS_FRONTEND_EDITING)

signals.post_syncdb.connect(check_database_schema(Page, __name__), weak=False)

# ------------------------------------------------------------------------
# ------------------------------------------------------------------------
Ejemplo n.º 2
0
        cls.response_processors.extend(processors)

    @classmethod
    def register_extension(cls, register_fn):
        register_fn(cls, PageAdmin)


# ------------------------------------------------------------------------
mptt.register(Page)

# Our default request processors
Page.register_request_processors(Page.require_path_active_request_processor,
                                 Page.frontendediting_request_processor,
                                 Page.redirect_request_processor)

signals.post_syncdb.connect(check_database_schema(Page, __name__), weak=False)

# MARK: -
# ------------------------------------------------------------------------
class PageAdminForm(forms.ModelForm):
    def __init__(self, *args, **kwargs):
        if 'initial' in kwargs:
            if 'parent' in kwargs['initial']:
                # Prefill a few form values from the parent page
                try:
                    page = Page.objects.get(pk=kwargs['initial']['parent'])
                    data = model_to_dict(page)

                    for field in PageManager.exclude_from_copy:
                        if field in data:
                            del data[field]
Ejemplo n.º 3
0
        cls.register_request_processor(
            processors.extra_context_request_processor, key='extra_context')

        if frontend_editing:
            cls.register_request_processor(
                processors.frontendediting_request_processor,
                key='frontend_editing')
            cls.register_response_processor(
                processors.frontendediting_response_processor,
                key='frontend_editing')


# ------------------------------------------------------------------------
class Page(BasePage):
    class Meta:
        ordering = ['tree_id', 'lft']
        verbose_name = _('page')
        verbose_name_plural = _('pages')
        # not yet # permissions = (("edit_page", _("Can edit page metadata")),)

Page.register_default_processors(
    frontend_editing=settings.FEINCMS_FRONTEND_EDITING)

if settings.FEINCMS_CHECK_DATABASE_SCHEMA:
    signals.post_syncdb.connect(
        check_database_schema(Page, __name__),
        weak=False)

# ------------------------------------------------------------------------
# ------------------------------------------------------------------------
Ejemplo n.º 4
0
    
    @classmethod
    def add_view_link_to_job(cls, identifier,job):
        if identifier not in cls._view_links.keys():
            raise ImproperlyConfigured("no view with identifier '%s' found" % identifier)
        return job.add_link(cls._view_links[identifier], identifier=identifier)
    
    @classmethod
    def get_view_link(cls, identifier):
        if identifier not in cls._view_links.keys():
            raise ImproperlyConfigured("no view with identifier '%s' found" % identifier)
        return cls._view_links[identifier]
        
            
Newsletter.__module__ = 'pennyblack.models'    
signals.post_syncdb.connect(check_database_schema(Newsletter, __name__), weak=False)

class NewsletterAdmin(item_editor.ItemEditor, admin.ModelAdmin):
    list_display = ('name', 'subject', 'language', 'newsletter_type')
    raw_id_fields = ('header_image',)
    fieldsets = (
        (None, {
            'fields': ['name', 'subject', 'sender', 'reply_email', 'template_key'],
        }),
        (_('Other options'), {
            'fields': ('newsletter_type', 'language', 'utm_source','utm_medium', 'header_image', 'header_url', 'site'),
        }),
        item_editor.FEINCMS_CONTENT_FIELDSET,
    )
    exclude = ('header_url_replaced',)
Ejemplo n.º 5
0
    
    @classmethod
    def add_view_link_to_job(cls, identifier,job):
        if identifier not in cls._view_links.keys():
            raise ImproperlyConfigured("no view with identifier '%s' found" % identifier)
        return job.add_link(cls._view_links[identifier], identifier=identifier)
    
    @classmethod
    def get_view_link(cls, identifier):
        if identifier not in cls._view_links.keys():
            raise ImproperlyConfigured("no view with identifier '%s' found" % identifier)
        return cls._view_links[identifier]
        
            
Newsletter.__module__ = 'pennyblack.models'    
signals.post_syncdb.connect(check_database_schema(Newsletter, __name__), weak=False)

class NewsletterAdmin(editor.ItemEditor, admin.ModelAdmin):
    list_display = ('name', 'subject', 'language', 'newsletter_type')
    raw_id_fields = ('header_image',)
    fieldsets = (
        (None, {
            'fields': ['name', 'subject', 'sender', 'reply_email', 'template_key'],
        }),
        (_('Other options'), {
            'classes': ['collapse',],
            'fields': ('newsletter_type', 'language', 'utm_source','utm_medium', 'header_image', 'header_url', 'site'),
        }),
        item_editor.FEINCMS_CONTENT_FIELDSET,
    )
    exclude = ('header_url_replaced',)
Ejemplo n.º 6
0
    def __str__(self):
        return self.title

    def save(self, *args, **kwargs):
        if self.published and not self.published_on:
            self.published_on = timezone.now()
        super(Entry, self).save(*args, **kwargs)
    save.alters_data = True

    @models.permalink
    def get_absolute_url(self):
        return ('blog_entry_detail', (self.id,), {})


if settings.FEINCMS_CHECK_DATABASE_SCHEMA:
    signals.post_syncdb.connect(
        check_database_schema(Entry, __name__),
        weak=False)


class EntryAdmin(item_editor.ItemEditor):
    date_hierarchy = 'published_on'
    list_display = ['__str__', 'published', 'published_on']
    list_filter = ['published']
    search_fields = ['title', 'slug']
    prepopulated_fields = {
        'slug': ('title',),
    }

    raw_id_fields = []
Ejemplo n.º 7
0
    def __str__(self):
        return self.title

    def save(self, *args, **kwargs):
        if self.published and not self.published_on:
            self.published_on = timezone.now()
        super(Entry, self).save(*args, **kwargs)

    save.alters_data = True

    @models.permalink
    def get_absolute_url(self):
        return ('blog_entry_detail', (self.id, ), {})


if settings.FEINCMS_CHECK_DATABASE_SCHEMA:
    signals.post_syncdb.connect(check_database_schema(Entry, __name__),
                                weak=False)


class EntryAdmin(item_editor.ItemEditor):
    date_hierarchy = 'published_on'
    list_display = ['__str__', 'published', 'published_on']
    list_filter = ['published']
    search_fields = ['title', 'slug']
    prepopulated_fields = {
        'slug': ('title', ),
    }

    raw_id_fields = []
Ejemplo n.º 8
0
from django.db.models import signals

from feincms.management.checker import check_database_schema

from djapps.blogs.abstract_models import AbstractBlog, AbstractPost, PostManager


class Blog(AbstractBlog):
    pass


class Post(AbstractPost):
    pass


signals.post_syncdb.connect(
    check_database_schema(Post, __name__),
    weak=False
)
Ejemplo n.º 9
0
    class Meta:
        ordering = ('-date', )
        verbose_name = _('News')
        verbose_name_plural = _('News')

    def __str__(self):
        return self.title

    @app_models.permalink
    def get_absolute_url(self):
        return ('newsitem_detail', 'website.news_urls', (), {
            'slug': self.slug,
        })


signals.post_syncdb.connect(check_database_schema(NewsItem, __name__),
                            weak=False)


@python_2_unicode_compatible
class Event(Base):
    title = models.CharField(_('title'), max_length=200)
    slug = models.SlugField(_('slug'))
    start_date = models.DateTimeField(_('start date'))
    end_date = models.DateTimeField(_('end date'))
    place = models.CharField(_('place'), max_length=200)
    intro = models.TextField(_('introduction'), blank=True, null=True)

    class Meta:
        ordering = ('start_date', )
        verbose_name = _('Event')