diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 49bf5a77f4..e35b44b502 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -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) ~~~~~~~~~~~~~~~~ diff --git a/docs/reference/contrib/settings.rst b/docs/reference/contrib/settings.rst index 82a8d9118b..baf959171c 100644 --- a/docs/reference/contrib/settings.rst +++ b/docs/reference/contrib/settings.rst @@ -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`. diff --git a/docs/releases/1.3.rst b/docs/releases/1.3.rst index 165554bcf6..1a1b536e26 100644 --- a/docs/releases/1.3.rst +++ b/docs/releases/1.3.rst @@ -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 diff --git a/docs/topics/snippets.rst b/docs/topics/snippets.rst index 006cb55ea9..d311cf13b9 100644 --- a/docs/topics/snippets.rst +++ b/docs/topics/snippets.rst @@ -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'), diff --git a/wagtail/contrib/wagtailsearchpromotions/migrations/0002_capitalizeverbose.py b/wagtail/contrib/wagtailsearchpromotions/migrations/0002_capitalizeverbose.py new file mode 100644 index 0000000000..4f1d37269c --- /dev/null +++ b/wagtail/contrib/wagtailsearchpromotions/migrations/0002_capitalizeverbose.py @@ -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'), + ), + ] diff --git a/wagtail/contrib/wagtailsearchpromotions/models.py b/wagtail/contrib/wagtailsearchpromotions/models.py index 28f33eb014..c531252823 100644 --- a/wagtail/contrib/wagtailsearchpromotions/models.py +++ b/wagtail/contrib/wagtailsearchpromotions/models.py @@ -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") diff --git a/wagtail/tests/demosite/migrations/0002_capitalizeverbose.py b/wagtail/tests/demosite/migrations/0002_capitalizeverbose.py new file mode 100644 index 0000000000..90b8600f0e --- /dev/null +++ b/wagtail/tests/demosite/migrations/0002_capitalizeverbose.py @@ -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'}, + ), + ] diff --git a/wagtail/tests/demosite/models.py b/wagtail/tests/demosite/models.py index 893e852c59..454b8ad80a 100644 --- a/wagtail/tests/demosite/models.py +++ b/wagtail/tests/demosite/models.py @@ -150,7 +150,7 @@ class HomePage(Page): ) class Meta: - verbose_name = "Homepage" + verbose_name = "homepage" class HomePageCarouselItem(Orderable, AbstractCarouselItem): diff --git a/wagtail/tests/testapp/migrations/0020_capitalizeverbose.py b/wagtail/tests/testapp/migrations/0020_capitalizeverbose.py new file mode 100644 index 0000000000..bef6efc54a --- /dev/null +++ b/wagtail/tests/testapp/migrations/0020_capitalizeverbose.py @@ -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' + ), + ), + ] diff --git a/wagtail/wagtailcore/migrations/0021_capitalizeverbose.py b/wagtail/wagtailcore/migrations/0021_capitalizeverbose.py new file mode 100644 index 0000000000..8c525ee797 --- /dev/null +++ b/wagtail/wagtailcore/migrations/0021_capitalizeverbose.py @@ -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'), + ), + ] diff --git a/wagtail/wagtailcore/models.py b/wagtail/wagtailcore/models.py index a761f5ffe8..71a881dc47 100644 --- a/wagtail/wagtailcore/models.py +++ b/wagtail/wagtailcore/models.py @@ -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') diff --git a/wagtail/wagtaildocs/migrations/0004_capitalizeverbose.py b/wagtail/wagtaildocs/migrations/0004_capitalizeverbose.py new file mode 100644 index 0000000000..6f8a67ccd0 --- /dev/null +++ b/wagtail/wagtaildocs/migrations/0004_capitalizeverbose.py @@ -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'), + ), + ] diff --git a/wagtail/wagtaildocs/models.py b/wagtail/wagtaildocs/models.py index f14a0dd40a..dfc109e767 100644 --- a/wagtail/wagtaildocs/models.py +++ b/wagtail/wagtaildocs/models.py @@ -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. diff --git a/wagtail/wagtailembeds/migrations/0003_capitalizeverbose.py b/wagtail/wagtailembeds/migrations/0003_capitalizeverbose.py new file mode 100644 index 0000000000..c1fe85eb84 --- /dev/null +++ b/wagtail/wagtailembeds/migrations/0003_capitalizeverbose.py @@ -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'}, + ), + ] diff --git a/wagtail/wagtailembeds/models.py b/wagtail/wagtailembeds/models.py index 2b5465dbe5..2623c940cf 100644 --- a/wagtail/wagtailembeds/models.py +++ b/wagtail/wagtailembeds/models.py @@ -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 diff --git a/wagtail/wagtailforms/migrations/0003_capitalizeverbose.py b/wagtail/wagtailforms/migrations/0003_capitalizeverbose.py new file mode 100644 index 0000000000..b03183a6e7 --- /dev/null +++ b/wagtail/wagtailforms/migrations/0003_capitalizeverbose.py @@ -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'), + ), + ] diff --git a/wagtail/wagtailforms/models.py b/wagtail/wagtailforms/models.py index 4581dc0b0f..f139505591 100644 --- a/wagtail/wagtailforms/models.py +++ b/wagtail/wagtailforms/models.py @@ -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) diff --git a/wagtail/wagtailimages/migrations/0009_capitalizeverbose.py b/wagtail/wagtailimages/migrations/0009_capitalizeverbose.py new file mode 100644 index 0000000000..5ca92435d0 --- /dev/null +++ b/wagtail/wagtailimages/migrations/0009_capitalizeverbose.py @@ -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'), + ), + ] diff --git a/wagtail/wagtailimages/models.py b/wagtail/wagtailimages/models.py index 3c090c10c8..935a73f804 100644 --- a/wagtail/wagtailimages/models.py +++ b/wagtail/wagtailimages/models.py @@ -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) diff --git a/wagtail/wagtailredirects/migrations/0005_capitalizeverbose.py b/wagtail/wagtailredirects/migrations/0005_capitalizeverbose.py new file mode 100644 index 0000000000..8f457cc9d8 --- /dev/null +++ b/wagtail/wagtailredirects/migrations/0005_capitalizeverbose.py @@ -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'), + ), + ] diff --git a/wagtail/wagtailredirects/models.py b/wagtail/wagtailredirects/models.py index 287410f422..2ef1974ac1 100644 --- a/wagtail/wagtailredirects/models.py +++ b/wagtail/wagtailredirects/models.py @@ -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')] diff --git a/wagtail/wagtailusers/migrations/0004_capitalizeverbose.py b/wagtail/wagtailusers/migrations/0004_capitalizeverbose.py new file mode 100644 index 0000000000..f464d071af --- /dev/null +++ b/wagtail/wagtailusers/migrations/0004_capitalizeverbose.py @@ -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'), + ), + ] diff --git a/wagtail/wagtailusers/models.py b/wagtail/wagtailusers/models.py index 1960720d41..6b6f25a4cb 100644 --- a/wagtail/wagtailusers/models.py +++ b/wagtail/wagtailusers/models.py @@ -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')