Code refactoring
This commit is contained in:
parent
70e6b6e523
commit
395185f5fe
4 changed files with 15 additions and 17 deletions
|
@ -8,7 +8,6 @@ from cms.admin.placeholderadmin import FrontendEditableAdminMixin, PlaceholderAd
|
||||||
from django import forms
|
from django import forms
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
from django.contrib.auth import get_user_model
|
|
||||||
from django.utils.six import callable
|
from django.utils.six import callable
|
||||||
from django.utils.translation import ugettext_lazy as _
|
from django.utils.translation import ugettext_lazy as _
|
||||||
from parler.admin import TranslatableAdmin
|
from parler.admin import TranslatableAdmin
|
||||||
|
@ -118,12 +117,7 @@ class PostAdmin(PlaceholderAdminMixin, FrontendEditableAdminMixin,
|
||||||
return {'slug': ('title',)}
|
return {'slug': ('title',)}
|
||||||
|
|
||||||
def save_model(self, request, obj, form, change):
|
def save_model(self, request, obj, form, change):
|
||||||
if not obj.author_id and obj.app_config.set_author:
|
obj._set_default_author(request.user)
|
||||||
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
|
|
||||||
super(PostAdmin, self).save_model(request, obj, form, change)
|
super(PostAdmin, self).save_model(request, obj, form, change)
|
||||||
|
|
||||||
class Media:
|
class Media:
|
||||||
|
|
|
@ -2,9 +2,6 @@
|
||||||
from __future__ import absolute_import, print_function, unicode_literals
|
from __future__ import absolute_import, print_function, unicode_literals
|
||||||
|
|
||||||
from cms.utils.permissions import get_current_user
|
from cms.utils.permissions import get_current_user
|
||||||
from django.contrib.auth import get_user_model
|
|
||||||
|
|
||||||
from djangocms_blog.settings import get_setting
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
from cms.wizards.wizard_base import Wizard
|
from cms.wizards.wizard_base import Wizard
|
||||||
|
@ -41,12 +38,7 @@ try:
|
||||||
js = ('admin/js/jquery.js', 'admin/js/jquery.init.js',)
|
js = ('admin/js/jquery.js', 'admin/js/jquery.init.js',)
|
||||||
|
|
||||||
def save(self, commit=True):
|
def save(self, commit=True):
|
||||||
if not self.instance.author_id and self.instance.app_config.set_author:
|
self.instance._set_default_author(get_current_user())
|
||||||
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
|
|
||||||
return super(PostWizardForm, self).save(commit)
|
return super(PostWizardForm, self).save(commit)
|
||||||
|
|
||||||
class PostWizard(Wizard):
|
class PostWizard(Wizard):
|
||||||
|
|
|
@ -5,6 +5,7 @@ from aldryn_apphooks_config.fields import AppHookConfigField
|
||||||
from aldryn_apphooks_config.managers.parler import AppHookConfigTranslatableManager
|
from aldryn_apphooks_config.managers.parler import AppHookConfigTranslatableManager
|
||||||
from cms.models import CMSPlugin, PlaceholderField
|
from cms.models import CMSPlugin, PlaceholderField
|
||||||
from django.conf import settings as dj_settings
|
from django.conf import settings as dj_settings
|
||||||
|
from django.contrib.auth import get_user_model
|
||||||
from django.core.urlresolvers import reverse
|
from django.core.urlresolvers import reverse
|
||||||
from django.db import models
|
from django.db import models
|
||||||
from django.utils import timezone
|
from django.utils import timezone
|
||||||
|
@ -254,6 +255,14 @@ class Post(ModelMeta, TranslatableModel):
|
||||||
def get_author(self):
|
def get_author(self):
|
||||||
return self.author
|
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):
|
def thumbnail_options(self):
|
||||||
if self.main_image_thumbnail_id:
|
if self.main_image_thumbnail_id:
|
||||||
return self.main_image_thumbnail.as_dict
|
return self.main_image_thumbnail.as_dict
|
||||||
|
|
|
@ -7,7 +7,6 @@ from distutils.version import LooseVersion
|
||||||
import cms
|
import cms
|
||||||
from cms.utils.permissions import current_user
|
from cms.utils.permissions import current_user
|
||||||
|
|
||||||
from djangocms_blog.settings import get_setting
|
|
||||||
from .base import BaseTest
|
from .base import BaseTest
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
@ -74,11 +73,15 @@ class WizardTest(BaseTest):
|
||||||
|
|
||||||
with self.settings(BLOG_AUTHOR_DEFAULT='normal'):
|
with self.settings(BLOG_AUTHOR_DEFAULT='normal'):
|
||||||
for index, wiz in enumerate(wizs):
|
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={
|
form = wiz.form(data={
|
||||||
'1-title': 'title-2{0}'.format(index),
|
'1-title': 'title-2{0}'.format(index),
|
||||||
'1-abstract': 'abstract-2{0}'.format(index),
|
'1-abstract': 'abstract-2{0}'.format(index),
|
||||||
'1-categories': [self.category_1.pk],
|
'1-categories': [self.category_1.pk],
|
||||||
}, prefix=1)
|
}, 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()
|
instance = form.save()
|
||||||
self.assertEqual(instance.author, self.user_normal)
|
self.assertEqual(instance.author, self.user_normal)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue