{% include "wagtailadmin/edit_handlers/page_chooser_panel.html" with field=field choose_one_text_str="Choose a page" choose_another_text_str="Choose another page" only %}
+
{% include "wagtailadmin/edit_handlers/page_chooser_panel.html" with field=field only %}
{% elif field.name == 'image_chooser' %}
-
{% include "wagtailimages/edit_handlers/image_chooser_panel.html" with field=field choose_one_text_str="Choose an image" choose_another_text_str="Choose another image" only %}
+
{% include "wagtailimages/edit_handlers/image_chooser_panel.html" with field=field only %}
{% elif field.name == 'document_chooser' %}
-
{% include "wagtaildocs/edit_handlers/document_chooser_panel.html" with field=field choose_one_text_str="Choose a document" choose_another_text_str="Choose another document" only %}
+
{% include "wagtaildocs/edit_handlers/document_chooser_panel.html" with field=field only %}
{% else %}
{% include "wagtailadmin/shared/field_as_li.html" %}
{% endif %}
diff --git a/wagtail/wagtailadmin/edit_handlers.py b/wagtail/wagtailadmin/edit_handlers.py
index 5e490dd9a..8aa047fc5 100644
--- a/wagtail/wagtailadmin/edit_handlers.py
+++ b/wagtail/wagtailadmin/edit_handlers.py
@@ -494,14 +494,13 @@ class BaseChooserPanel(BaseFieldPanel):
# like every other unpopulated field type. Yay consistency!
return None
- def render_as_field(self, extra_context={}):
+ def render_as_field(self):
instance_obj = self.get_chosen_item()
context = {
'field': self.bound_field,
self.object_type_name: instance_obj,
'is_chosen': bool(instance_obj),
}
- context.update(extra_context)
return mark_safe(render_to_string(self.field_template, context))
@@ -536,13 +535,6 @@ class BasePageChooserPanel(BaseChooserPanel):
return cls._target_content_type
- def render_as_field(self):
- context = {
- 'choose_another_text_str': ugettext_lazy("Choose another page"),
- 'choose_one_text_str': ugettext_lazy("Choose a page"),
- }
- return super(BasePageChooserPanel, self).render_as_field(extra_context=context)
-
class PageChooserPanel(object):
def __init__(self, field_name, page_type=None):
diff --git a/wagtail/wagtailadmin/templates/wagtailadmin/edit_handlers/chooser_panel.html b/wagtail/wagtailadmin/templates/wagtailadmin/edit_handlers/chooser_panel.html
index bf583c1dd..65a627479 100644
--- a/wagtail/wagtailadmin/templates/wagtailadmin/edit_handlers/chooser_panel.html
+++ b/wagtail/wagtailadmin/templates/wagtailadmin/edit_handlers/chooser_panel.html
@@ -17,14 +17,14 @@
{% if not field.field.required %}
-
+
{% endif %}
-
+
- {% trans "Change page" as choose_another_text_str %}
- {% trans "Choose page" as choose_one_text_str %}
- {% include "wagtailadmin/edit_handlers/page_chooser_panel.html" with field=form.new_parent_page page=parent_page is_chosen=True choose_one_text_str=choose_one_text_str choose_another_text_str=choose_another_text_str only %}
+ {% include "wagtailadmin/edit_handlers/page_chooser_panel.html" with field=form.new_parent_page page=parent_page is_chosen=True only %}
{% if form.copy_subpages %}
diff --git a/wagtail/wagtailadmin/widgets.py b/wagtail/wagtailadmin/widgets.py
index 3b12b95d2..7bf92a7cd 100644
--- a/wagtail/wagtailadmin/widgets.py
+++ b/wagtail/wagtailadmin/widgets.py
@@ -5,6 +5,7 @@ import json
from django.core.urlresolvers import reverse
from django.forms import widgets
from django.contrib.contenttypes.models import ContentType
+from django.utils.translation import ugettext_lazy as _
from wagtail.utils.widgets import WidgetWithScript
from wagtail.wagtailcore.models import Page
@@ -36,10 +37,25 @@ class AdminTagWidget(WidgetWithScript, TagWidget):
class AdminChooser(WidgetWithScript, widgets.Input):
input_type = 'hidden'
+ choose_one_text = _("Choose an item")
+ choose_another_text = _("Choose another item")
+ clear_choice_text = _("Clear choice")
+
+ def __init__(self, **kwargs):
+ # allow choose_one_text / choose_another_text to be overridden per-instance
+ if 'choose_one_text' in kwargs:
+ self.choose_one_text = kwargs.pop('choose_one_text')
+ if 'choose_another_text' in kwargs:
+ self.choose_another_text = kwargs.pop('choose_another_text')
+ if 'clear_choice_text' in kwargs:
+ self.clear_choice_text = kwargs.pop('clear_choice_text')
+ super(AdminChooser, self).__init__(**kwargs)
class AdminPageChooser(AdminChooser):
target_content_type = None
+ choose_one_text = _('Choose a page')
+ choose_another_text = _('Choose another page')
def __init__(self, content_type=None, **kwargs):
super(AdminPageChooser, self).__init__(**kwargs)
diff --git a/wagtail/wagtaildocs/templates/wagtaildocs/edit_handlers/document_chooser_panel.html b/wagtail/wagtaildocs/templates/wagtaildocs/edit_handlers/document_chooser_panel.html
index cc3f679cc..59dc2ed2a 100644
--- a/wagtail/wagtaildocs/templates/wagtaildocs/edit_handlers/document_chooser_panel.html
+++ b/wagtail/wagtaildocs/templates/wagtaildocs/edit_handlers/document_chooser_panel.html
@@ -5,7 +5,3 @@
{% block chosen_state_view %}
{{ document.title }}
{% endblock %}
-
-{% block clear_button_label %}{% trans "Clear choice" %}{% endblock %}
-{% block choose_another_button_label %}{% trans "Choose another document" %}{% endblock %}
-{% block choose_button_label %}{% trans "Choose a document" %}{% endblock %}
diff --git a/wagtail/wagtaildocs/widgets.py b/wagtail/wagtaildocs/widgets.py
index 643cfae66..e5d490f51 100644
--- a/wagtail/wagtaildocs/widgets.py
+++ b/wagtail/wagtaildocs/widgets.py
@@ -2,9 +2,14 @@ from __future__ import absolute_import, unicode_literals
import json
+from django.utils.translation import ugettext_lazy as _
+
from wagtail.wagtailadmin.widgets import AdminChooser
class AdminDocumentChooser(AdminChooser):
+ choose_one_text = _('Choose a document')
+ choose_another_text = _('Choose another document')
+
def render_js_init(self, id_, name, value):
return "createDocumentChooser({0});".format(json.dumps(id_))
diff --git a/wagtail/wagtailimages/templates/wagtailimages/edit_handlers/image_chooser_panel.html b/wagtail/wagtailimages/templates/wagtailimages/edit_handlers/image_chooser_panel.html
index abae4c905..38df1be80 100644
--- a/wagtail/wagtailimages/templates/wagtailimages/edit_handlers/image_chooser_panel.html
+++ b/wagtail/wagtailimages/templates/wagtailimages/edit_handlers/image_chooser_panel.html
@@ -13,7 +13,3 @@
{% endif %}
{% endblock %}
-
-{% block clear_button_label %}{% trans "Clear image" %}{% endblock %}
-{% block choose_another_button_label %}{% trans "Choose another image" %}{% endblock %}
-{% block choose_button_label %}{% trans "Choose an image" %}{% endblock %}
diff --git a/wagtail/wagtailimages/widgets.py b/wagtail/wagtailimages/widgets.py
index 82b278dc1..4bce83505 100644
--- a/wagtail/wagtailimages/widgets.py
+++ b/wagtail/wagtailimages/widgets.py
@@ -2,9 +2,15 @@ from __future__ import absolute_import, unicode_literals
import json
+from django.utils.translation import ugettext_lazy as _
+
from wagtail.wagtailadmin.widgets import AdminChooser
class AdminImageChooser(AdminChooser):
+ choose_one_text = _('Choose an image')
+ choose_another_text = _('Choose another image')
+ clear_choice_text = _('Clear image')
+
def render_js_init(self, id_, name, value):
return "createImageChooser({0});".format(json.dumps(id_))
diff --git a/wagtail/wagtailsearch/templates/wagtailsearch/editorspicks/includes/editorspicks_form.html b/wagtail/wagtailsearch/templates/wagtailsearch/editorspicks/includes/editorspicks_form.html
index aae5fdabe..64fbbd724 100644
--- a/wagtail/wagtailsearch/templates/wagtailsearch/editorspicks/includes/editorspicks_form.html
+++ b/wagtail/wagtailsearch/templates/wagtailsearch/editorspicks/includes/editorspicks_form.html
@@ -10,12 +10,10 @@
- {% trans "Choose another page" as choose_another_text_str %}
- {% trans "Choose a page" as choose_one_text_str %}
{% if form.instance.page %}
- {% include "wagtailadmin/edit_handlers/page_chooser_panel.html" with field=form.page page=form.instance.page is_chosen=True choose_one_text_str=choose_one_text_str choose_another_text_str=choose_another_text_str only %}
+ {% include "wagtailadmin/edit_handlers/page_chooser_panel.html" with field=form.page page=form.instance.page is_chosen=True only %}
{% else %}
- {% include "wagtailadmin/edit_handlers/page_chooser_panel.html" with field=form.page is_chosen=False choose_one_text_str=choose_one_text_str choose_another_text_str=choose_another_text_str only %}
+ {% include "wagtailadmin/edit_handlers/page_chooser_panel.html" with field=form.page is_chosen=False only %}
{% endif %}
diff --git a/wagtail/wagtailsites/forms.py b/wagtail/wagtailsites/forms.py
index 7235d4313..b4f6350ba 100644
--- a/wagtail/wagtailsites/forms.py
+++ b/wagtail/wagtailsites/forms.py
@@ -1,4 +1,5 @@
from django import forms
+from django.utils.translation import ugettext_lazy as _
from wagtail.wagtailcore.models import Site
from wagtail.wagtailadmin.widgets import AdminPageChooser
@@ -7,7 +8,9 @@ from wagtail.wagtailadmin.widgets import AdminPageChooser
class SiteForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(SiteForm, self).__init__(*args, **kwargs)
- self.fields['root_page'].widget = AdminPageChooser()
+ self.fields['root_page'].widget = AdminPageChooser(
+ choose_one_text=_('Choose a root page'), choose_another_text=_('Choose a different root page')
+ )
required_css_class = "required"
diff --git a/wagtail/wagtailsites/templates/wagtailsites/create.html b/wagtail/wagtailsites/templates/wagtailsites/create.html
index 55db92061..fc8aae711 100644
--- a/wagtail/wagtailsites/templates/wagtailsites/create.html
+++ b/wagtail/wagtailsites/templates/wagtailsites/create.html
@@ -17,12 +17,10 @@
{% include "wagtailadmin/shared/field_as_li.html" with field=form.port %}
- {% trans "Choose a different root page" as choose_another_text_str %}
- {% trans "Choose a root page" as choose_one_text_str %}
{% if form.instance.root_page %}
- {% include "wagtailadmin/edit_handlers/page_chooser_panel.html" with field=form.root_page page=form.instance.root_page is_chosen=True choose_one_text_str=choose_one_text_str choose_another_text_str=choose_another_text_str only %}
+ {% include "wagtailadmin/edit_handlers/page_chooser_panel.html" with field=form.root_page page=form.instance.root_page is_chosen=True only %}
{% else %}
- {% include "wagtailadmin/edit_handlers/page_chooser_panel.html" with field=form.root_page is_chosen=False choose_one_text_str=choose_one_text_str choose_another_text_str=choose_another_text_str only %}
+ {% include "wagtailadmin/edit_handlers/page_chooser_panel.html" with field=form.root_page is_chosen=False only %}
{% endif %}
diff --git a/wagtail/wagtailsites/templates/wagtailsites/edit.html b/wagtail/wagtailsites/templates/wagtailsites/edit.html
index cc04bac0e..5125e4423 100644
--- a/wagtail/wagtailsites/templates/wagtailsites/edit.html
+++ b/wagtail/wagtailsites/templates/wagtailsites/edit.html
@@ -18,13 +18,10 @@
{% include "wagtailadmin/shared/field_as_li.html" with field=form.port %}
- {% trans "Change page" as choose_another_text_str %}
- {% trans "Choose page" as choose_one_text_str %}
-
{% if form.instance.root_page %}
- {% include "wagtailadmin/edit_handlers/page_chooser_panel.html" with field=form.root_page page=form.instance.root_page is_chosen=True choose_one_text_str=choose_one_text_str choose_another_text_str=choose_another_text_str only %}
+ {% include "wagtailadmin/edit_handlers/page_chooser_panel.html" with field=form.root_page page=form.instance.root_page is_chosen=True only %}
{% else %}
- {% include "wagtailadmin/edit_handlers/page_chooser_panel.html" with field=form.root_page is_chosen=False choose_one_text_str=choose_one_text_str choose_another_text_str=choose_another_text_str only %}
+ {% include "wagtailadmin/edit_handlers/page_chooser_panel.html" with field=form.root_page is_chosen=False only %}
{% endif %}
- {% trans "Edit page" as choose_another_text_str %}
- {% trans "Choose page" as choose_one_text_str %}
-
{% if form.instance.page %}
- {% include "wagtailadmin/edit_handlers/page_chooser_panel.html" with field=form.page page=form.instance.page is_chosen=True choose_one_text_str=choose_one_text_str choose_another_text_str=choose_another_text_str only %}
+ {% include "wagtailadmin/edit_handlers/page_chooser_panel.html" with field=form.page page=form.instance.page is_chosen=True only %}
{% else %}
- {% include "wagtailadmin/edit_handlers/page_chooser_panel.html" with field=form.page is_chosen=False choose_one_text_str=choose_one_text_str choose_another_text_str=choose_another_text_str only %}
+ {% include "wagtailadmin/edit_handlers/page_chooser_panel.html" with field=form.page is_chosen=False only %}
{% endif %}