diff --git a/flatpages_ext/admin.py b/flatpages_ext/admin.py index 0f35232..58f9b47 100644 --- a/flatpages_ext/admin.py +++ b/flatpages_ext/admin.py @@ -1,15 +1,50 @@ from django.contrib import admin -from .models import * +from django.contrib.flatpages.admin import FlatPageAdmin +from django.contrib.flatpages.models import FlatPage -# Register your models here. +from .models import Subscriber -class SubscriberAdmin(admin.ModelAdmin): - list_display = [field.name for field in Subscriber._meta.fields] - list_filter = ['name'] - search_fields = ['name', 'email'] +# Register your models here. +@admin.register(Subscriber) +class SubscriberAdmin(admin.ModelAdmin): + list_display = tuple(field.name for field in Subscriber._meta.fields) + list_filter = ('name',) + search_fields = ('name', 'email',) class Meta: model = Subscriber -admin.site.register(Subscriber, SubscriberAdmin) \ No newline at end of file + +from django.contrib import admin +from django.utils.translation import ugettext_lazy as _ + +from ckeditor_uploader.widgets import CKEditorUploadingWidget + +from .models import CKFlatPage + + +@admin.register(CKFlatPage) +class CKFlatPageAdmin(FlatPageAdmin): + list_display = ('order', 'url', 'title', 'is_visible',) + list_editable = ('order', 'is_visible',) + list_display_links = ('url',) + ordering = ('order',) + fieldsets = ( + (None, {'fields': (('order', 'url', 'is_visible', 'header_class'), 'title', 'content', 'sites')}), + (_('SEO'), { + 'classes': ('collapse',), + 'fields': ('description', 'keywords'), + }), + (_('Advanced options'), { + 'classes': ('collapse',), + 'fields': ('registration_required', 'template_name'), + }), + ) + + def formfield_for_dbfield(self, db_field, **kwargs): + if 'content' in db_field.name: + kwargs['widget'] = CKEditorUploadingWidget(config_name='awesome_ckeditor',attrs={'class':'mt mt-field-content-%s' % db_field.name.replace('content', '')}) + return super(CKFlatPageAdmin, self).formfield_for_dbfield(db_field, **kwargs) + +admin.site.unregister(FlatPage) diff --git a/flatpages_ext/forms.py b/flatpages_ext/forms.py index 3c87991..eebe97b 100644 --- a/flatpages_ext/forms.py +++ b/flatpages_ext/forms.py @@ -1,8 +1,7 @@ from django import forms from .models import * -class SubscriberForm(forms.ModelForm): +class SubscriberForm(forms.ModelForm): class Meta: model = Subscriber - exclude = [""] \ No newline at end of file diff --git a/flatpages_ext/models.py b/flatpages_ext/models.py index a395b1d..42683f4 100644 --- a/flatpages_ext/models.py +++ b/flatpages_ext/models.py @@ -1,16 +1,33 @@ from django.db import models +from django.contrib.flatpages.models import FlatPage +from django.utils.translation import ugettext_lazy as _ + # Create your models here. class Subscriber(models.Model): - email = models.EmailField() - name = models.CharField(max_length=128) + email = models.EmailField(_('Email')) + name = models.CharField(_('Имя'), max_length=128) class Meta: - verbose_name = 'MySubsciber' - verbose_name_plural = 'List of Subscribers' + verbose_name = _('Подписчик') + verbose_name_plural = _('Подписчики') def __str__(self): try: return self.name except: - return '{0!s}'.format(self.id) \ No newline at end of file + return '{0!s}'.format(self.id) + + +# Create your models here. + +class CKFlatPage(FlatPage): + order = models.PositiveIntegerField(_('Порядок'), default=0) + is_visible = models.BooleanField(_('показывать?'), default=True) + header_class = models.CharField(_('Header css class'), max_length=255, null=True, blank=True) + description = models.CharField(verbose_name=_("Meta описание"), max_length=255, null=True, blank=True) + keywords = models.CharField(verbose_name=_("Meta теги"), max_length=255, null=True, blank=True) + + class Meta: + verbose_name = _('Простая страница') + verbose_name_plural = _('Простые страницы')