summaryrefslogtreecommitdiff
path: root/addons/website/static/src/js/website.seo.js
diff options
context:
space:
mode:
authorddm <ddm@openerp.com>2013-10-14 16:31:19 +0200
committerddm <ddm@openerp.com>2013-10-14 16:31:19 +0200
commita71007e05d7fa26079a3a63d063c4b11070eeb1d (patch)
treef7b22d50ef58fa48659f3729543f0dfbeb5a4aef /addons/website/static/src/js/website.seo.js
parente4edd08ad8ce2cd7135a3224bb9c7b3f645c8591 (diff)
[FIX] Serialize SEO metadata
bzr revid: ddm@openerp.com-20131014143119-7bpjk0i989v5x8vl
Diffstat (limited to 'addons/website/static/src/js/website.seo.js')
-rw-r--r--addons/website/static/src/js/website.seo.js32
1 files changed, 19 insertions, 13 deletions
diff --git a/addons/website/static/src/js/website.seo.js b/addons/website/static/src/js/website.seo.js
index aa4d126818e..68adc42621e 100644
--- a/addons/website/static/src/js/website.seo.js
+++ b/addons/website/static/src/js/website.seo.js
@@ -1,6 +1,6 @@
(function () {
'use strict';
-
+
var website = openerp.website;
website.templates.push('/website/static/src/xml/website.seo.xml');
@@ -241,24 +241,29 @@
return hashIndex >= 0 ? url.substring(0, hashIndex) : url;
},
title: function () {
- return $('title').text().trim();
+ return ($('title').length > 0) && $('title').text() && $('title').text().trim();
},
changeTitle: function (title) {
+ // TODO create tag if missing
$('title').text(title);
this.trigger('title-changed', title);
},
description: function () {
- return $('meta[name=description]').attr('value').trim();
+ var $description = $('meta[name=description]');
+ return ($description.length > 0) && $description.attr('value') && $description.attr('value').trim();
},
changeDescription: function (description) {
+ // TODO create tag if missing
$('meta[name=description]').attr('value', description);
this.trigger('description-changed', description);
},
keywords: function () {
- var parsed = $('meta[name=keywords]').attr('value').split(",");
- return parsed[0] ? parsed: [];
+ var $keywords = $('meta[name=keywords]');
+ var parsed = ($keywords.length > 0) && $keywords.attr('value') && $keywords.attr('value').split(",");
+ return (parsed && parsed[0]) ? parsed: [];
},
changeKeywords: function (keywords) {
+ // TODO create tag if missing
$('meta[name=keywords]').attr('value', keywords.join(","));
this.trigger('keywords-changed', keywords);
},
@@ -367,7 +372,8 @@
}
var htmlPage = this.htmlPage;
- // desactivated as too complex for end-users
+ // Add message suggestions at the top of the dialog
+ // if necessary....
// if (htmlPage.headers('h1').length === 0) {
// tips.push({
// type: 'warning',
@@ -393,15 +399,15 @@
$input.val("");
},
update: function () {
+ var self = this;
var data = {
- title: this.htmlPage.title(),
- description: this.htmlPage.description(),
- keywords: this.keywordList.keywords(),
- images: this.imageList.images(),
+ website_meta_title: self.htmlPage.title(),
+ website_meta_description: self.htmlPage.description(),
+ website_meta_keywords: self.keywordList.keywords().join(", "),
};
- console.log(data);
- // TODO Persist changes
- this.$el.modal('hide');
+ self.saveMetaData(data).then(function () {
+ self.$el.modal('hide');
+ });
},
getMainObject: function () {
var repr = $('html').data('main-object');