""" 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) # ------------------------------------------------------------------------ # ------------------------------------------------------------------------
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]
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) # ------------------------------------------------------------------------ # ------------------------------------------------------------------------
@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',)
@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',)
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 = []
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 = []
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 )
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')