From 00bb88e7bbd5297d58bc51ec3685385947691a6f Mon Sep 17 00:00:00 2001 From: Diederik van der Boor Date: Wed, 25 Sep 2013 15:38:29 +0200 Subject: [PATCH 1/4] Remove unneeded templates (cherry picked from commit 3b7e93874d83cdb426348f59f7722b640df52c95) --- .../templates/theme1/pages/standard-twocols.html | 16 ---------------- .../theme1/templates/theme1/pages/standard.html | 11 ----------- 2 files changed, 27 deletions(-) delete mode 100644 example/theme1/templates/theme1/pages/standard-twocols.html delete mode 100644 example/theme1/templates/theme1/pages/standard.html diff --git a/example/theme1/templates/theme1/pages/standard-twocols.html b/example/theme1/templates/theme1/pages/standard-twocols.html deleted file mode 100644 index 076530c..0000000 --- a/example/theme1/templates/theme1/pages/standard-twocols.html +++ /dev/null @@ -1,16 +0,0 @@ -{% extends "theme1/base.html" %}{% load fluent_contents_tags %} - -{% block headtitle %}{{ simplecms_page.title }}{% endblock %} -{% block bodyclass %}twocols{% endblock %} - -{% block main %} -

{{ simplecms_page.title }}

- -
- {% page_placeholder simplecms_page "main1" title="Main content" role="main" %} -
- - -{% endblock %} diff --git a/example/theme1/templates/theme1/pages/standard.html b/example/theme1/templates/theme1/pages/standard.html deleted file mode 100644 index abb0085..0000000 --- a/example/theme1/templates/theme1/pages/standard.html +++ /dev/null @@ -1,11 +0,0 @@ -{% extends "theme1/base.html" %}{% load fluent_contents_tags %} - -{% block headtitle %}{{ simplecms_page.title }}{% endblock %} - -{% block main %} -

{{ simplecms_page.title }}

- -
- {% page_placeholder simplecms_page "main1" title="Main content" %} -
-{% endblock %} From 3eb9ac1e702d89cf1f032da4d2c4b2d8755fa575 Mon Sep 17 00:00:00 2001 From: Diederik van der Boor Date: Thu, 3 Oct 2013 07:29:47 +0200 Subject: [PATCH 2/4] Fix `from fluent_blogs.models import *` import. Caused in AttributeError: 'module' object has no attribute 'get_category_modelEntryManager' --- fluent_blogs/models/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fluent_blogs/models/__init__.py b/fluent_blogs/models/__init__.py index 6af4196..b294aff 100644 --- a/fluent_blogs/models/__init__.py +++ b/fluent_blogs/models/__init__.py @@ -2,6 +2,6 @@ from .managers import EntryManager __all__ = ( - 'Entry', 'AbstractEntry', 'get_entry_model', 'get_category_model' + 'Entry', 'AbstractEntry', 'get_entry_model', 'get_category_model', 'EntryManager', ) From 925e4b39e3e99ad234fab5530deb36f7861bece3 Mon Sep 17 00:00:00 2001 From: Diederik van der Boor Date: Thu, 3 Oct 2013 17:33:02 +0200 Subject: [PATCH 3/4] Added the ContentItemRelation() to the blog entry. This makes sure all deleted ContentItem objects are also visible in the admin page. --- fluent_blogs/base_models.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/fluent_blogs/base_models.py b/fluent_blogs/base_models.py index 50fb97d..f236706 100644 --- a/fluent_blogs/base_models.py +++ b/fluent_blogs/base_models.py @@ -9,7 +9,7 @@ from fluent_blogs.models.managers import EntryManager from fluent_blogs.utils.compat import get_user_model_name from fluent_blogs import appsettings -from fluent_contents.models import PlaceholderField +from fluent_contents.models import PlaceholderField, ContentItemRelation __all__ = ( @@ -157,6 +157,9 @@ class ContentsEntryMixin(models.Model): """ contents = PlaceholderField("blog_contents") + # Adding the ContentItemRelation makes sure the admin can find all deleted objects too. + contentitem_set = ContentItemRelation() + class Meta: abstract = True From b0fa5fcb52994633d55ff9f56dd053fc1c658b8f Mon Sep 17 00:00:00 2001 From: Diederik van der Boor Date: Mon, 25 Nov 2013 18:28:48 +0100 Subject: [PATCH 4/4] Avoid importing django.contrib.comments if it's not used. - Fixes the User delete view, which tried to locate comments - Also fixes the circular import for base_models. --- fluent_blogs/__init__.py | 1 - fluent_blogs/base_models.py | 17 ++++++++++++----- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/fluent_blogs/__init__.py b/fluent_blogs/__init__.py index 79d8a0c..d4c8e60 100644 --- a/fluent_blogs/__init__.py +++ b/fluent_blogs/__init__.py @@ -6,4 +6,3 @@ # base_models -> models/managers.py -> invoking models/__init__.py -> models/db.py -> base_models.py # # This doesn't occur when the models are imported first. -import fluent_blogs.models diff --git a/fluent_blogs/base_models.py b/fluent_blogs/base_models.py index f236706..a28a9f7 100644 --- a/fluent_blogs/base_models.py +++ b/fluent_blogs/base_models.py @@ -1,6 +1,4 @@ from django.conf import settings -from django.contrib import comments -from django.contrib.comments.moderation import moderator, CommentModerator from django.contrib.contenttypes.generic import GenericRelation from django.contrib.sites.models import Site from django.db import models @@ -11,7 +9,6 @@ from fluent_blogs import appsettings from fluent_contents.models import PlaceholderField, ContentItemRelation - __all__ = ( 'AbstractEntryBase', 'ExcerptEntryMixin', @@ -32,13 +29,23 @@ # Optional commenting support +# Make sure that django.contrib.comments is not imported in the app, +# unless it exists in INSTALLED_APPS. Otherwise, the User delete view +# breaks because it tries to delete comments associated with the user. +comments = None +moderator = None CommentModel = None +CommentModerator = None if 'django.contrib.comments' in settings.INSTALLED_APPS: + from django.contrib import comments + from django.contrib.comments.moderation import moderator, CommentModerator CommentModel = comments.get_model() def _get_comment_relation_stub(): - from django.contrib.comments.models import Comment - return Comment.objects.get_empty_query_set() + #from django.contrib.comments.models import Comment + #return Comment.objects.get_empty_query_set() + from django.db.models.query import EmptyQuerySet + return EmptyQuerySet() def _get_current_site():