kopia lustrzana https://github.com/wagtail/wagtail
Changed verbose names to start with lowercase when necessary
rodzic
c92d12755c
commit
32b4124767
|
@ -20,6 +20,7 @@ Changelog
|
|||
* Fix: Settings menu now opens correctly from the page editor and styleguide views
|
||||
* Fix: `subpage_types` / `parent_page_types` business rules are now enforced when moving pages
|
||||
* Fix: Multi-word tags on images and documents are now correctly preserved as a single tag (LKozlowski)
|
||||
* Fix: Changed verbose names to start with lower case where necessary (Maris Serzans)
|
||||
|
||||
1.2 (12.11.2015)
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
|
|
@ -69,7 +69,7 @@ You can add an icon to the menu by passing an 'icon' argument to the ``register_
|
|||
@register_setting(icon='icon-placeholder')
|
||||
class SocialMediaSettings(BaseSetting):
|
||||
class Meta:
|
||||
verbose_name = 'Social media accounts'
|
||||
verbose_name = 'social media accounts'
|
||||
...
|
||||
|
||||
For a list of all available icons, please see the :ref:`styleguide`.
|
||||
|
|
|
@ -35,6 +35,7 @@ Bug fixes
|
|||
* Settings menu now opens correctly from the page editor and styleguide views
|
||||
* ``subpage_types`` / ``parent_page_types`` business rules are now enforced when moving pages
|
||||
* Multi-word tags on images and documents are now correctly preserved as a single tag (LKozlowski)
|
||||
* Changed verbose names to start with lower case where necessary (Maris Serzans)
|
||||
|
||||
|
||||
Upgrade considerations
|
||||
|
|
|
@ -141,8 +141,8 @@ To attach multiple adverts to a page, the ``SnippetChooserPanel`` can be placed
|
|||
advert = models.ForeignKey('demo.Advert', related_name='+')
|
||||
|
||||
class Meta:
|
||||
verbose_name = "Advert Placement"
|
||||
verbose_name_plural = "Advert Placements"
|
||||
verbose_name = "advert placement"
|
||||
verbose_name_plural = "advert placements"
|
||||
|
||||
panels = [
|
||||
SnippetChooserPanel('advert'),
|
||||
|
|
|
@ -0,0 +1,28 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import models, migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('wagtailsearchpromotions', '0001_initial'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterModelOptions(
|
||||
name='searchpromotion',
|
||||
options={'ordering': ('sort_order',), 'verbose_name': 'search promotion'},
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='searchpromotion',
|
||||
name='description',
|
||||
field=models.TextField(blank=True, verbose_name='description'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='searchpromotion',
|
||||
name='page',
|
||||
field=models.ForeignKey(to='wagtailcore.Page', verbose_name='page'),
|
||||
),
|
||||
]
|
|
@ -6,13 +6,13 @@ from wagtail.wagtailsearch.models import Query
|
|||
|
||||
class SearchPromotion(models.Model):
|
||||
query = models.ForeignKey(Query, db_index=True, related_name='editors_picks')
|
||||
page = models.ForeignKey('wagtailcore.Page', verbose_name=_('Page'))
|
||||
page = models.ForeignKey('wagtailcore.Page', verbose_name=_('page'))
|
||||
sort_order = models.IntegerField(null=True, blank=True, editable=False)
|
||||
description = models.TextField(verbose_name=_('Description'), blank=True)
|
||||
description = models.TextField(verbose_name=_('description'), blank=True)
|
||||
|
||||
def __repr__(self):
|
||||
return 'SearchPromotion(query="' + self.query.query_string + '", page="' + self.page.title + '")'
|
||||
|
||||
class Meta:
|
||||
ordering = ('sort_order', )
|
||||
verbose_name = _("Search promotion")
|
||||
verbose_name = _("search promotion")
|
||||
|
|
|
@ -0,0 +1,18 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('demosite', '0001_initial'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterModelOptions(
|
||||
name='homepage',
|
||||
options={'verbose_name': 'homepage'},
|
||||
),
|
||||
]
|
|
@ -150,7 +150,7 @@ class HomePage(Page):
|
|||
)
|
||||
|
||||
class Meta:
|
||||
verbose_name = "Homepage"
|
||||
verbose_name = "homepage"
|
||||
|
||||
|
||||
class HomePageCarouselItem(Orderable, AbstractCarouselItem):
|
||||
|
|
|
@ -0,0 +1,196 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import models, migrations
|
||||
import wagtail.wagtailimages.models
|
||||
import taggit.managers
|
||||
from django.conf import settings
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('tests', '0019_customimagefilepath'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='customimage',
|
||||
name='created_at',
|
||||
field=models.DateTimeField(db_index=True, auto_now_add=True, verbose_name='created at'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='customimage',
|
||||
name='file',
|
||||
field=models.ImageField(
|
||||
width_field='width',
|
||||
height_field='height',
|
||||
verbose_name='file',
|
||||
upload_to=wagtail.wagtailimages.models.get_upload_to
|
||||
),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='customimage',
|
||||
name='height',
|
||||
field=models.IntegerField(editable=False, verbose_name='height'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='customimage',
|
||||
name='tags',
|
||||
field=taggit.managers.TaggableManager(
|
||||
help_text=None,
|
||||
blank=True,
|
||||
through='taggit.TaggedItem',
|
||||
to='taggit.Tag',
|
||||
verbose_name='tags'
|
||||
),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='customimage',
|
||||
name='title',
|
||||
field=models.CharField(max_length=255, verbose_name='title'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='customimage',
|
||||
name='uploaded_by_user',
|
||||
field=models.ForeignKey(
|
||||
editable=False,
|
||||
blank=True,
|
||||
to=settings.AUTH_USER_MODEL,
|
||||
null=True, verbose_name='uploaded by user'
|
||||
),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='customimage',
|
||||
name='width',
|
||||
field=models.IntegerField(editable=False, verbose_name='width'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='customimagefilepath',
|
||||
name='created_at',
|
||||
field=models.DateTimeField(db_index=True, auto_now_add=True, verbose_name='created at'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='customimagefilepath',
|
||||
name='file',
|
||||
field=models.ImageField(
|
||||
width_field='width',
|
||||
height_field='height',
|
||||
verbose_name='file',
|
||||
upload_to=wagtail.wagtailimages.models.get_upload_to
|
||||
),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='customimagefilepath',
|
||||
name='height',
|
||||
field=models.IntegerField(editable=False, verbose_name='height'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='customimagefilepath',
|
||||
name='tags',
|
||||
field=taggit.managers.TaggableManager(
|
||||
help_text=None,
|
||||
blank=True,
|
||||
through='taggit.TaggedItem',
|
||||
to='taggit.Tag',
|
||||
verbose_name='tags'
|
||||
),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='customimagefilepath',
|
||||
name='title',
|
||||
field=models.CharField(max_length=255, verbose_name='title'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='customimagefilepath',
|
||||
name='uploaded_by_user',
|
||||
field=models.ForeignKey(
|
||||
editable=False,
|
||||
blank=True,
|
||||
to=settings.AUTH_USER_MODEL,
|
||||
null=True,
|
||||
verbose_name='uploaded by user'
|
||||
),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='customimagefilepath',
|
||||
name='width',
|
||||
field=models.IntegerField(editable=False, verbose_name='width'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='formfield',
|
||||
name='choices',
|
||||
field=models.CharField(
|
||||
help_text='Comma separated list of choices. Only applicable in checkboxes, radio and dropdown.',
|
||||
max_length=512,
|
||||
blank=True,
|
||||
verbose_name='choices'
|
||||
),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='formfield',
|
||||
name='default_value',
|
||||
field=models.CharField(
|
||||
help_text='Default value. Comma separated values supported for checkboxes.',
|
||||
max_length=255,
|
||||
blank=True,
|
||||
verbose_name='default value'
|
||||
),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='formfield',
|
||||
name='field_type',
|
||||
field=models.CharField(
|
||||
max_length=16,
|
||||
verbose_name='field type',
|
||||
choices=[
|
||||
('singleline', 'Single line text'),
|
||||
('multiline', 'Multi-line text'),
|
||||
('email', 'Email'),
|
||||
('number', 'Number'),
|
||||
('url', 'URL'),
|
||||
('checkbox', 'Checkbox'),
|
||||
('checkboxes', 'Checkboxes'),
|
||||
('dropdown', 'Drop down'),
|
||||
('radio', 'Radio buttons'),
|
||||
('date', 'Date'),
|
||||
('datetime', 'Date/time')
|
||||
]
|
||||
),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='formfield',
|
||||
name='help_text',
|
||||
field=models.CharField(max_length=255, blank=True, verbose_name='help text'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='formfield',
|
||||
name='label',
|
||||
field=models.CharField(help_text='The label of the form field', max_length=255, verbose_name='label'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='formfield',
|
||||
name='required',
|
||||
field=models.BooleanField(default=True, verbose_name='required'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='formpage',
|
||||
name='from_address',
|
||||
field=models.CharField(max_length=255, blank=True, verbose_name='from address'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='formpage',
|
||||
name='subject',
|
||||
field=models.CharField(max_length=255, blank=True, verbose_name='subject'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='formpage',
|
||||
name='to_address',
|
||||
field=models.CharField(
|
||||
help_text='Optional - form submissions will be emailed to this address',
|
||||
max_length=255,
|
||||
blank=True,
|
||||
verbose_name='to address'
|
||||
),
|
||||
),
|
||||
]
|
|
@ -0,0 +1,166 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import models, migrations
|
||||
import django.db.models.deletion
|
||||
from django.conf import settings
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('wagtailcore', '0020_add_index_on_page_first_published_at'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='grouppagepermission',
|
||||
name='group',
|
||||
field=models.ForeignKey(related_name='page_permissions', to='auth.Group', verbose_name='group'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='grouppagepermission',
|
||||
name='page',
|
||||
field=models.ForeignKey(related_name='group_permissions', to='wagtailcore.Page', verbose_name='page'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='grouppagepermission',
|
||||
name='permission_type',
|
||||
field=models.CharField(max_length=20, verbose_name='permission type', choices=[('add', 'Add/edit pages you own'), ('edit', 'Edit any page'), ('publish', 'Publish any page'), ('lock', 'Lock/unlock any page')]),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='page',
|
||||
name='content_type',
|
||||
field=models.ForeignKey(related_name='pages', to='contenttypes.ContentType', verbose_name='content type'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='page',
|
||||
name='expire_at',
|
||||
field=models.DateTimeField(null=True, blank=True, help_text='Please add a date-time in the form YYYY-MM-DD hh:mm.', verbose_name='expiry date/time'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='page',
|
||||
name='expired',
|
||||
field=models.BooleanField(default=False, editable=False, verbose_name='expired'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='page',
|
||||
name='first_published_at',
|
||||
field=models.DateTimeField(null=True, db_index=True, editable=False, verbose_name='first published at'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='page',
|
||||
name='go_live_at',
|
||||
field=models.DateTimeField(null=True, blank=True, help_text='Please add a date-time in the form YYYY-MM-DD hh:mm.', verbose_name='go live date/time'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='page',
|
||||
name='has_unpublished_changes',
|
||||
field=models.BooleanField(default=False, editable=False, verbose_name='has unpublished changes'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='page',
|
||||
name='latest_revision_created_at',
|
||||
field=models.DateTimeField(null=True, editable=False, verbose_name='latest revision created at'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='page',
|
||||
name='live',
|
||||
field=models.BooleanField(default=True, editable=False, verbose_name='live'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='page',
|
||||
name='locked',
|
||||
field=models.BooleanField(default=False, editable=False, verbose_name='locked'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='page',
|
||||
name='owner',
|
||||
field=models.ForeignKey(blank=True, on_delete=django.db.models.deletion.SET_NULL, related_name='owned_pages', null=True, to=settings.AUTH_USER_MODEL, editable=False, verbose_name='owner'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='page',
|
||||
name='search_description',
|
||||
field=models.TextField(blank=True, verbose_name='search description'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='page',
|
||||
name='seo_title',
|
||||
field=models.CharField(max_length=255, blank=True, help_text="Optional. 'Search Engine Friendly' title. This will appear at the top of the browser window.", verbose_name='page title'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='page',
|
||||
name='show_in_menus',
|
||||
field=models.BooleanField(default=False, help_text='Whether a link to this page will appear in automatically generated menus', verbose_name='show in menus'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='page',
|
||||
name='slug',
|
||||
field=models.SlugField(max_length=255, verbose_name='slug', help_text='The name of the page as it will appear in URLs e.g http://domain.com/blog/[my-slug]/'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='page',
|
||||
name='title',
|
||||
field=models.CharField(max_length=255, help_text="The page title as you'd like it to be seen by the public", verbose_name='title'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='pagerevision',
|
||||
name='approved_go_live_at',
|
||||
field=models.DateTimeField(null=True, blank=True, verbose_name='approved go live at'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='pagerevision',
|
||||
name='content_json',
|
||||
field=models.TextField(verbose_name='content JSON'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='pagerevision',
|
||||
name='created_at',
|
||||
field=models.DateTimeField(verbose_name='created at'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='pagerevision',
|
||||
name='page',
|
||||
field=models.ForeignKey(related_name='revisions', to='wagtailcore.Page', verbose_name='page'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='pagerevision',
|
||||
name='submitted_for_moderation',
|
||||
field=models.BooleanField(default=False, db_index=True, verbose_name='submitted for moderation'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='pagerevision',
|
||||
name='user',
|
||||
field=models.ForeignKey(blank=True, null=True, to=settings.AUTH_USER_MODEL, verbose_name='user'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='pageviewrestriction',
|
||||
name='page',
|
||||
field=models.ForeignKey(related_name='view_restrictions', to='wagtailcore.Page', verbose_name='page'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='pageviewrestriction',
|
||||
name='password',
|
||||
field=models.CharField(max_length=255, verbose_name='password'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='site',
|
||||
name='hostname',
|
||||
field=models.CharField(max_length=255, db_index=True, verbose_name='hostname'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='site',
|
||||
name='is_default_site',
|
||||
field=models.BooleanField(default=False, help_text='If true, this site will handle requests for all other hostnames that do not have a site entry of their own', verbose_name='is default site'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='site',
|
||||
name='port',
|
||||
field=models.IntegerField(default=80, help_text='Set this to something other than 80 if you need a specific port number to appear in URLs (e.g. development on port 8000). Does not affect request handling (so port forwarding still works).', verbose_name='port'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='site',
|
||||
name='root_page',
|
||||
field=models.ForeignKey(related_name='sites_rooted_here', to='wagtailcore.Page', verbose_name='root page'),
|
||||
),
|
||||
]
|
|
@ -57,18 +57,18 @@ class SiteManager(models.Manager):
|
|||
|
||||
@python_2_unicode_compatible
|
||||
class Site(models.Model):
|
||||
hostname = models.CharField(verbose_name=_('Hostname'), max_length=255, db_index=True)
|
||||
hostname = models.CharField(verbose_name=_('hostname'), max_length=255, db_index=True)
|
||||
port = models.IntegerField(
|
||||
verbose_name=_('Port'),
|
||||
verbose_name=_('port'),
|
||||
default=80,
|
||||
help_text=_(
|
||||
"Set this to something other than 80 if you need a specific port number to appear in URLs"
|
||||
" (e.g. development on port 8000). Does not affect request handling (so port forwarding still works)."
|
||||
)
|
||||
)
|
||||
root_page = models.ForeignKey('Page', verbose_name=_('Root page'), related_name='sites_rooted_here')
|
||||
root_page = models.ForeignKey('Page', verbose_name=_('root page'), related_name='sites_rooted_here')
|
||||
is_default_site = models.BooleanField(
|
||||
verbose_name=_('Is default site'),
|
||||
verbose_name=_('is default site'),
|
||||
default=False,
|
||||
help_text=_(
|
||||
"If true, this site will handle requests for all other hostnames that do not have a site entry of their own"
|
||||
|
@ -255,28 +255,28 @@ class PageBase(models.base.ModelBase):
|
|||
@python_2_unicode_compatible
|
||||
class Page(six.with_metaclass(PageBase, MP_Node, ClusterableModel, index.Indexed)):
|
||||
title = models.CharField(
|
||||
verbose_name=_('Title'),
|
||||
verbose_name=_('title'),
|
||||
max_length=255,
|
||||
help_text=_("The page title as you'd like it to be seen by the public")
|
||||
)
|
||||
slug = models.SlugField(
|
||||
verbose_name=_('Slug'),
|
||||
verbose_name=_('slug'),
|
||||
max_length=255,
|
||||
help_text=_("The name of the page as it will appear in URLs e.g http://domain.com/blog/[my-slug]/")
|
||||
)
|
||||
# TODO: enforce uniqueness on slug field per parent (will have to be done at the Django
|
||||
# level rather than db, since there is no explicit parent relation in the db)
|
||||
content_type = models.ForeignKey('contenttypes.ContentType', verbose_name=_('Content type'), related_name='pages')
|
||||
live = models.BooleanField(verbose_name=_('Live'), default=True, editable=False)
|
||||
content_type = models.ForeignKey('contenttypes.ContentType', verbose_name=_('content type'), related_name='pages')
|
||||
live = models.BooleanField(verbose_name=_('live'), default=True, editable=False)
|
||||
has_unpublished_changes = models.BooleanField(
|
||||
verbose_name=_('Has unpublished changes'),
|
||||
verbose_name=_('has unpublished changes'),
|
||||
default=False,
|
||||
editable=False
|
||||
)
|
||||
url_path = models.TextField(verbose_name=_('URL path'), blank=True, editable=False)
|
||||
owner = models.ForeignKey(
|
||||
settings.AUTH_USER_MODEL,
|
||||
verbose_name=_('Owner'),
|
||||
verbose_name=_('owner'),
|
||||
null=True,
|
||||
blank=True,
|
||||
editable=False,
|
||||
|
@ -285,42 +285,42 @@ class Page(six.with_metaclass(PageBase, MP_Node, ClusterableModel, index.Indexed
|
|||
)
|
||||
|
||||
seo_title = models.CharField(
|
||||
verbose_name=_("Page title"),
|
||||
verbose_name=_("page title"),
|
||||
max_length=255,
|
||||
blank=True,
|
||||
help_text=_("Optional. 'Search Engine Friendly' title. This will appear at the top of the browser window.")
|
||||
)
|
||||
show_in_menus = models.BooleanField(
|
||||
verbose_name=_('Show in menus'),
|
||||
verbose_name=_('show in menus'),
|
||||
default=False,
|
||||
help_text=_("Whether a link to this page will appear in automatically generated menus")
|
||||
)
|
||||
search_description = models.TextField(verbose_name=_('Search description'), blank=True)
|
||||
search_description = models.TextField(verbose_name=_('search description'), blank=True)
|
||||
|
||||
go_live_at = models.DateTimeField(
|
||||
verbose_name=_("Go live date/time"),
|
||||
verbose_name=_("go live date/time"),
|
||||
help_text=_("Please add a date-time in the form YYYY-MM-DD hh:mm."),
|
||||
blank=True,
|
||||
null=True
|
||||
)
|
||||
expire_at = models.DateTimeField(
|
||||
verbose_name=_("Expiry date/time"),
|
||||
verbose_name=_("expiry date/time"),
|
||||
help_text=_("Please add a date-time in the form YYYY-MM-DD hh:mm."),
|
||||
blank=True,
|
||||
null=True
|
||||
)
|
||||
expired = models.BooleanField(verbose_name=_('Expired'), default=False, editable=False)
|
||||
expired = models.BooleanField(verbose_name=_('expired'), default=False, editable=False)
|
||||
|
||||
locked = models.BooleanField(verbose_name=_('Locked'), default=False, editable=False)
|
||||
locked = models.BooleanField(verbose_name=_('locked'), default=False, editable=False)
|
||||
|
||||
first_published_at = models.DateTimeField(
|
||||
verbose_name=_('First published at'),
|
||||
verbose_name=_('first published at'),
|
||||
null=True,
|
||||
editable=False,
|
||||
db_index=True
|
||||
)
|
||||
latest_revision_created_at = models.DateTimeField(
|
||||
verbose_name=_('Latest revision created at'),
|
||||
verbose_name=_('latest revision created at'),
|
||||
null=True,
|
||||
editable=False
|
||||
)
|
||||
|
@ -1283,16 +1283,16 @@ class SubmittedRevisionsManager(models.Manager):
|
|||
|
||||
@python_2_unicode_compatible
|
||||
class PageRevision(models.Model):
|
||||
page = models.ForeignKey('Page', verbose_name=_('Page'), related_name='revisions')
|
||||
page = models.ForeignKey('Page', verbose_name=_('page'), related_name='revisions')
|
||||
submitted_for_moderation = models.BooleanField(
|
||||
verbose_name=_('Submitted for moderation'),
|
||||
verbose_name=_('submitted for moderation'),
|
||||
default=False,
|
||||
db_index=True
|
||||
)
|
||||
created_at = models.DateTimeField(verbose_name=_('Created at'))
|
||||
user = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name=_('User'), null=True, blank=True)
|
||||
content_json = models.TextField(verbose_name=_('Content JSON'))
|
||||
approved_go_live_at = models.DateTimeField(verbose_name=_('Approved go live at'), null=True, blank=True)
|
||||
created_at = models.DateTimeField(verbose_name=_('created at'))
|
||||
user = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name=_('user'), null=True, blank=True)
|
||||
content_json = models.TextField(verbose_name=_('content JSON'))
|
||||
approved_go_live_at = models.DateTimeField(verbose_name=_('approved go live at'), null=True, blank=True)
|
||||
|
||||
objects = models.Manager()
|
||||
submitted_revisions = SubmittedRevisionsManager()
|
||||
|
@ -1410,10 +1410,10 @@ PAGE_PERMISSION_TYPE_CHOICES = [
|
|||
|
||||
|
||||
class GroupPagePermission(models.Model):
|
||||
group = models.ForeignKey(Group, verbose_name=_('Group'), related_name='page_permissions')
|
||||
page = models.ForeignKey('Page', verbose_name=_('Page'), related_name='group_permissions')
|
||||
group = models.ForeignKey(Group, verbose_name=_('group'), related_name='page_permissions')
|
||||
page = models.ForeignKey('Page', verbose_name=_('page'), related_name='group_permissions')
|
||||
permission_type = models.CharField(
|
||||
verbose_name=_('Permission type'),
|
||||
verbose_name=_('permission type'),
|
||||
max_length=20,
|
||||
choices=PAGE_PERMISSION_TYPE_CHOICES
|
||||
)
|
||||
|
@ -1655,8 +1655,8 @@ class PagePermissionTester(object):
|
|||
|
||||
|
||||
class PageViewRestriction(models.Model):
|
||||
page = models.ForeignKey('Page', verbose_name=_('Page'), related_name='view_restrictions')
|
||||
password = models.CharField(verbose_name=_('Password'), max_length=255)
|
||||
page = models.ForeignKey('Page', verbose_name=_('page'), related_name='view_restrictions')
|
||||
password = models.CharField(verbose_name=_('password'), max_length=255)
|
||||
|
||||
class Meta:
|
||||
verbose_name = _('page view restriction')
|
||||
|
|
|
@ -0,0 +1,45 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import models, migrations
|
||||
import taggit.managers
|
||||
from django.conf import settings
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('wagtaildocs', '0003_add_verbose_names'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterModelOptions(
|
||||
name='document',
|
||||
options={'verbose_name': 'document'},
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='document',
|
||||
name='created_at',
|
||||
field=models.DateTimeField(auto_now_add=True, verbose_name='created at'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='document',
|
||||
name='file',
|
||||
field=models.FileField(upload_to='documents', verbose_name='file'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='document',
|
||||
name='tags',
|
||||
field=taggit.managers.TaggableManager(through='taggit.TaggedItem', verbose_name='tags', blank=True, help_text=None, to='taggit.Tag'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='document',
|
||||
name='title',
|
||||
field=models.CharField(max_length=255, verbose_name='title'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='document',
|
||||
name='uploaded_by_user',
|
||||
field=models.ForeignKey(blank=True, null=True, to=settings.AUTH_USER_MODEL, editable=False, verbose_name='uploaded by user'),
|
||||
),
|
||||
]
|
|
@ -25,18 +25,18 @@ class DocumentQuerySet(SearchableQuerySetMixin, models.QuerySet):
|
|||
|
||||
@python_2_unicode_compatible
|
||||
class Document(models.Model, TagSearchable):
|
||||
title = models.CharField(max_length=255, verbose_name=_('Title'))
|
||||
file = models.FileField(upload_to='documents', verbose_name=_('File'))
|
||||
created_at = models.DateTimeField(verbose_name=_('Created at'), auto_now_add=True)
|
||||
title = models.CharField(max_length=255, verbose_name=_('title'))
|
||||
file = models.FileField(upload_to='documents', verbose_name=_('file'))
|
||||
created_at = models.DateTimeField(verbose_name=_('created at'), auto_now_add=True)
|
||||
uploaded_by_user = models.ForeignKey(
|
||||
settings.AUTH_USER_MODEL,
|
||||
verbose_name=_('Uploaded by user'),
|
||||
verbose_name=_('uploaded by user'),
|
||||
null=True,
|
||||
blank=True,
|
||||
editable=False
|
||||
)
|
||||
|
||||
tags = TaggableManager(help_text=None, blank=True, verbose_name=_('Tags'))
|
||||
tags = TaggableManager(help_text=None, blank=True, verbose_name=_('tags'))
|
||||
|
||||
objects = DocumentQuerySet.as_manager()
|
||||
|
||||
|
@ -78,7 +78,7 @@ class Document(models.Model, TagSearchable):
|
|||
return False
|
||||
|
||||
class Meta:
|
||||
verbose_name = _('Document')
|
||||
verbose_name = _('document')
|
||||
|
||||
|
||||
# Receive the pre_delete signal and delete the file associated with the model instance.
|
||||
|
|
|
@ -0,0 +1,18 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('wagtailembeds', '0002_add_verbose_names'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterModelOptions(
|
||||
name='embed',
|
||||
options={'verbose_name': 'embed'},
|
||||
),
|
||||
]
|
|
@ -39,7 +39,7 @@ class Embed(models.Model):
|
|||
|
||||
class Meta:
|
||||
unique_together = ('url', 'max_width')
|
||||
verbose_name = _('Embed')
|
||||
verbose_name = _('embed')
|
||||
|
||||
def __str__(self):
|
||||
return self.url
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import models, migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('wagtailforms', '0002_add_verbose_names'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterModelOptions(
|
||||
name='formsubmission',
|
||||
options={'verbose_name': 'form submission'},
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='formsubmission',
|
||||
name='submit_time',
|
||||
field=models.DateTimeField(auto_now_add=True, verbose_name='submit time'),
|
||||
),
|
||||
]
|
|
@ -46,7 +46,7 @@ class FormSubmission(models.Model):
|
|||
form_data = models.TextField()
|
||||
page = models.ForeignKey(Page)
|
||||
|
||||
submit_time = models.DateTimeField(verbose_name=_('Submit time'), auto_now_add=True)
|
||||
submit_time = models.DateTimeField(verbose_name=_('submit time'), auto_now_add=True)
|
||||
|
||||
def get_data(self):
|
||||
return json.loads(self.form_data)
|
||||
|
@ -55,7 +55,7 @@ class FormSubmission(models.Model):
|
|||
return self.form_data
|
||||
|
||||
class Meta:
|
||||
verbose_name = _('Form Submission')
|
||||
verbose_name = _('form submission')
|
||||
|
||||
|
||||
class AbstractFormField(Orderable):
|
||||
|
@ -64,25 +64,25 @@ class AbstractFormField(Orderable):
|
|||
"""
|
||||
|
||||
label = models.CharField(
|
||||
verbose_name=_('Label'),
|
||||
verbose_name=_('label'),
|
||||
max_length=255,
|
||||
help_text=_('The label of the form field')
|
||||
)
|
||||
field_type = models.CharField(verbose_name=_('Field type'), max_length=16, choices=FORM_FIELD_CHOICES)
|
||||
required = models.BooleanField(verbose_name=_('Required'), default=True)
|
||||
field_type = models.CharField(verbose_name=_('field type'), max_length=16, choices=FORM_FIELD_CHOICES)
|
||||
required = models.BooleanField(verbose_name=_('required'), default=True)
|
||||
choices = models.CharField(
|
||||
verbose_name=_('Choices'),
|
||||
verbose_name=_('choices'),
|
||||
max_length=512,
|
||||
blank=True,
|
||||
help_text=_('Comma separated list of choices. Only applicable in checkboxes, radio and dropdown.')
|
||||
)
|
||||
default_value = models.CharField(
|
||||
verbose_name=_('Default value'),
|
||||
verbose_name=_('default value'),
|
||||
max_length=255,
|
||||
blank=True,
|
||||
help_text=_('Default value. Comma separated values supported for checkboxes.')
|
||||
)
|
||||
help_text = models.CharField(verbose_name=_('Help text'), max_length=255, blank=True)
|
||||
help_text = models.CharField(verbose_name=_('help text'), max_length=255, blank=True)
|
||||
|
||||
@property
|
||||
def clean_name(self):
|
||||
|
@ -212,9 +212,9 @@ class AbstractEmailForm(AbstractForm):
|
|||
A Form Page that sends email. Pages implementing a form to be send to an email should inherit from it
|
||||
"""
|
||||
|
||||
to_address = models.CharField(verbose_name=_('To address'), max_length=255, blank=True, help_text=_("Optional - form submissions will be emailed to this address"))
|
||||
from_address = models.CharField(verbose_name=_('From address'), max_length=255, blank=True)
|
||||
subject = models.CharField(verbose_name=_('Subject'), max_length=255, blank=True)
|
||||
to_address = models.CharField(verbose_name=_('to address'), max_length=255, blank=True, help_text=_("Optional - form submissions will be emailed to this address"))
|
||||
from_address = models.CharField(verbose_name=_('from address'), max_length=255, blank=True)
|
||||
subject = models.CharField(verbose_name=_('subject'), max_length=255, blank=True)
|
||||
|
||||
def process_form_submission(self, form):
|
||||
super(AbstractEmailForm, self).process_form_submission(form)
|
||||
|
|
|
@ -0,0 +1,52 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import models, migrations
|
||||
import wagtail.wagtailimages.models
|
||||
import taggit.managers
|
||||
from django.conf import settings
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('wagtailimages', '0008_image_created_at_index'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='image',
|
||||
name='created_at',
|
||||
field=models.DateTimeField(auto_now_add=True, db_index=True, verbose_name='created at'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='image',
|
||||
name='file',
|
||||
field=models.ImageField(upload_to=wagtail.wagtailimages.models.get_upload_to, height_field='height', width_field='width', verbose_name='file'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='image',
|
||||
name='height',
|
||||
field=models.IntegerField(editable=False, verbose_name='height'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='image',
|
||||
name='tags',
|
||||
field=taggit.managers.TaggableManager(through='taggit.TaggedItem', verbose_name='tags', blank=True, help_text=None, to='taggit.Tag'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='image',
|
||||
name='title',
|
||||
field=models.CharField(max_length=255, verbose_name='title'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='image',
|
||||
name='uploaded_by_user',
|
||||
field=models.ForeignKey(blank=True, null=True, to=settings.AUTH_USER_MODEL, editable=False, verbose_name='uploaded by user'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='image',
|
||||
name='width',
|
||||
field=models.IntegerField(editable=False, verbose_name='width'),
|
||||
),
|
||||
]
|
|
@ -55,14 +55,14 @@ def get_upload_to(instance, filename):
|
|||
|
||||
@python_2_unicode_compatible
|
||||
class AbstractImage(models.Model, TagSearchable):
|
||||
title = models.CharField(max_length=255, verbose_name=_('Title'))
|
||||
file = models.ImageField(verbose_name=_('File'), upload_to=get_upload_to, width_field='width', height_field='height')
|
||||
width = models.IntegerField(verbose_name=_('Width'), editable=False)
|
||||
height = models.IntegerField(verbose_name=_('Height'), editable=False)
|
||||
created_at = models.DateTimeField(verbose_name=_('Created at'), auto_now_add=True, db_index=True)
|
||||
uploaded_by_user = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name=_('Uploaded by user'), null=True, blank=True, editable=False)
|
||||
title = models.CharField(max_length=255, verbose_name=_('title'))
|
||||
file = models.ImageField(verbose_name=_('file'), upload_to=get_upload_to, width_field='width', height_field='height')
|
||||
width = models.IntegerField(verbose_name=_('width'), editable=False)
|
||||
height = models.IntegerField(verbose_name=_('height'), editable=False)
|
||||
created_at = models.DateTimeField(verbose_name=_('created at'), auto_now_add=True, db_index=True)
|
||||
uploaded_by_user = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name=_('uploaded by user'), null=True, blank=True, editable=False)
|
||||
|
||||
tags = TaggableManager(help_text=None, blank=True, verbose_name=_('Tags'))
|
||||
tags = TaggableManager(help_text=None, blank=True, verbose_name=_('tags'))
|
||||
|
||||
focal_point_x = models.PositiveIntegerField(null=True, blank=True)
|
||||
focal_point_y = models.PositiveIntegerField(null=True, blank=True)
|
||||
|
|
|
@ -0,0 +1,43 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import models, migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('wagtailredirects', '0004_set_unique_on_path_and_site'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterModelOptions(
|
||||
name='redirect',
|
||||
options={'verbose_name': 'redirect'},
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='redirect',
|
||||
name='is_permanent',
|
||||
field=models.BooleanField(default=True, help_text="Recommended. Permanent redirects ensure search engines forget the old page (the 'Redirect from') and index the new page instead.", verbose_name='permanent'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='redirect',
|
||||
name='old_path',
|
||||
field=models.CharField(max_length=255, db_index=True, verbose_name='redirect from'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='redirect',
|
||||
name='redirect_link',
|
||||
field=models.URLField(blank=True, verbose_name='redirect to any URL'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='redirect',
|
||||
name='redirect_page',
|
||||
field=models.ForeignKey(blank=True, null=True, to='wagtailcore.Page', verbose_name='redirect to a page'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='redirect',
|
||||
name='site',
|
||||
field=models.ForeignKey(blank=True, related_name='redirects', null=True, to='wagtailcore.Site', verbose_name='site'),
|
||||
),
|
||||
]
|
|
@ -6,11 +6,11 @@ from django.utils.translation import ugettext_lazy as _
|
|||
|
||||
|
||||
class Redirect(models.Model):
|
||||
old_path = models.CharField(verbose_name=_("Redirect from"), max_length=255, db_index=True)
|
||||
site = models.ForeignKey('wagtailcore.Site', verbose_name=_('Site'), null=True, blank=True, related_name='redirects', db_index=True)
|
||||
is_permanent = models.BooleanField(verbose_name=_("Permanent"), default=True, help_text=_("Recommended. Permanent redirects ensure search engines forget the old page (the 'Redirect from') and index the new page instead."))
|
||||
redirect_page = models.ForeignKey('wagtailcore.Page', verbose_name=_("Redirect to a page"), null=True, blank=True)
|
||||
redirect_link = models.URLField(verbose_name=_("Redirect to any URL"), blank=True)
|
||||
old_path = models.CharField(verbose_name=_("redirect from"), max_length=255, db_index=True)
|
||||
site = models.ForeignKey('wagtailcore.Site', verbose_name=_('site'), null=True, blank=True, related_name='redirects', db_index=True)
|
||||
is_permanent = models.BooleanField(verbose_name=_("permanent"), default=True, help_text=_("Recommended. Permanent redirects ensure search engines forget the old page (the 'Redirect from') and index the new page instead."))
|
||||
redirect_page = models.ForeignKey('wagtailcore.Page', verbose_name=_("redirect to a page"), null=True, blank=True)
|
||||
redirect_link = models.URLField(verbose_name=_("redirect to any URL"), blank=True)
|
||||
|
||||
@property
|
||||
def title(self):
|
||||
|
@ -76,5 +76,5 @@ class Redirect(models.Model):
|
|||
self.old_path = Redirect.normalise_path(self.old_path)
|
||||
|
||||
class Meta:
|
||||
verbose_name = _('Redirect')
|
||||
verbose_name = _('redirect')
|
||||
unique_together = [('old_path', 'site')]
|
||||
|
|
|
@ -0,0 +1,33 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import models, migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('wagtailusers', '0003_add_verbose_names'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterModelOptions(
|
||||
name='userprofile',
|
||||
options={'verbose_name': 'user profile'},
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='userprofile',
|
||||
name='approved_notifications',
|
||||
field=models.BooleanField(default=True, help_text='Receive notification when your page edit is approved', verbose_name='approved notifications'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='userprofile',
|
||||
name='rejected_notifications',
|
||||
field=models.BooleanField(default=True, help_text='Receive notification when your page edit is rejected', verbose_name='rejected notifications'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='userprofile',
|
||||
name='submitted_notifications',
|
||||
field=models.BooleanField(default=True, help_text='Receive notification when a page is submitted for moderation', verbose_name='submitted notifications'),
|
||||
),
|
||||
]
|
|
@ -11,19 +11,19 @@ class UserProfile(models.Model):
|
|||
user = models.OneToOneField(settings.AUTH_USER_MODEL)
|
||||
|
||||
submitted_notifications = models.BooleanField(
|
||||
verbose_name=_('Submitted notifications'),
|
||||
verbose_name=_('submitted notifications'),
|
||||
default=True,
|
||||
help_text=_("Receive notification when a page is submitted for moderation")
|
||||
)
|
||||
|
||||
approved_notifications = models.BooleanField(
|
||||
verbose_name=_('Approved notifications'),
|
||||
verbose_name=_('approved notifications'),
|
||||
default=True,
|
||||
help_text=_("Receive notification when your page edit is approved")
|
||||
)
|
||||
|
||||
rejected_notifications = models.BooleanField(
|
||||
verbose_name=_('Rejected notifications'),
|
||||
verbose_name=_('rejected notifications'),
|
||||
default=True,
|
||||
help_text=_("Receive notification when your page edit is rejected")
|
||||
)
|
||||
|
@ -36,4 +36,4 @@ class UserProfile(models.Model):
|
|||
return self.user.get_username()
|
||||
|
||||
class Meta:
|
||||
verbose_name = _('User Profile')
|
||||
verbose_name = _('user profile')
|
||||
|
|
Ładowanie…
Reference in New Issue