diff --git a/wagtail/contrib/wagtailstyleguide/templates/wagtailstyleguide/base.html b/wagtail/contrib/wagtailstyleguide/templates/wagtailstyleguide/base.html index c0288caca..b16bc445c 100644 --- a/wagtail/contrib/wagtailstyleguide/templates/wagtailstyleguide/base.html +++ b/wagtail/contrib/wagtailstyleguide/templates/wagtailstyleguide/base.html @@ -349,8 +349,6 @@ {% include "wagtailimages/images/_file_field.html" %} {% elif field.name == 'image_chooser' %}
  • {% 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 only %}
  • {% else %} {% include "wagtailadmin/shared/field_as_li.html" %} {% endif %} diff --git a/wagtail/wagtaildocs/edit_handlers.py b/wagtail/wagtaildocs/edit_handlers.py index 70f562847..53b752f1c 100644 --- a/wagtail/wagtaildocs/edit_handlers.py +++ b/wagtail/wagtaildocs/edit_handlers.py @@ -5,7 +5,6 @@ from .widgets import AdminDocumentChooser class BaseDocumentChooserPanel(BaseChooserPanel): - field_template = "wagtaildocs/edit_handlers/document_chooser_panel.html" object_type_name = "document" @classmethod 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 59dc2ed2a..4ea2a3d7a 100644 --- a/wagtail/wagtaildocs/templates/wagtaildocs/edit_handlers/document_chooser_panel.html +++ b/wagtail/wagtaildocs/templates/wagtaildocs/edit_handlers/document_chooser_panel.html @@ -1,7 +1,2 @@ -{% extends "wagtailadmin/edit_handlers/chooser_panel.html" %} -{% load i18n %} -{% block chooser_class %}document-chooser{% endblock %} - -{% block chosen_state_view %} - {{ document.title }} -{% endblock %} +{# Document chooser is now implemented as an entirely standard form widget - document_chooser_panel.html is redundant #} +{% include "wagtailadmin/shared/field.html" %} diff --git a/wagtail/wagtaildocs/templates/wagtaildocs/widgets/document_chooser.html b/wagtail/wagtaildocs/templates/wagtaildocs/widgets/document_chooser.html new file mode 100644 index 000000000..ac023728a --- /dev/null +++ b/wagtail/wagtaildocs/templates/wagtaildocs/widgets/document_chooser.html @@ -0,0 +1,6 @@ +{% extends "wagtailadmin/widgets/chooser.html" %} +{% block chooser_class %}document-chooser{% endblock %} + +{% block chosen_state_view %} + {{ document.title }} +{% endblock %} diff --git a/wagtail/wagtaildocs/widgets.py b/wagtail/wagtaildocs/widgets.py index e5d490f51..73267b539 100644 --- a/wagtail/wagtaildocs/widgets.py +++ b/wagtail/wagtaildocs/widgets.py @@ -2,14 +2,29 @@ from __future__ import absolute_import, unicode_literals import json +from django.template.loader import render_to_string from django.utils.translation import ugettext_lazy as _ from wagtail.wagtailadmin.widgets import AdminChooser +from wagtail.wagtaildocs.models import Document class AdminDocumentChooser(AdminChooser): choose_one_text = _('Choose a document') choose_another_text = _('Choose another document') + def render_html(self, name, value, attrs): + original_field_html = super(AdminDocumentChooser, self).render_html(name, value, attrs) + + instance = self.get_instance(Document, value) + + return render_to_string("wagtaildocs/widgets/document_chooser.html", { + 'widget': self, + 'original_field_html': original_field_html, + 'attrs': attrs, + 'value': value, + 'document': instance, + }) + def render_js_init(self, id_, name, value): return "createDocumentChooser({0});".format(json.dumps(id_))