From 80926dd4ac4f3340a0fcfe1ce2f6327e7b467561 Mon Sep 17 00:00:00 2001 From: Skia Date: Mon, 30 Nov 2015 13:04:46 +0100 Subject: [PATCH] Revert "Begin a PageRevision implementation, but this breaks currently everything!" This reverts commit 979fc7bcb7d6e6fa0f86cd44a50aa1a2702f02b6. --- core/migrations/0013_auto_20151127_1521.py | 45 ---------------------- core/migrations/0014_auto_20151127_1533.py | 19 --------- core/models.py | 17 ++------ core/views/page.py | 12 +++--- 4 files changed, 10 insertions(+), 83 deletions(-) delete mode 100644 core/migrations/0013_auto_20151127_1521.py delete mode 100644 core/migrations/0014_auto_20151127_1533.py diff --git a/core/migrations/0013_auto_20151127_1521.py b/core/migrations/0013_auto_20151127_1521.py deleted file mode 100644 index 3f437ce5..00000000 --- a/core/migrations/0013_auto_20151127_1521.py +++ /dev/null @@ -1,45 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('core', '0012_auto_20151127_1504'), - ] - - operations = [ - migrations.CreateModel( - name='PageRevision', - fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, primary_key=True, auto_created=True)), - ('title', models.CharField(blank=True, verbose_name='page title', max_length=255)), - ('content', models.TextField(blank=True, verbose_name='page content')), - ], - ), - migrations.RemoveField( - model_name='page', - name='content', - ), - migrations.RemoveField( - model_name='page', - name='revision', - ), - migrations.RemoveField( - model_name='page', - name='title', - ), - migrations.AddField( - model_name='pagerevision', - name='parent_page', - field=models.ForeignKey(related_name='revisions', to='core.Page'), - ), - migrations.AddField( - model_name='page', - name='last_revision', - field=models.OneToOneField(to='core.PageRevision', default=1), - preserve_default=False, - ), - ] diff --git a/core/migrations/0014_auto_20151127_1533.py b/core/migrations/0014_auto_20151127_1533.py deleted file mode 100644 index 26343489..00000000 --- a/core/migrations/0014_auto_20151127_1533.py +++ /dev/null @@ -1,19 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('core', '0013_auto_20151127_1521'), - ] - - operations = [ - migrations.RenameField( - model_name='page', - old_name='last_revision', - new_name='revision', - ), - ] diff --git a/core/models.py b/core/models.py index 5d6576c8..9b23bbe9 100644 --- a/core/models.py +++ b/core/models.py @@ -151,7 +151,10 @@ class Page(GroupManagedObject, models.Model): query, but don't rely on it when playing with a Page object, use get_full_name() instead! """ name = models.CharField(_('page name'), max_length=30, blank=False) - revision = models.OneToOneField('PageRevision') +# TODO: move title and content to PageRev class with a OneToOne field + title = models.CharField(_("page title"), max_length=255, blank=True) + content = models.TextField(_("page content"), blank=True) + revision = models.PositiveIntegerField(_("current revision"), default=1) is_locked = models.BooleanField(_("page mutex"), default=False) parent = models.ForeignKey('self', related_name="children", null=True, blank=True, on_delete=models.SET_NULL) # Attention: this field may not be valid until you call save(). It's made for fast query, but don't rely on it when @@ -175,10 +178,6 @@ class Page(GroupManagedObject, models.Model): def __init__(self, *args, **kwargs): super(Page, self).__init__(*args, **kwargs) - if self.revision is None: - self.revision = PageRevision() - self.revision.save() - def clean(self): """ @@ -191,8 +190,6 @@ class Page(GroupManagedObject, models.Model): _('Duplicate page'), code='duplicate', ) - if self.revision is not None: - self.revision = PageRevision(self.revision) super(Page, self).clean() if self.parent is not None and self in self.get_parent_list(): raise ValidationError( @@ -241,9 +238,3 @@ class Page(GroupManagedObject, models.Model): return self.get_full_name() -class PageRevision(models.Model): -# TODO: move title and content to PageRev class with a OneToOne field - title = models.CharField(_("page title"), max_length=255, blank=True) - content = models.TextField(_("page content"), blank=True) - parent_page = models.ForeignKey(Page, related_name="revisions", null=False, blank=False) - diff --git a/core/views/page.py b/core/views/page.py index 2bdcfbbc..f32907ac 100644 --- a/core/views/page.py +++ b/core/views/page.py @@ -5,7 +5,7 @@ from django.views.generic.edit import UpdateView from django.contrib.auth.decorators import login_required, permission_required from django.utils.decorators import method_decorator -from core.models import Page, PageRevision +from core.models import Page from core.views.forms import PagePropForm from core.views import CanViewMixin, CanEditMixin, CanEditPropMixin @@ -60,17 +60,17 @@ class PagePropView(CanEditPropMixin, UpdateView): parent_name = '/'.join(page_name.split('/')[:-1]) name = page_name.split('/')[-1] if parent_name == "": - p = Page(name=name, revision=PageRevision()) + p = Page(name=name) else: parent = Page.get_page_by_full_name(parent_name) - p = Page(name=name, parent=parent, revision=PageRevision()) + p = Page(name=name, parent=parent) self.page = p return self.page def get_context_data(self, **kwargs): context = super(PagePropView, self).get_context_data(**kwargs) if "page" in context.keys(): - context['tests'] = "PAGE_FOUND : "+context['page'].revision.title + context['tests'] = "PAGE_FOUND : "+context['page'].title else: context['tests'] = "PAGE_NOT_FOUND" context['new_page'] = self.kwargs['page_name'] @@ -78,7 +78,7 @@ class PagePropView(CanEditPropMixin, UpdateView): class PageEditView(CanEditMixin, UpdateView): model = Page - fields = ['revision.title', 'revision.content',] + fields = ['title', 'content',] template_name_suffix = '_edit' def get_object(self): @@ -88,7 +88,7 @@ class PageEditView(CanEditMixin, UpdateView): def get_context_data(self, **kwargs): context = super(PageEditView, self).get_context_data(**kwargs) if "page" in context.keys(): - context['tests'] = "PAGE_FOUND : "+context['page'].revision.title + context['tests'] = "PAGE_FOUND : "+context['page'].title else: context['tests'] = "PAGE_NOT_FOUND" context['new_page'] = self.kwargs['page_name']