Add edit configuration link to toolbar
This commit is contained in:
parent
2fd5bca07c
commit
a703b188fa
4 changed files with 42 additions and 12 deletions
|
|
@ -4,9 +4,9 @@ from __future__ import absolute_import, print_function, unicode_literals
|
|||
from cms.toolbar_base import CMSToolbar
|
||||
from cms.toolbar_pool import toolbar_pool
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
from django.utils.translation import ugettext_lazy as _, override
|
||||
|
||||
from .models import BLOG_CURRENT_POST_IDENTIFIER
|
||||
from .models import BLOG_CURRENT_NAMESPACE, BLOG_CURRENT_POST_IDENTIFIER
|
||||
|
||||
|
||||
@toolbar_pool.register
|
||||
|
|
@ -17,16 +17,21 @@ class BlogToolbar(CMSToolbar):
|
|||
if not self.request.user.has_perm('djangocms_blog.add_post'):
|
||||
return # pragma: no cover
|
||||
admin_menu = self.toolbar.get_or_create_menu('djangocms_blog', _('Blog'))
|
||||
url = reverse('admin:djangocms_blog_post_changelist')
|
||||
admin_menu.add_modal_item(_('Post list'), url=url)
|
||||
url = reverse('admin:djangocms_blog_post_add')
|
||||
admin_menu.add_modal_item(_('Add post'), url=url)
|
||||
with override(self.current_lang):
|
||||
url = reverse('admin:djangocms_blog_post_changelist')
|
||||
admin_menu.add_modal_item(_('Post list'), url=url)
|
||||
url = reverse('admin:djangocms_blog_post_add')
|
||||
admin_menu.add_modal_item(_('Add post'), url=url)
|
||||
current_config = getattr(self.request, BLOG_CURRENT_NAMESPACE, None)
|
||||
if current_config:
|
||||
url = reverse('admin:djangocms_blog_blogconfig_change', args=(current_config.pk,))
|
||||
admin_menu.add_modal_item(_('Edit configuration'), url=url)
|
||||
|
||||
current_post = getattr(self.request, BLOG_CURRENT_POST_IDENTIFIER, None)
|
||||
if current_post and self.request.user.has_perm('djangocms_blog.change_post'): # pragma: no cover # NOQA
|
||||
admin_menu.add_modal_item(_('Edit Post'), reverse(
|
||||
'admin:djangocms_blog_post_change', args=(current_post.pk,)),
|
||||
active=True)
|
||||
current_post = getattr(self.request, BLOG_CURRENT_POST_IDENTIFIER, None)
|
||||
if current_post and self.request.user.has_perm('djangocms_blog.change_post'): # pragma: no cover # NOQA
|
||||
admin_menu.add_modal_item(_('Edit Post'), reverse(
|
||||
'admin:djangocms_blog_post_change', args=(current_post.pk,)),
|
||||
active=True)
|
||||
|
||||
def post_template_populate(self):
|
||||
current_post = getattr(self.request, BLOG_CURRENT_POST_IDENTIFIER, None)
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ from .managers import GenericDateTaggedManager
|
|||
from .settings import get_setting
|
||||
|
||||
BLOG_CURRENT_POST_IDENTIFIER = 'djangocms_post_current'
|
||||
BLOG_CURRENT_NAMESPACE = 'djangocms_post_current_config'
|
||||
|
||||
|
||||
@python_2_unicode_compatible
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ from django.utils.translation import get_language
|
|||
from django.views.generic import DetailView, ListView
|
||||
from parler.views import TranslatableSlugMixin, ViewUrlMixin
|
||||
|
||||
from .models import BLOG_CURRENT_POST_IDENTIFIER, BlogCategory, Post
|
||||
from .models import BLOG_CURRENT_NAMESPACE, BLOG_CURRENT_POST_IDENTIFIER, BlogCategory, Post
|
||||
from .settings import get_setting
|
||||
|
||||
User = get_user_model()
|
||||
|
|
@ -42,6 +42,7 @@ class BaseBlogView(AppConfigMixin, ViewUrlMixin):
|
|||
)
|
||||
if not getattr(self.request, 'toolbar', False) or not self.request.toolbar.edit_mode:
|
||||
queryset = queryset.published()
|
||||
setattr(self.request, BLOG_CURRENT_NAMESPACE, self.config)
|
||||
return queryset
|
||||
|
||||
def get_template_names(self):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue