From 5e17881f2d85e8f153c88fdf3bb35e4eecdfcc07 Mon Sep 17 00:00:00 2001 From: Dave Cranwell Date: Tue, 18 Mar 2014 16:53:56 +0000 Subject: [PATCH] renamed all userbar templates to be more uniform and changed 'edit bird' to 'userbar' throughout --- .../scss/{edit_bird.scss => userbar.scss} | 0 .../wagtailadmin/scss/wagtail-userbar.css | 117 ------------------ .../userbar/{edit_bird.html => base.html} | 2 +- .../templates/wagtailadmin/userbar/frame.html | 2 +- .../{base_item.html => item_base.html} | 0 .../wagtailadmin/userbar/item_page_add.html | 6 + ...ation_item.html => item_page_approve.html} | 2 +- ...dit_page_item.html => item_page_edit.html} | 2 +- ...ration_item.html => item_page_reject.html} | 2 +- .../templatetags/wagtail_edit_bird.py | 22 ---- .../templatetags/wagtailuserbar.py | 30 +++-- wagtail/wagtailadmin/urls.py | 3 +- wagtail/wagtailadmin/userbar.py | 42 +++++-- wagtail/wagtailadmin/views/pages.py | 2 + wagtail/wagtailadmin/views/userbar.py | 50 +++++--- 15 files changed, 99 insertions(+), 183 deletions(-) rename wagtail/wagtailadmin/static/wagtailadmin/scss/{edit_bird.scss => userbar.scss} (100%) delete mode 100644 wagtail/wagtailadmin/static/wagtailadmin/scss/wagtail-userbar.css rename wagtail/wagtailadmin/templates/wagtailadmin/userbar/{edit_bird.html => base.html} (95%) rename wagtail/wagtailadmin/templates/wagtailadmin/userbar/{base_item.html => item_base.html} (100%) create mode 100644 wagtail/wagtailadmin/templates/wagtailadmin/userbar/item_page_add.html rename wagtail/wagtailadmin/templates/wagtailadmin/userbar/{approve_moderation_item.html => item_page_approve.html} (86%) rename wagtail/wagtailadmin/templates/wagtailadmin/userbar/{edit_page_item.html => item_page_edit.html} (78%) rename wagtail/wagtailadmin/templates/wagtailadmin/userbar/{reject_moderation_item.html => item_page_reject.html} (86%) delete mode 100644 wagtail/wagtailadmin/templatetags/wagtail_edit_bird.py diff --git a/wagtail/wagtailadmin/static/wagtailadmin/scss/edit_bird.scss b/wagtail/wagtailadmin/static/wagtailadmin/scss/userbar.scss similarity index 100% rename from wagtail/wagtailadmin/static/wagtailadmin/scss/edit_bird.scss rename to wagtail/wagtailadmin/static/wagtailadmin/scss/userbar.scss diff --git a/wagtail/wagtailadmin/static/wagtailadmin/scss/wagtail-userbar.css b/wagtail/wagtailadmin/static/wagtailadmin/scss/wagtail-userbar.css deleted file mode 100644 index 44103abcf..000000000 --- a/wagtail/wagtailadmin/static/wagtailadmin/scss/wagtail-userbar.css +++ /dev/null @@ -1,117 +0,0 @@ -/* NB: This embedding format references ttf/eo/svg files that don't exist. -This is a deliberate means of forcing the browser to use the base64 encoded woff instead. Somehow. */ -@font-face { - font-family: 'wagtailuserbar'; - src: url('wagtailuserbar.eot'); -} - -@font-face { - font-family: 'wagtailuserbar'; - src: url(data:application/x-font-woff;charset=utf-8;base64,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) format('woff'), - url('wagtailuserbar.ttf') format('truetype'), - url('wagtailuserbar.svg#wagtailuserbar') format('svg'); - font-weight: normal; - font-style: normal; -} - -body{ - padding-top:50px; -} - -#wagtail-userbar{ - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - -webkit-font-smoothing: antialiased; - font-family:Open Sans,sans-serif; - font-size:13px; - min-height:50px; - position:fixed; - width:100%; - top:0; - background-color:#333; - z-index:10000; - padding:10px 10px 0px 70px; - color:white; -} - #wagtail-userbar:before, - #wagtail-userbar:after { - content: " "; - display: table; - } - #wagtail-userbar:after { - clear: both; - } - - #wagtail-userbar:before{ - position:absolute; - font-family:wagtailuserbar; - content:"v"; - width:50px; - height:100%; - min-height:50px; - line-height:57px; - font-size:40px; - background-color:blue; - display:block; - float:left; - margin:-10px 0 0 -70px; - background-color:#000; - color:white; - opacity:0.4; - text-align:center; - } - - #wagtail-userbar ul, - #wagtail-userbar li{ - margin:0; - padding:0; - list-style-type:none; - } - #wagtail-userbar li{ - margin-bottom:10px; - } - #wagtail-userbar p{ - margin:0.5em 0 1em 0; - } - #wagtail-userbar .message{ - float:left; - } - #wagtail-userbar .actions{ - float:right; - } - #wagtail-userbar .actions form{ - float:left; - } - #wagtail-userbar .button{ - border:0; - font-family:Open Sans,Arial,sans-serif; - border-radius:2px; - background-color:#666; - -webkit-font-smoothing: antialiased; - text-transform:uppercase; - padding:0.5em 1em; - float:left; - margin:0 1em 1em 0; - font-weight:normal; - font-size:0.9em; - color:white; - line-height:1.2em; - text-decoration:none; - } - #wagtail-userbar .button:hover{ - background-color:#555; - } - #wagtail-userbar .button.yes{ - background-color:#43b1b0; - } - #wagtail-userbar .button.yes:hover{ - background-color:#2c7d7b; - } - #wagtail-userbar .button.no{ - background-color:#f7474e; - } - #wagtail-userbar .button.no:hover{ - background-color:#cf0911; - } - diff --git a/wagtail/wagtailadmin/templates/wagtailadmin/userbar/edit_bird.html b/wagtail/wagtailadmin/templates/wagtailadmin/userbar/base.html similarity index 95% rename from wagtail/wagtailadmin/templates/wagtailadmin/userbar/edit_bird.html rename to wagtail/wagtailadmin/templates/wagtailadmin/userbar/base.html index 7f1ddd6b4..293d43bc7 100644 --- a/wagtail/wagtailadmin/templates/wagtailadmin/userbar/edit_bird.html +++ b/wagtail/wagtailadmin/templates/wagtailadmin/userbar/base.html @@ -4,7 +4,7 @@ {% block titletag %}{% trans 'User bar' %}{% endblock %} {% block css %} {% compress css %} - + {% endcompress %} {% endblock %} diff --git a/wagtail/wagtailadmin/templates/wagtailadmin/userbar/frame.html b/wagtail/wagtailadmin/templates/wagtailadmin/userbar/frame.html index 026e3168a..d4b69de1c 100644 --- a/wagtail/wagtailadmin/templates/wagtailadmin/userbar/frame.html +++ b/wagtail/wagtailadmin/templates/wagtailadmin/userbar/frame.html @@ -10,4 +10,4 @@ height:300px; } - \ No newline at end of file + \ No newline at end of file diff --git a/wagtail/wagtailadmin/templates/wagtailadmin/userbar/base_item.html b/wagtail/wagtailadmin/templates/wagtailadmin/userbar/item_base.html similarity index 100% rename from wagtail/wagtailadmin/templates/wagtailadmin/userbar/base_item.html rename to wagtail/wagtailadmin/templates/wagtailadmin/userbar/item_base.html diff --git a/wagtail/wagtailadmin/templates/wagtailadmin/userbar/item_page_add.html b/wagtail/wagtailadmin/templates/wagtailadmin/userbar/item_page_add.html new file mode 100644 index 000000000..45f0002e9 --- /dev/null +++ b/wagtail/wagtailadmin/templates/wagtailadmin/userbar/item_page_add.html @@ -0,0 +1,6 @@ +{% extends "wagtailadmin/userbar/item_base.html" %} +{% load i18n %} + +{% block item_content %} + {% trans 'Add' %} +{% endblock %} \ No newline at end of file diff --git a/wagtail/wagtailadmin/templates/wagtailadmin/userbar/approve_moderation_item.html b/wagtail/wagtailadmin/templates/wagtailadmin/userbar/item_page_approve.html similarity index 86% rename from wagtail/wagtailadmin/templates/wagtailadmin/userbar/approve_moderation_item.html rename to wagtail/wagtailadmin/templates/wagtailadmin/userbar/item_page_approve.html index accbea856..eed4b5b85 100644 --- a/wagtail/wagtailadmin/templates/wagtailadmin/userbar/approve_moderation_item.html +++ b/wagtail/wagtailadmin/templates/wagtailadmin/userbar/item_page_approve.html @@ -1,4 +1,4 @@ -{% extends "wagtailadmin/userbar/base_item.html" %} +{% extends "wagtailadmin/userbar/item_base.html" %} {% load i18n %} {% block item_content %} diff --git a/wagtail/wagtailadmin/templates/wagtailadmin/userbar/edit_page_item.html b/wagtail/wagtailadmin/templates/wagtailadmin/userbar/item_page_edit.html similarity index 78% rename from wagtail/wagtailadmin/templates/wagtailadmin/userbar/edit_page_item.html rename to wagtail/wagtailadmin/templates/wagtailadmin/userbar/item_page_edit.html index 58fce01af..c6bb077ad 100644 --- a/wagtail/wagtailadmin/templates/wagtailadmin/userbar/edit_page_item.html +++ b/wagtail/wagtailadmin/templates/wagtailadmin/userbar/item_page_edit.html @@ -1,4 +1,4 @@ -{% extends "wagtailadmin/userbar/base_item.html" %} +{% extends "wagtailadmin/userbar/item_base.html" %} {% load i18n %} {% block item_content %} diff --git a/wagtail/wagtailadmin/templates/wagtailadmin/userbar/reject_moderation_item.html b/wagtail/wagtailadmin/templates/wagtailadmin/userbar/item_page_reject.html similarity index 86% rename from wagtail/wagtailadmin/templates/wagtailadmin/userbar/reject_moderation_item.html rename to wagtail/wagtailadmin/templates/wagtailadmin/userbar/item_page_reject.html index 99c389bd2..ff145a508 100644 --- a/wagtail/wagtailadmin/templates/wagtailadmin/userbar/reject_moderation_item.html +++ b/wagtail/wagtailadmin/templates/wagtailadmin/userbar/item_page_reject.html @@ -1,4 +1,4 @@ -{% extends "wagtailadmin/userbar/base_item.html" %} +{% extends "wagtailadmin/userbar/item_base.html" %} {% load i18n %} {% block item_content %} diff --git a/wagtail/wagtailadmin/templatetags/wagtail_edit_bird.py b/wagtail/wagtailadmin/templatetags/wagtail_edit_bird.py deleted file mode 100644 index 09975c2a7..000000000 --- a/wagtail/wagtailadmin/templatetags/wagtail_edit_bird.py +++ /dev/null @@ -1,22 +0,0 @@ -from django import template -from wagtail.wagtailadmin.views import userbar -from wagtail.wagtailcore.models import Page - -register = template.Library() - -@register.simple_tag(takes_context=True) -def wagtail_edit_bird(context, current_page=None, items=None): - # Find page object - if not current_page: - if 'self' in context and isinstance(context['self'], Page): - current_page = context['self'] - else: - return '' - - # Find request object - request = context['request'] - - print context - - # Render edit bird - return userbar.render_edit_frame(request, context) or '' diff --git a/wagtail/wagtailadmin/templatetags/wagtailuserbar.py b/wagtail/wagtailadmin/templatetags/wagtailuserbar.py index e708740ff..b7d7de35a 100644 --- a/wagtail/wagtailadmin/templatetags/wagtailuserbar.py +++ b/wagtail/wagtailadmin/templatetags/wagtailuserbar.py @@ -1,17 +1,25 @@ from django import template -from django.contrib.staticfiles.storage import staticfiles_storage -from django.utils.html import format_html, format_html_join +from wagtail.wagtailadmin.views import userbar +from wagtail.wagtailcore.models import Page register = template.Library() - @register.simple_tag(takes_context=True) -def wagtailuserbar(context, cssfile=None): - try: - items = format_html_join(u'', u'
  • {0}
  • ', [(item,) for item in context['request'].userbar]) - context.hasuserbar = True - if not cssfile: - cssfile = staticfiles_storage.url('wagtailadmin/css/wagtail-userbar.css') - return format_html(u'', cssfile, items) - except AttributeError: +def wagtailuserbar(context, current_page=None, items=None): + + # Find request object + request = context['request'] + + # Don't render if user doesn't have permission to access the admin area + if not request.user.has_perm('wagtailadmin.access_admin'): return '' + + # Find page object + if not current_page: + if 'self' in context and isinstance(context['self'], Page): + current_page = context['self'] + else: + return '' + + # Render edit bird + return userbar.render_edit_frame(request, context) or '' \ No newline at end of file diff --git a/wagtail/wagtailadmin/urls.py b/wagtail/wagtailadmin/urls.py index cc72e29f5..081337803 100644 --- a/wagtail/wagtailadmin/urls.py +++ b/wagtail/wagtailadmin/urls.py @@ -80,5 +80,6 @@ urlpatterns += patterns( url(r'^account/$', 'account.account', name='wagtailadmin_account'), url(r'^account/change_password/$', 'account.change_password', name='wagtailadmin_account_change_password'), - url(r'^userbar/(\d+)/$', 'userbar.userbar', name='wagtailadmin_userbar'), + url(r'^userbar/(\d+)/$', 'userbar.for_frontend', name='wagtailadmin_userbar_frontend'), + url(r'^userbar/moderation/(\d+)/$', 'userbar.for_moderation', name='wagtailadmin_userbar_moderation'), ) diff --git a/wagtail/wagtailadmin/userbar.py b/wagtail/wagtailadmin/userbar.py index 9a4582c1a..a641a7b1d 100644 --- a/wagtail/wagtailadmin/userbar.py +++ b/wagtail/wagtailadmin/userbar.py @@ -3,14 +3,36 @@ from django.template import RequestContext from django.template.loader import render_to_string class BaseItem(object): - template = 'wagtailadmin/userbar/base_item.html' + template = 'wagtailadmin/userbar/item_base.html' def render(self, request): return render_to_string(self.template, dict(self=self, request=request), context_instance=RequestContext(request)) +class AddPageItem(BaseItem): + template = 'wagtailadmin/userbar/item_page_add.html' + + def __init__(self, page): + self.page = page + self.parent_page = page.get_parent() + + def render(self, request): + # Don't render if the page doesn't have an id + if not self.page.id: + return "" + + # Don't render if user doesn't have permission to access the admin area + if not request.user.has_perm('wagtailadmin.access_admin'): + return "" + + # Don't render if user doesn't have ability to add siblings + permission_checker = self.page.get_parent().permissions_for_user(request.user) + if not permission_checker.can_add_subpage(): + return "" + + return super(AddPageItem, self).render(request) class EditPageItem(BaseItem): - template = 'wagtailadmin/userbar/edit_page_item.html' + template = 'wagtailadmin/userbar/item_page_edit.html' def __init__(self, page): self.page = page @@ -33,28 +55,26 @@ class EditPageItem(BaseItem): class ModeratePageItem(BaseItem): - def __init__(self, page): - self.page = page + def __init__(self, revision): + self.revision = revision def render(self, request): - if not self.page.id: + if not self.revision.id: return "" - if not self.page.get_latest_revision().submitted_for_moderation: + if not self.revision.submitted_for_moderation: return "" - self.revision = self.page.get_latest_revision() - if not request.user.has_perm('wagtailadmin.access_admin'): return "" - if not self.page.permissions_for_user(request.user).can_publish(): + if not self.revision.page.permissions_for_user(request.user).can_publish(): return "" return super(ModeratePageItem, self).render(request) class ApproveModerationEditPageItem(ModeratePageItem): - template = 'wagtailadmin/userbar/approve_moderation_item.html' + template = 'wagtailadmin/userbar/item_page_approve.html' class RejectModerationEditPageItem(ModeratePageItem): - template = 'wagtailadmin/userbar/reject_moderation_item.html' + template = 'wagtailadmin/userbar/item_page_reject.html' diff --git a/wagtail/wagtailadmin/views/pages.py b/wagtail/wagtailadmin/views/pages.py index dbf17a2a4..9032d3410 100644 --- a/wagtail/wagtailadmin/views/pages.py +++ b/wagtail/wagtailadmin/views/pages.py @@ -623,4 +623,6 @@ def preview_for_moderation(request, revision_id): page = revision.as_page_object() + request.revision_id = revision_id + return page.serve(request) diff --git a/wagtail/wagtailadmin/views/userbar.py b/wagtail/wagtailadmin/views/userbar.py index e4a45c270..9d15dfe45 100644 --- a/wagtail/wagtailadmin/views/userbar.py +++ b/wagtail/wagtailadmin/views/userbar.py @@ -6,42 +6,60 @@ from django.contrib.auth.forms import SetPasswordForm from django.contrib.auth.decorators import permission_required from django.utils.translation import ugettext as _ -from wagtail.wagtailadmin.userbar import EditPageItem, ApproveModerationEditPageItem, RejectModerationEditPageItem +from wagtail.wagtailadmin.userbar import EditPageItem, AddPageItem, ApproveModerationEditPageItem, RejectModerationEditPageItem from wagtail.wagtailadmin import hooks -from wagtail.wagtailcore.models import Page +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', { - 'page': context + 'page': context, + 'revision_id': revision_id }) -@permission_required('wagtailadmin.access_admin') -def userbar(request, page_id): +def for_frontend(request, page_id): items = [ EditPageItem(Page.objects.get(id=page_id)), - ApproveModerationEditPageItem(Page.objects.get(id=page_id)), - RejectModerationEditPageItem(Page.objects.get(id=page_id)), + AddPageItem(Page.objects.get(id=page_id)), ] for fn in hooks.get_hooks('construct_wagtail_edit_bird'): fn(request, items) - - for item in items: - print item.render(request) - # Render the items rendered_items = [item.render(request) for item in items] # Remove any unrendered items rendered_items = [item for item in rendered_items if item] - # Quit if no items rendered - if not rendered_items: - return + # Render the edit bird + return render(request, 'wagtailadmin/userbar/base.html', { + 'items': rendered_items, + }) + +def for_moderation(request, revision_id): + items = [ + EditPageItem(PageRevision.objects.get(id=revision_id).page), + AddPageItem(PageRevision.objects.get(id=revision_id).page), + ApproveModerationEditPageItem(PageRevision.objects.get(id=revision_id)), + RejectModerationEditPageItem(PageRevision.objects.get(id=revision_id)), + ] + + for fn in hooks.get_hooks('construct_wagtail_edit_bird'): + fn(request, items) + + # Render the items + rendered_items = [item.render(request) for item in items] + + # Remove any unrendered items + rendered_items = [item for item in rendered_items if item] # Render the edit bird - return render(request, 'wagtailadmin/userbar/edit_bird.html', { - 'items': [item.render(request) for item in items], + return render(request, 'wagtailadmin/userbar/base.html', { + 'items': rendered_items, }) \ No newline at end of file