mirror of
https://github.com/Hopiu/wagtail.git
synced 2026-04-29 02:54:49 +00:00
Refactor wagtailuserbar logic - no need to split it between templatetags and views
This commit is contained in:
parent
cc78aef748
commit
6694b30bea
2 changed files with 14 additions and 24 deletions
|
|
@ -1,8 +1,8 @@
|
|||
import warnings
|
||||
|
||||
from django import template
|
||||
from django.template.loader import render_to_string
|
||||
|
||||
from wagtail.wagtailadmin.views import userbar
|
||||
from wagtail.wagtailcore.models import Page
|
||||
|
||||
register = template.Library()
|
||||
|
|
@ -22,11 +22,20 @@ def wagtailuserbar(context, css_path=None):
|
|||
if not request.user.has_perm('wagtailadmin.access_admin'):
|
||||
return ''
|
||||
|
||||
# Find page object
|
||||
# Only render if the context contains a 'self' variable referencing a saved page
|
||||
if 'self' in context and isinstance(context['self'], Page) and context['self'].id is not None:
|
||||
pass
|
||||
else:
|
||||
return ''
|
||||
|
||||
# Render edit bird
|
||||
return userbar.render_edit_frame(request, context) or ''
|
||||
try:
|
||||
revision_id = request.revision_id
|
||||
except AttributeError:
|
||||
revision_id = None
|
||||
|
||||
# Render the frame to contain the userbar items
|
||||
return render_to_string('wagtailadmin/userbar/frame.html', {
|
||||
'request': request,
|
||||
'page': context,
|
||||
'revision_id': revision_id
|
||||
})
|
||||
|
|
|
|||
|
|
@ -1,28 +1,9 @@
|
|||
from django.conf import settings
|
||||
from django.shortcuts import render, redirect
|
||||
from django.template.loader import render_to_string
|
||||
from django.contrib import messages
|
||||
from django.contrib.auth.forms import SetPasswordForm
|
||||
from django.contrib.auth.decorators import permission_required
|
||||
from django.utils.translation import ugettext as _
|
||||
from django.shortcuts import render
|
||||
|
||||
from wagtail.wagtailadmin.userbar import EditPageItem, AddPageItem, ApproveModerationEditPageItem, RejectModerationEditPageItem
|
||||
from wagtail.wagtailadmin import hooks
|
||||
from wagtail.wagtailcore.models import Page, PageRevision
|
||||
|
||||
def render_edit_frame(request, context):
|
||||
try:
|
||||
revision_id = request.revision_id
|
||||
except:
|
||||
revision_id = None
|
||||
|
||||
# Render the frame to contain the userbar items
|
||||
return render_to_string('wagtailadmin/userbar/frame.html', {
|
||||
'request': request,
|
||||
'page': context,
|
||||
'revision_id': revision_id
|
||||
})
|
||||
|
||||
def for_frontend(request, page_id):
|
||||
items = [
|
||||
EditPageItem(Page.objects.get(id=page_id)),
|
||||
|
|
|
|||
Loading…
Reference in a new issue