From cac32ff626f2541cbac802fdc7165822fa4cfe48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Mon, 30 Sep 2013 17:45:11 +0200 Subject: [PATCH] [ADD] website: added a shorted version of publish management, to allow smaller inclusion in some views like blog post comments bzr revid: tde@openerp.com-20130930154511-r0mng3cxqu1ox3g2 --- addons/website/static/src/css/website.css | 19 ++++++++++++ addons/website/static/src/css/website.sass | 14 +++++++++ addons/website/static/src/js/website.js | 20 +++++++++++++ addons/website/views/views.xml | 29 ++++++++++++++----- .../views/website_blog_templates.xml | 9 ++++-- 5 files changed, 82 insertions(+), 9 deletions(-) diff --git a/addons/website/static/src/css/website.css b/addons/website/static/src/css/website.css index 80057dbf21d..1796729f18c 100644 --- a/addons/website/static/src/css/website.css +++ b/addons/website/static/src/css/website.css @@ -367,6 +367,25 @@ ul.nav-stacked > li > a { } /* ---- PUBLISH ---- */ +a[data-publish] { + text-decoration: none !important; +} +a[data-publish] .css_unpublish, a[data-publish] .css_publish, a[data-publish] .css_unpublished, a[data-publish] .css_published { + display: none; +} +a[data-publish][data-publish='off'] .css_unpublished, a[data-publish][data-publish='off']:hover .css_publish { + display: inline; +} +a[data-publish][data-publish='off']:hover .css_unpublished { + display: none; +} +a[data-publish][data-publish='on'] .css_published, a[data-publish][data-publish='on']:hover .css_unpublish { + display: inline; +} +a[data-publish][data-publish='on']:hover .css_published { + display: none; +} + .dropdown .css_unpublish, .dropdown .css_publish { display: none; } diff --git a/addons/website/static/src/css/website.sass b/addons/website/static/src/css/website.sass index b1f43b543a3..9834fb66aed 100644 --- a/addons/website/static/src/css/website.sass +++ b/addons/website/static/src/css/website.sass @@ -283,6 +283,20 @@ ul.nav-stacked > li > a text-transform: uppercase /* ---- PUBLISH ---- */ +a[data-publish] + text-decoration: none !important + .css_unpublish, .css_publish, .css_unpublished, .css_published + display: none + &[data-publish='off'] + .css_unpublished, &:hover .css_publish + display: inline + &:hover .css_unpublished + display: none + &[data-publish='on'] + .css_published, &:hover .css_unpublish + display: inline + &:hover .css_published + display: none .dropdown .css_unpublish, .dropdown .css_publish display: none diff --git a/addons/website/static/src/js/website.js b/addons/website/static/src/js/website.js index bc0db10ce88..e524edfb389 100644 --- a/addons/website/static/src/js/website.js +++ b/addons/website/static/src/js/website.js @@ -117,9 +117,29 @@ }; dom_ready.then(function () { + /* ----- PUBLISHING STUFF ---- */ + $('[data-publish]:has(.js_publish)').each(function () { + var $pub = $("[data-publish]", this); + if($pub.size()) + $(this).attr("data-publish", $pub.attr("data-publish")); + else + $(this).removeAttr("data-publish"); + }); + $('[data-publish]:has(.js_publish_management)').each(function () { $(this).attr("data-publish", $(".js_publish_management .btn-success", this).size() ? "on" : 'off'); + $(this).attr("data-publish", $(".js_publish_management .btn-success", this).size() ? "on" : 'off'); + }); + + $(document).on('click', '.js_publish', function (e) { + e.preventDefault(); + var $data = $(":first", this).parents("[data-publish]"); + $data.attr("data-publish", $data.first().attr("data-publish") == 'off' ? 'on' : 'off'); + openerp.jsonRpc('/website/publish', 'call', {'id': $(this).data('id'), 'object': $(this).data('object')}) + .then(function (result) { + $data.attr("data-publish", +result ? 'on' : 'off'); + }); }); $(document).on('click', '.js_publish_management .js_publish_btn', function (e) { diff --git a/addons/website/views/views.xml b/addons/website/views/views.xml index 3854b54b936..f8e175a96df 100644 --- a/addons/website/views/views.xml +++ b/addons/website/views/views.xml @@ -361,22 +361,37 @@ + +