[IMP] website: publish button with link to backend

bzr revid: chm@openerp.com-20130924115004-xjpy6sayze2she1w
This commit is contained in:
Christophe Matthieu 2013-09-24 13:50:04 +02:00
parent 8b06e72716
commit f181f21cf4
4 changed files with 25 additions and 24 deletions

View File

@ -375,17 +375,17 @@ a[data-publish][data-publish='on']:hover .css_published {
opacity: 0.5;
}
[data-publish='off']:not(a) > :not([data-publish]) {
[data-publish='off']:not(a) > :not(.js_publish) {
opacity: 0.5;
}
[data-publish]:not(a) {
position: relative;
overflow: visible;
/*&:hover > [data-publish] */
/*&:hover .js_publish */
/* display: block */
}
[data-publish]:not(a) > [data-publish] {
[data-publish]:not(a) .js_publish {
position: absolute;
right: -6px;
top: -10px;

View File

@ -285,15 +285,15 @@ a[data-publish]
.unpublish
opacity: 0.5
[data-publish='off']:not(a)
>:not([data-publish])
>:not(.js_publish)
opacity: 0.5
[data-publish]:not(a)
position: relative
overflow: visible
>[data-publish]
.js_publish
position: absolute
right: -6px
top: -10px
display: none
/*&:hover > [data-publish]*/
/*&:hover .js_publish*/
/* display: block*/

View File

@ -116,20 +116,18 @@
dom_ready.then(function () {
/* ----- PUBLISHING STUFF ---- */
$('[data-publish]:has([data-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)').each(function () {
$(this).attr("data-publish", $(".js_publish li.active", 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');
$.post('/website/publish', {'id': $(this).data('id'), 'object': $(this).data('object')}, function (result) {
$data.attr("data-publish", +result ? 'on' : 'off');
$(document).on('click', '.js_publish a.js_publish_btn', function (e) {
var $li = $(this).parent("li");
var $data = $li.parents(".js_publish:first");
var publish = $li.hasClass("active");
$li.toggleClass("active");
$.post('/website/publish', {'id': $data.data('id'), 'object': $data.data('object')}, function (result) {
$li.toggleClass("active", !!+result);
$li.parents("[data-publish]").attr("data-publish", +result ? 'on' : 'off');
});
});

View File

@ -336,12 +336,15 @@
</template>
<template id="publish">
<a href="#" t-att-data-id="object.id" t-att-data-object="object._name" t-att-data-publish="object.id and object.website_published and 'on' or 'off'" class="pull-right js_publish" t-if="editable" t-ignore="true">
<span t-attf-class="label label-success css_publish">Publish</span>
<span t-attf-class="label label-danger css_unpublish">Unpublish</span>
<span t-attf-class="label label-success css_published">Published</span>
<span t-attf-class="label label-danger css_unpublished">Unpublished</span>
</a>
<t t-if="editable" t-ignore="true">
<div class="dropdown js_publish pull-right" t-att-data-id="object.id" t-att-data-object="object._name">
<a class="btn btn-default" id="dopprod" role="button" data-toggle="dropdown"> Manage <span class="caret"></span></a>
<ul class="dropdown-menu" role="menu" aria-labelledby="dopprod">
<li t-att-class="object.id and object.website_published and 'active' or ''"><a href="#" class="js_publish_btn">Publish</a></li>
<li><a t-att-href="'/admin/#model=%s&amp;id=%s' % (object._name, object.id)">Manage Products</a></li>
</ul>
</div>
</t>
</template>
<template id="kanban">