Skip to content

Commit

Permalink
Merge 107001a into 1005e28
Browse files Browse the repository at this point in the history
  • Loading branch information
mx-moth committed Aug 1, 2015
2 parents 1005e28 + 107001a commit 23f559c
Show file tree
Hide file tree
Showing 7 changed files with 34 additions and 13 deletions.
3 changes: 3 additions & 0 deletions wagtail/wagtailadmin/edit_handlers.py
Expand Up @@ -421,6 +421,8 @@ def bind_to_model(self, model):

class BaseFieldPanel(EditHandler):

TEMPLATE_VAR = 'field_panel'

@classmethod
def widget_overrides(cls):
"""check if a specific widget has been defined for this field"""
Expand Down Expand Up @@ -459,6 +461,7 @@ def id_for_label(self):
def render_as_object(self):
return mark_safe(render_to_string(self.object_template, {
'self': self,
self.TEMPLATE_VAR: self,
'field': self.bound_field,
}))

Expand Down
Expand Up @@ -4,7 +4,7 @@
var wagtail = wagtail || {};
wagtail.static_root = '{% static "wagtailadmin/" %}';
wagtail.userbar = {
src: '{% if revision_id %}{% url "wagtailadmin_userbar_moderation" revision_id %}{% else %}{% url "wagtailadmin_userbar_frontend" page.self.id %}{% endif %}',
src: '{% if revision_id %}{% url "wagtailadmin_userbar_moderation" revision_id %}{% else %}{% url "wagtailadmin_userbar_frontend" page.id %}{% endif %}',
origin:'{% if request.is_secure %}https{% else %}http{% endif %}://{{ request.get_host }}'
};
(function(d) {
Expand All @@ -13,4 +13,4 @@
var s = d.getElementsByTagName('script')[0]; s.parentNode.insertBefore(u, s);
})(document);
</script>
<!-- end Wagtail user bar embed code -->
<!-- end Wagtail user bar embed code -->
15 changes: 9 additions & 6 deletions wagtail/wagtailadmin/templatetags/wagtailuserbar.py
@@ -1,7 +1,7 @@
from django import template
from django.template.loader import render_to_string

from wagtail.wagtailcore.models import Page
from wagtail.wagtailcore.models import Page, PAGE_TEMPLATE_VAR


register = template.Library()
Expand All @@ -16,10 +16,13 @@ def wagtailuserbar(context):
if not request.user.has_perm('wagtailadmin.access_admin'):
return ''

# 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:
# Only render if the context contains a 'PAGE_TEMPLATE_VAR' variable
# referencing a saved page
if PAGE_TEMPLATE_VAR not in context:
return ''

page = context[PAGE_TEMPLATE_VAR]
if not isinstance(page, Page) or page.id is None:
return ''

try:
Expand All @@ -30,6 +33,6 @@ def wagtailuserbar(context):
# Render the frame to contain the userbar items
return render_to_string('wagtailadmin/userbar/frame.html', {
'request': request,
'page': context,
'page': page,
'revision_id': revision_id
})
6 changes: 3 additions & 3 deletions wagtail/wagtailadmin/tests/test_userbar.py
Expand Up @@ -6,7 +6,7 @@
from django.contrib.auth.models import AnonymousUser

from wagtail.tests.utils import WagtailTestUtils
from wagtail.wagtailcore.models import Page
from wagtail.wagtailcore.models import Page, PAGE_TEMPLATE_VAR
from wagtail.tests.testapp.models import BusinessIndex, BusinessChild


Expand All @@ -23,7 +23,7 @@ def dummy_request(self, user=None):
def test_userbar_tag(self):
template = Template("{% load wagtailuserbar %}{% wagtailuserbar %}")
content = template.render(Context({
'self': self.homepage,
PAGE_TEMPLATE_VAR: self.homepage,
'request': self.dummy_request(self.user),
}))

Expand All @@ -32,7 +32,7 @@ def test_userbar_tag(self):
def test_userbar_tag_anonymous_user(self):
template = Template("{% load wagtailuserbar %}{% wagtailuserbar %}")
content = template.render(Context({
'self': self.homepage,
PAGE_TEMPLATE_VAR: self.homepage,
'request': self.dummy_request(),
}))

Expand Down
7 changes: 6 additions & 1 deletion wagtail/wagtailcore/blocks/base.py
Expand Up @@ -41,6 +41,8 @@ class Block(six.with_metaclass(BaseBlock, object)):
name = ''
creation_counter = 0

TEMPLATE_VAR = 'block'

class Meta:
label = None
icon = "placeholder"
Expand Down Expand Up @@ -206,7 +208,10 @@ def render(self, value):
"""
template = getattr(self.meta, 'template', None)
if template:
return render_to_string(template, {'self': value})
return render_to_string(template, {
'self': value,
self.TEMPLATE_VAR: self,
})
else:
return self.render_basic(value)

Expand Down
3 changes: 3 additions & 0 deletions wagtail/wagtailcore/models.py
Expand Up @@ -43,6 +43,8 @@

logger = logging.getLogger('wagtail.core')

PAGE_TEMPLATE_VAR = 'page'


class SiteManager(models.Manager):
def get_by_natural_key(self, hostname, port):
Expand Down Expand Up @@ -546,6 +548,7 @@ def unpublish(self, set_expired=False, commit=True):

def get_context(self, request, *args, **kwargs):
return {
PAGE_TEMPLATE_VAR: self,
'self': self,
'request': request,
}
Expand Down
9 changes: 8 additions & 1 deletion wagtail/wagtailforms/models.py
Expand Up @@ -13,7 +13,9 @@
from django.utils.six import text_type
from django.core.serializers.json import DjangoJSONEncoder

from wagtail.wagtailcore.models import Page, Orderable, UserPagePermissionsProxy, get_page_types
from wagtail.wagtailcore.models import (
Page, Orderable, UserPagePermissionsProxy, get_page_types,
PAGE_TEMPLATE_VAR)
from wagtail.wagtailadmin.edit_handlers import FieldPanel
from wagtail.wagtailadmin.utils import send_mail

Expand All @@ -34,6 +36,8 @@
('datetime', _('Date/time')),
)

FORM_TEMPLATE_VAR = PAGE_TEMPLATE_VAR


HTML_EXTENSION_RE = re.compile(r"(.*)\.html")

Expand Down Expand Up @@ -172,12 +176,14 @@ def serve(self, request):
# render the landing_page
# TODO: It is much better to redirect to it
return render(request, self.landing_page_template, {
FORM_TEMPLATE_VAR: self,
'self': self,
})
else:
form = self.get_form()

return render(request, self.template, {
FORM_TEMPLATE_VAR: self,
'self': self,
'form': form,
})
Expand All @@ -190,6 +196,7 @@ def serve(self, request):
def serve_preview(self, request, mode):
if mode == 'landing':
return render(request, self.landing_page_template, {
FORM_TEMPLATE_VAR: self,
'self': self,
})
else:
Expand Down

0 comments on commit 23f559c

Please sign in to comment.