diff --git a/kitsune/sumo/static/sumo/js/wiki.js b/kitsune/sumo/static/sumo/js/wiki.js index fd60a5920cb..23d1862a3c8 100644 --- a/kitsune/sumo/static/sumo/js/wiki.js +++ b/kitsune/sumo/static/sumo/js/wiki.js @@ -72,9 +72,12 @@ import collapsibleAccordionInit from "sumo/js/protocol-details-init"; initCodeMirrorEditor(); } + if ($body.is('.edit, .translate')) { + initDraft(); + } + if ($body.is('.translate')) { // Translate page initToggleDiff(); - initTranslationDraft(); } initEditingTools(); @@ -599,7 +602,7 @@ import collapsibleAccordionInit from "sumo/js/protocol-details-init"; } } - function initTranslationDraft() { + function initDraft() { var $draftButton = $('.btn-draft'), url = $('.btn-draft').data('draft-url'), $draftMessage = $('#draft-message'); @@ -610,7 +613,8 @@ import collapsibleAccordionInit from "sumo/js/protocol-details-init"; bothData = $('#both_form').serializeArray(), docData = $('#doc_form').serializeArray(), revData = $('#rev_form').serializeArray(), - totalData = $.extend(bothData, docData, revData); + editData = $('#edit_form').serializeArray(), + totalData = $.extend(bothData, docData, revData, editData); $draftMessage.html(image + message).removeClass('success error').addClass('info').show() $.post(url, totalData) diff --git a/kitsune/sumo/static/sumo/scss/components/_wiki.scss b/kitsune/sumo/static/sumo/scss/components/_wiki.scss index 3632939333c..b05efaa5458 100644 --- a/kitsune/sumo/static/sumo/scss/components/_wiki.scss +++ b/kitsune/sumo/static/sumo/scss/components/_wiki.scss @@ -262,8 +262,9 @@ article { } -/* Document Translation page */ -#localize-document { +/* Draft-related messages */ +#localize-document, +#edit-document { .buttons-and-preview { /* Taken from Bootstrap V3 */ diff --git a/kitsune/wiki/content_managers.py b/kitsune/wiki/content_managers.py index 50e9f1f656b..613d942bba6 100644 --- a/kitsune/wiki/content_managers.py +++ b/kitsune/wiki/content_managers.py @@ -40,8 +40,8 @@ def save_draft( Args: user: The user creating the draft - parent_doc: The parent document being translated - target_locale: The target locale for translation + parent_doc: The parent document for the revision + target_locale: The target locale for the revision draft_data: Dictionary containing draft content (title, slug, content, summary, keywords, based_on) Returns: DraftRevision: The created or updated draft revision @@ -57,7 +57,7 @@ def get_draft(self, user, parent_doc, target_locale: str) -> DraftRevision | Non Args: user: The user parent_doc: The parent document - target_locale: The target local + target_locale: The target locale Returns: DraftRevision or None: The existing draft if found """ @@ -281,7 +281,7 @@ def mark_ready_for_localization( class ManualContentManager(WikiContentManager): - """Content manager for manual translation workflow.""" + """Content manager for manual edit/translation workflow.""" pass diff --git a/kitsune/wiki/jinja2/wiki/edit.html b/kitsune/wiki/jinja2/wiki/edit.html index f42823d3023..ebf8e0bfeb1 100644 --- a/kitsune/wiki/jinja2/wiki/edit.html +++ b/kitsune/wiki/jinja2/wiki/edit.html @@ -23,6 +23,19 @@ {{ _('This document is restricted.') }} {% endif %} + {% if draft_revision %} +
{{ _('You have a draft revision for this article saved on {date_time}')|f(date_time=draft_revision.created) }}
+ +