diff --git a/addons/event_sale/event_sale.py b/addons/event_sale/event_sale.py index 979d34060ed..e830d299499 100644 --- a/addons/event_sale/event_sale.py +++ b/addons/event_sale/event_sale.py @@ -121,8 +121,8 @@ class event_event(osv.osv): 'description_website': fields.html('Description for the website'), 'event_ticket_ids': fields.one2many('event.event.ticket', "event_id", "Event Ticket"), 'organizer_id': fields.many2one('res.partner', "Orgonizer"), - 'phone': fields.related('orgonizer_id', 'phone', type='char', string='Phone'), - 'email': fields.related('orgonizer_id', 'email', type='char', string='Email'), + 'phone': fields.related('organizer_id', 'phone', type='char', string='Phone'), + 'email': fields.related('organizer_id', 'email', type='char', string='Email'), 'register_max': fields.function(_get_register_max, string='Maximum Registrations', help="The maximum registration level is equal to the sum of the maximum registration of event ticket." + diff --git a/addons/website/static/src/css/website.css b/addons/website/static/src/css/website.css index 80644222c1f..3c8aee57ef2 100644 --- a/addons/website/static/src/css/website.css +++ b/addons/website/static/src/css/website.css @@ -162,22 +162,44 @@ ul.nav-stacked > li > a { text-transform: uppercase; } -/* ---- PUBLISH BUTTON ---- */ -a.css_unpublish .css_unpublish { +/* ---- PUBLISH ---- */ +a[data-publish] { + text-decoration: none !important; + z-index: 2; +} +a[data-publish] .label { + padding: 5px 8px; +} +a[data-publish] .css_unpublish, a[data-publish] .css_publish, a[data-publish] .css_unpublished, a[data-publish] .css_published { display: none; } -a.css_unpublish:hover .css_unpublish { +a[data-publish][data-publish='off'] .css_unpublished, a[data-publish][data-publish='off']:hover .css_publish { display: inline; } -a.css_unpublish:hover .css_publish { +a[data-publish][data-publish='off']:hover .css_unpublished { display: none; } -a.css_publish .css_publish { - display: none; -} -a.css_publish:hover .css_publish { +a[data-publish][data-publish='on'] .css_published, a[data-publish][data-publish='on']:hover .css_unpublish { display: inline; } -a.css_publish:hover .css_unpublish { +a[data-publish][data-publish='on']:hover .css_published { display: none; } + +[data-publish='off']:not(a) > :not([data-publish]) { + opacity: 0.5; +} + +[data-publish]:not(a) { + position: relative; + overflow: visible; +} +[data-publish]:not(a) > [data-publish] { + position: absolute; + right: -6px; + top: -10px; + display: none; +} +[data-publish]:not(a):hover > [data-publish] { + display: block; +} diff --git a/addons/website/static/src/css/website.sass b/addons/website/static/src/css/website.sass index 65e530e6ed9..b5468a4b0e8 100644 --- a/addons/website/static/src/css/website.sass +++ b/addons/website/static/src/css/website.sass @@ -126,21 +126,35 @@ ul.nav-stacked > li > a .dropdown-header text-transform: uppercase -/* ---- PUBLISH BUTTON ---- */ -a - &.css_unpublish - .css_unpublish +/* ---- PUBLISH ---- */ +a[data-publish] + text-decoration: none !important + z-index: 2 + .label + padding: 5px 8px + .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 - &:hover - .css_unpublish - display: inline - .css_publish - display: none - &.css_publish - .css_publish + &[data-publish='on'] + .css_published, &:hover .css_unpublish + display: inline + &:hover .css_published display: none - &:hover - .css_publish - display: inline - .css_unpublish - display: none + +[data-publish='off']:not(a) + >:not([data-publish]) + opacity: 0.5 +[data-publish]:not(a) + position: relative + overflow: visible + >[data-publish] + position: absolute + right: -6px + top: -10px + display: none + &:hover > [data-publish] + display: block \ No newline at end of file diff --git a/addons/website/static/src/js/website.js b/addons/website/static/src/js/website.js index 4352129fe2f..54920e87410 100644 --- a/addons/website/static/src/js/website.js +++ b/addons/website/static/src/js/website.js @@ -138,16 +138,17 @@ dom_ready.then(function () { /* ----- PUBLISHING STUFF ---- */ + $('[data-publish]:has([data-publish])').each(function () { + var $pub = $("[data-publish]", this); + $(this).attr("data-publish", $pub.attr("data-publish")); + }); + $(document).on('click', '.js_publish', function (e) { e.preventDefault(); - var $link = $(this); - $link.toggleClass("css_publish").toggleClass("css_unpublish"); - $.post('/website/publish', {'id': $link.data('id'), 'object': $link.data('object')}, function (result) { - if (+result) { - $link.addClass("css_publish").removeClass("css_unpublish"); - } else { - $link.removeClass("css_publish").addClass("css_unpublish"); - } + 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'); }); }); diff --git a/addons/website/views/views.xml b/addons/website/views/views.xml index 37575221153..b431b4fd8c7 100644 --- a/addons/website/views/views.xml +++ b/addons/website/views/views.xml @@ -380,9 +380,11 @@ diff --git a/addons/website_event/views/website_event.xml b/addons/website_event/views/website_event.xml index c86d0740ff0..5ada37be73f 100644 --- a/addons/website_event/views/website_event.xml +++ b/addons/website_event/views/website_event.xml @@ -50,7 +50,8 @@