diff --git a/cms/static/js/certificates/views/signatory_editor.js b/cms/static/js/certificates/views/signatory_editor.js
index 21d53f7f20..9c70e68a44 100644
--- a/cms/static/js/certificates/views/signatory_editor.js
+++ b/cms/static/js/certificates/views/signatory_editor.js
@@ -11,11 +11,12 @@ define([
'common/js/components/views/feedback_notification',
'js/models/uploads',
'js/views/uploads',
- 'text!templates/signatory-editor.underscore'
+ 'text!templates/signatory-editor.underscore',
+ 'edx-ui-toolkit/js/utils/html-utils'
],
function($, _, Backbone, gettext,
TemplateUtils, ViewUtils, PromptView, NotificationView, FileUploadModel, FileUploadDialog,
- signatoryEditorTemplate) {
+ signatoryEditorTemplate, HtmlUtils) {
'use strict';
var SignatoryEditorView = Backbone.View.extend({
tagName: 'div',
@@ -78,7 +79,7 @@ function($, _, Backbone, gettext,
is_editing_all_collections: this.isEditingAllCollections,
total_saved_signatories: this.getTotalSignatoriesOnServer()
});
- return $(this.el).html(_.template(signatoryEditorTemplate)(attributes));
+ return HtmlUtils.setHtml(this.$el, HtmlUtils.template(signatoryEditorTemplate)(attributes));
},
setSignatoryName: function(event) {
@@ -127,10 +128,9 @@ function($, _, Backbone, gettext,
deleteItem: function(event) {
// Remove the specified model from the collection
- if (event && event.preventDefault) { event.preventDefault(); }
var model = this.model;
var self = this;
- var titleTextTemplate = _.template(gettext('Delete "<%= signatoryName %>" from the list of signatories?'));
+ var titleTextTemplate = _.template(gettext('Delete "<%- signatoryName %>" from the list of signatories?'));
var confirm = new PromptView.Warning({
title: titleTextTemplate({signatoryName: model.get('name')}),
message: gettext('This action cannot be undone.'),
@@ -148,9 +148,9 @@ function($, _, Backbone, gettext,
deleting.show();
model.destroy({
wait: true,
- success: function(model) {
+ success: function(model2) {
deleting.hide();
- self.eventAgg.trigger('onSignatoryRemoved', model);
+ self.eventAgg.trigger('onSignatoryRemoved', model2);
}
});
}
@@ -165,18 +165,20 @@ function($, _, Backbone, gettext,
}
}
});
+ if (event && event.preventDefault) { event.preventDefault(); }
confirm.show();
},
uploadSignatureImage: function(event) {
+ var upload, self, modal;
event.preventDefault();
- var upload = new FileUploadModel({
+ upload = new FileUploadModel({
title: gettext('Upload signature image.'),
message: gettext('Image must be in PNG format.'),
mimeTypes: ['image/png']
});
- var self = this;
- var modal = new FileUploadDialog({
+ self = this;
+ modal = new FileUploadDialog({
model: upload,
onSuccess: function(response) {
self.model.set('signature_image_path', response.asset.url);
@@ -192,12 +194,13 @@ function($, _, Backbone, gettext,
*/
toggleValidationErrorMessage: function(modelAttribute) {
var selector = 'div.add-signatory-' + modelAttribute;
+ var errorMessage;
if (!this.model.isValid() && _.has(this.model.validationError, modelAttribute)) {
// Show the error message if it is not exist before.
if (!$(selector).hasClass('error')) {
- var errorMessage = this.model.validationError[modelAttribute];
+ errorMessage = this.model.validationError[modelAttribute];
$(selector).addClass('error');
- $(selector).append("" + errorMessage + '');
+ $(selector).append(HtmlUtils.joinHtml(HtmlUtils.HTML(""), errorMessage, HtmlUtils.HTML('')).toString()); // eslint-disable-line max-len
}
} else {
// Remove the error message.