0
0
mirror of https://github.com/wagtail/wagtail.git synced 2024-11-29 09:33:54 +01:00

Merge branch 'squash-migrations' of https://github.com/kaedroho/wagtail into kaedroho-squash-migrations

This commit is contained in:
Matt Westcott 2015-06-16 17:17:20 +01:00
commit 34afd2d397

View File

@ -0,0 +1,218 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models, migrations
from django.conf import settings
import django.db.models.deletion
from django import VERSION as DJANGO_VERSION
import wagtail.wagtailsearch.index
def initial_data(apps, schema_editor):
ContentType = apps.get_model('contenttypes.ContentType')
Group = apps.get_model('auth.Group')
Page = apps.get_model('wagtailcore.Page')
Site = apps.get_model('wagtailcore.Site')
GroupPagePermission = apps.get_model('wagtailcore.GroupPagePermission')
# Create page content type
page_content_type, created = ContentType.objects.get_or_create(
model='page',
app_label='wagtailcore',
defaults={'name': 'page'} if DJANGO_VERSION < (1, 8) else {}
)
# Create root page
root = Page.objects.create(
title="Root",
slug='root',
content_type=page_content_type,
path='0001',
depth=1,
numchild=1,
url_path='/',
)
# Create homepage
homepage = Page.objects.create(
title="Welcome to your new Wagtail site!",
slug='home',
content_type=page_content_type,
path='00010001',
depth=2,
numchild=0,
url_path='/home/',
)
# Create default site
Site.objects.create(
hostname='localhost',
root_page_id=homepage.id,
is_default_site=True
)
# Create auth groups
moderators_group = Group.objects.create(name='Moderators')
editors_group = Group.objects.create(name='Editors')
# Create group permissions
GroupPagePermission.objects.create(
group=moderators_group,
page=root,
permission_type='add',
)
GroupPagePermission.objects.create(
group=moderators_group,
page=root,
permission_type='edit',
)
GroupPagePermission.objects.create(
group=moderators_group,
page=root,
permission_type='publish',
)
GroupPagePermission.objects.create(
group=editors_group,
page=root,
permission_type='add',
)
GroupPagePermission.objects.create(
group=editors_group,
page=root,
permission_type='edit',
)
# 0005 - add_page_lock_permission_to_moderators
GroupPagePermission.objects.create(
group=moderators_group,
page=root,
permission_type='lock',
)
class Migration(migrations.Migration):
replaces = [
('wagtailcore', '0001_initial'),
('wagtailcore', '0002_initial_data'),
('wagtailcore', '0003_add_uniqueness_constraint_on_group_page_permission'),
('wagtailcore', '0004_page_locked'),
('wagtailcore', '0005_add_page_lock_permission_to_moderators'),
('wagtailcore', '0006_add_lock_page_permission'),
('wagtailcore', '0007_page_latest_revision_created_at'),
('wagtailcore', '0008_populate_latest_revision_created_at'),
('wagtailcore', '0009_remove_auto_now_add_from_pagerevision_created_at'),
('wagtailcore', '0010_change_page_owner_to_null_on_delete'),
('wagtailcore', '0011_page_first_published_at'),
('wagtailcore', '0012_extend_page_slug_field'),
('wagtailcore', '0013_update_golive_expire_help_text'),
('wagtailcore', '0014_add_verbose_name'),
('wagtailcore', '0015_add_more_verbose_names'),
('wagtailcore', '0016_change_page_url_path_to_text_field')
]
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('auth', '0001_initial'),
('contenttypes', '0001_initial'),
]
operations = [
migrations.CreateModel(
name='Page',
fields=[
('id', models.AutoField(auto_created=True, verbose_name='ID', serialize=False, primary_key=True)),
('path', models.CharField(unique=True, max_length=255)),
('depth', models.PositiveIntegerField()),
('numchild', models.PositiveIntegerField(default=0)),
('title', models.CharField(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', max_length=255, help_text='The name of the page as it will appear in URLs e.g http://domain.com/blog/[my-slug]/')),
('live', models.BooleanField(default=True, verbose_name='Live', editable=False)),
('has_unpublished_changes', models.BooleanField(default=False, verbose_name='Has unpublished changes', editable=False)),
('url_path', models.TextField(verbose_name='URL path', blank=True, editable=False)),
('seo_title', models.CharField(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(default=False, verbose_name='Show in menus', help_text='Whether a link to this page will appear in automatically generated menus')),
('search_description', models.TextField(verbose_name='Search description', blank=True)),
('go_live_at', models.DateTimeField(null=True, verbose_name='Go live date/time', blank=True, help_text='Please add a date-time in the form YYYY-MM-DD hh:mm.')),
('expire_at', models.DateTimeField(null=True, verbose_name='Expiry date/time', blank=True, help_text='Please add a date-time in the form YYYY-MM-DD hh:mm.')),
('expired', models.BooleanField(default=False, verbose_name='Expired', editable=False)),
('content_type', models.ForeignKey(verbose_name='Content type', related_name='pages', to='contenttypes.ContentType')),
('owner', models.ForeignKey(null=True, verbose_name='Owner', blank=True, editable=False, related_name='owned_pages', to=settings.AUTH_USER_MODEL, on_delete=django.db.models.deletion.SET_NULL)),
('locked', models.BooleanField(default=False, verbose_name='Locked', editable=False)),
('latest_revision_created_at', models.DateTimeField(null=True, verbose_name='Latest revision created at', editable=False)),
('first_published_at', models.DateTimeField(null=True, verbose_name='First published at', editable=False)),
],
options={
'abstract': False,
},
bases=(models.Model, wagtail.wagtailsearch.index.Indexed),
),
migrations.CreateModel(
name='GroupPagePermission',
fields=[
('id', models.AutoField(auto_created=True, verbose_name='ID', serialize=False, primary_key=True)),
('permission_type', models.CharField(verbose_name='Permission type', choices=[('add', 'Add/edit pages you own'), ('edit', 'Add/edit any page'), ('publish', 'Publish any page'), ('lock', 'Lock/unlock any page')], max_length=20)),
('group', models.ForeignKey(verbose_name='Group', related_name='page_permissions', to='auth.Group')),
('page', models.ForeignKey(verbose_name='Page', related_name='group_permissions', to='wagtailcore.Page')),
],
),
migrations.AlterUniqueTogether(
name='grouppagepermission',
unique_together=set([('group', 'page', 'permission_type')]),
),
migrations.AlterModelOptions(
name='grouppagepermission',
options={'verbose_name': 'Group Page Permission'},
),
migrations.CreateModel(
name='PageRevision',
fields=[
('id', models.AutoField(auto_created=True, verbose_name='ID', serialize=False, primary_key=True)),
('submitted_for_moderation', models.BooleanField(default=False, verbose_name='Submitted for moderation')),
('created_at', models.DateTimeField(verbose_name='Created at')),
('content_json', models.TextField(verbose_name='Content JSON')),
('approved_go_live_at', models.DateTimeField(null=True, verbose_name='Approved go live at', blank=True)),
('page', models.ForeignKey(verbose_name='Page', related_name='revisions', to='wagtailcore.Page')),
('user', models.ForeignKey(null=True, verbose_name='User', blank=True, to=settings.AUTH_USER_MODEL)),
],
),
migrations.AlterModelOptions(
name='pagerevision',
options={'verbose_name': 'Page Revision'},
),
migrations.CreateModel(
name='PageViewRestriction',
fields=[
('id', models.AutoField(auto_created=True, verbose_name='ID', serialize=False, primary_key=True)),
('password', models.CharField(verbose_name='Password', max_length=255)),
('page', models.ForeignKey(verbose_name='Page', related_name='view_restrictions', to='wagtailcore.Page')),
],
),
migrations.AlterModelOptions(
name='pageviewrestriction',
options={'verbose_name': 'Page View Restriction'},
),
migrations.CreateModel(
name='Site',
fields=[
('id', models.AutoField(auto_created=True, verbose_name='ID', serialize=False, primary_key=True)),
('hostname', models.CharField(verbose_name='Hostname', db_index=True, max_length=255)),
('port', models.IntegerField(default=80, verbose_name='Port', 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).')),
('is_default_site', models.BooleanField(default=False, verbose_name='Is default site', help_text='If true, this site will handle requests for all other hostnames that do not have a site entry of their own')),
('root_page', models.ForeignKey(verbose_name='Root page', related_name='sites_rooted_here', to='wagtailcore.Page')),
],
),
migrations.AlterUniqueTogether(
name='site',
unique_together=set([('hostname', 'port')]),
),
migrations.AlterModelOptions(
name='site',
options={'verbose_name': 'Site'},
),
migrations.RunPython(
initial_data,
),
]