Code refactoring

This commit is contained in:
Iacopo Spalletti 2015-11-26 07:54:20 +01:00
parent 70e6b6e523
commit 395185f5fe
4 changed files with 15 additions and 17 deletions

View File

@ -8,7 +8,6 @@ from cms.admin.placeholderadmin import FrontendEditableAdminMixin, PlaceholderAd
from django import forms
from django.conf import settings
from django.contrib import admin
from django.contrib.auth import get_user_model
from django.utils.six import callable
from django.utils.translation import ugettext_lazy as _
from parler.admin import TranslatableAdmin
@ -118,12 +117,7 @@ class PostAdmin(PlaceholderAdminMixin, FrontendEditableAdminMixin,
return {'slug': ('title',)}
def save_model(self, request, obj, form, change):
if not obj.author_id and obj.app_config.set_author:
if get_setting('AUTHOR_DEFAULT') is True:
user = request.user
else:
user = get_user_model().objects.get(username=get_setting('AUTHOR_DEFAULT'))
obj.author = user
obj._set_default_author(request.user)
super(PostAdmin, self).save_model(request, obj, form, change)
class Media:

View File

@ -2,9 +2,6 @@
from __future__ import absolute_import, print_function, unicode_literals
from cms.utils.permissions import get_current_user
from django.contrib.auth import get_user_model
from djangocms_blog.settings import get_setting
try:
from cms.wizards.wizard_base import Wizard
@ -41,12 +38,7 @@ try:
js = ('admin/js/jquery.js', 'admin/js/jquery.init.js',)
def save(self, commit=True):
if not self.instance.author_id and self.instance.app_config.set_author:
if get_setting('AUTHOR_DEFAULT') is True:
user = get_current_user()
else:
user = get_user_model().objects.get(username=get_setting('AUTHOR_DEFAULT'))
self.instance.author = user
self.instance._set_default_author(get_current_user())
return super(PostWizardForm, self).save(commit)
class PostWizard(Wizard):

View File

@ -5,6 +5,7 @@ from aldryn_apphooks_config.fields import AppHookConfigField
from aldryn_apphooks_config.managers.parler import AppHookConfigTranslatableManager
from cms.models import CMSPlugin, PlaceholderField
from django.conf import settings as dj_settings
from django.contrib.auth import get_user_model
from django.core.urlresolvers import reverse
from django.db import models
from django.utils import timezone
@ -254,6 +255,14 @@ class Post(ModelMeta, TranslatableModel):
def get_author(self):
return self.author
def _set_default_author(self, current_user):
if not self.author_id and self.app_config.set_author:
if get_setting('AUTHOR_DEFAULT') is True:
user = current_user
else:
user = get_user_model().objects.get(username=get_setting('AUTHOR_DEFAULT'))
self.author = user
def thumbnail_options(self):
if self.main_image_thumbnail_id:
return self.main_image_thumbnail.as_dict

View File

@ -7,7 +7,6 @@ from distutils.version import LooseVersion
import cms
from cms.utils.permissions import current_user
from djangocms_blog.settings import get_setting
from .base import BaseTest
try:
@ -74,11 +73,15 @@ class WizardTest(BaseTest):
with self.settings(BLOG_AUTHOR_DEFAULT='normal'):
for index, wiz in enumerate(wizs):
app_config = self.app_config_1.pk if wiz.title == 'New Blog' else self.app_config_2.pk
form = wiz.form(data={
'1-title': 'title-2{0}'.format(index),
'1-abstract': 'abstract-2{0}'.format(index),
'1-categories': [self.category_1.pk],
}, prefix=1)
self.assertEqual(form.default_appconfig, app_config)
self.assertTrue(form.is_valid())
self.assertTrue(form.cleaned_data['app_config'], app_config)
instance = form.save()
self.assertEqual(instance.author, self.user_normal)