[FIX] SEO metadata saving
bzr revid: ddm@openerp.com-20131016143939-v0v1tcopq4zoqgxf
This commit is contained in:
parent
57c5f11aae
commit
1625eb29ae
|
@ -241,7 +241,8 @@
|
|||
return hashIndex >= 0 ? url.substring(0, hashIndex) : url;
|
||||
},
|
||||
title: function () {
|
||||
return ($('title').length > 0) && $('title').text() && $('title').text().trim();
|
||||
var $title = $('title');
|
||||
return ($title.length > 0) && $title.text() && $title.text().trim();
|
||||
},
|
||||
changeTitle: function (title) {
|
||||
// TODO create tag if missing
|
||||
|
@ -250,7 +251,7 @@
|
|||
},
|
||||
description: function () {
|
||||
var $description = $('meta[name=description]');
|
||||
return ($description.length > 0) && $description.attr('value') && $description.attr('value').trim();
|
||||
return ($description.length > 0) && ($description.attr('value') && $description.attr('value').trim());
|
||||
},
|
||||
changeDescription: function (description) {
|
||||
// TODO create tag if missing
|
||||
|
@ -331,13 +332,13 @@
|
|||
$modal.find('.js_seo_page_url').text(htmlPage.url());
|
||||
$modal.find('input[name=seo_page_title]').val(htmlPage.title());
|
||||
$modal.find('textarea[name=seo_page_description]').val(htmlPage.description());
|
||||
self.suggestImprovements();
|
||||
self.imageList = new website.seo.ImageList(self, { page: htmlPage });
|
||||
if (htmlPage.images().length === 0) {
|
||||
$modal.find('.js_image_section').remove();
|
||||
} else {
|
||||
self.imageList.appendTo($modal.find('.js_seo_image_list'));
|
||||
}
|
||||
// self.suggestImprovements();
|
||||
// self.imageList = new website.seo.ImageList(self, { page: htmlPage });
|
||||
// if (htmlPage.images().length === 0) {
|
||||
// $modal.find('.js_image_section').remove();
|
||||
// } else {
|
||||
// self.imageList.appendTo($modal.find('.js_seo_image_list'));
|
||||
// }
|
||||
self.keywordList = new website.seo.KeywordList(self, { page: htmlPage });
|
||||
self.keywordList.on('list-full', self, function () {
|
||||
$modal.find('input[name=seo_page_keywords]')
|
||||
|
@ -356,8 +357,26 @@
|
|||
self.keywordList.add(word);
|
||||
});
|
||||
self.keywordList.appendTo($modal.find('.js_seo_keywords_list'));
|
||||
self.disableUnsavableFields();
|
||||
$modal.modal();
|
||||
},
|
||||
disableUnsavableFields: function () {
|
||||
var $modal = this.$el;
|
||||
this.loadMetaData().then(function (data) {
|
||||
var canEditTitle = data && ('website_meta_title' in data);
|
||||
var canEditDescription = data && ('website_meta_description' in data);
|
||||
var canEditKeywords = data && ('website_meta_keywords' in data);
|
||||
if (!canEditTitle) {
|
||||
$modal.find('input[name=seo_page_title]').attr('disabled', true);
|
||||
}
|
||||
if (!canEditDescription) {
|
||||
$modal.find('textarea[name=seo_page_description]').attr('disabled', true);
|
||||
}
|
||||
if (!canEditTitle && !canEditDescription && !canEditKeywords) {
|
||||
$modal.find('button[data-action=update]').attr('disabled', true);
|
||||
}
|
||||
});
|
||||
},
|
||||
suggestImprovements: function () {
|
||||
var tips = [];
|
||||
var self = this;
|
||||
|
@ -397,11 +416,16 @@
|
|||
},
|
||||
update: function () {
|
||||
var self = this;
|
||||
var data = {
|
||||
website_meta_title: self.htmlPage.title(),
|
||||
website_meta_description: self.htmlPage.description(),
|
||||
website_meta_keywords: self.keywordList.keywords().join(", "),
|
||||
};
|
||||
var data = {};
|
||||
if (!this.htmlPage.isTitleEditable()) {
|
||||
data.website_meta_title = self.htmlPage.title();
|
||||
}
|
||||
if (!this.htmlPage.isDescriptionEditable()) {
|
||||
data.website_meta_description = self.htmlPage.description();
|
||||
}
|
||||
if (!this.htmlPage.isKeywordsEditable()) {
|
||||
data.website_meta_keywords = self.keywordList.keywords().join(", ");
|
||||
}
|
||||
self.saveMetaData(data).then(function () {
|
||||
self.$el.modal('hide');
|
||||
});
|
||||
|
|
|
@ -48,12 +48,13 @@
|
|||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!--
|
||||
<section class="js_image_section">
|
||||
<h3 class="page-header">3. Describe your images</h3>
|
||||
<div class="row js_seo_image_list">
|
||||
<!-- filled in JS -->
|
||||
</div>
|
||||
</section>
|
||||
-->
|
||||
</div><div class="modal-footer">
|
||||
<button data-action="discard" data-dismiss="modal" href="#" class="btn btn-default">Discard</button>
|
||||
<button type="button" data-action="update" class="btn btn-primary">Apply Changes</button>
|
||||
|
|
Loading…
Reference in New Issue