summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristophe Matthieu <chm@openerp.com>2014-01-16 19:05:35 +0100
committerChristophe Matthieu <chm@openerp.com>2014-01-16 19:05:35 +0100
commit4ff74cbf9929ad41a01fd22c9e3c6050277a6214 (patch)
tree8f910e936c487694bd3e2b6e3fe3c841b90c660f
parentd54544e31707131d58b2ae29dac1a533bd0aa931 (diff)
[IMP] website: editor menus is displayed in function of users groups (event, blog...)
bzr revid: chm@openerp.com-20140116180535-c736cuxn12qghiea
-rw-r--r--addons/website/static/src/css/editor.css4
-rw-r--r--addons/website/static/src/css/editor.sass3
-rw-r--r--addons/website/static/src/js/website.editor.js15
-rw-r--r--addons/website/static/src/js/website.editor.newpage.js28
-rw-r--r--addons/website/static/src/js/website.js2
-rw-r--r--addons/website/static/src/js/website.menu.js5
-rw-r--r--addons/website/static/src/js/website.snippets.editor.js14
-rw-r--r--addons/website/static/src/xml/website.xml10
-rw-r--r--addons/website/views/website_templates.xml7
-rw-r--r--addons/website_blog/static/src/js/website_blog.editor.js9
-rw-r--r--addons/website_blog/views/website_blog_templates.xml14
-rw-r--r--addons/website_event/security/ir.model.access.csv1
-rw-r--r--addons/website_event/static/src/js/website_event.editor.js9
-rw-r--r--addons/website_event/views/website_event.xml16
-rw-r--r--addons/website_hr_recruitment/static/src/js/website_hr_recruitment.editor.js15
-rw-r--r--addons/website_hr_recruitment/views/website_hr_recruitment.xml14
-rw-r--r--addons/website_sale/controllers/main.py5
-rw-r--r--addons/website_sale/static/src/js/website_sale.editor.js9
-rw-r--r--addons/website_sale/views/website_sale.xml28
19 files changed, 150 insertions, 58 deletions
diff --git a/addons/website/static/src/css/editor.css b/addons/website/static/src/css/editor.css
index 36af8e24992..386fead7ad3 100644
--- a/addons/website/static/src/css/editor.css
+++ b/addons/website/static/src/css/editor.css
@@ -85,6 +85,10 @@
display: block !important;
}
+.css_editable_hidden {
+ display: none !important;
+}
+
.css_non_editable_mode_hidden {
display: none;
}
diff --git a/addons/website/static/src/css/editor.sass b/addons/website/static/src/css/editor.sass
index 2e0e5250fb7..923bd63e7dd 100644
--- a/addons/website/static/src/css/editor.sass
+++ b/addons/website/static/src/css/editor.sass
@@ -70,6 +70,9 @@
.css_editable_display
display: block !important
+.css_editable_hidden
+ display: none !important
+
.css_non_editable_mode_hidden
display: none
diff --git a/addons/website/static/src/js/website.editor.js b/addons/website/static/src/js/website.editor.js
index 69b58a0c496..67e7277d0c5 100644
--- a/addons/website/static/src/js/website.editor.js
+++ b/addons/website/static/src/js/website.editor.js
@@ -397,12 +397,14 @@
'click button[data-action=edit]': 'edit',
'click button[data-action=save]': 'save',
'click a[data-action=cancel]': 'cancel',
- 'click a[data-action=new_page]': 'new_page',
},
container: 'body',
customize_setup: function() {
var self = this;
var view_name = $(document.documentElement).data('view-xmlid');
+ if (!view_name) {
+ this.$('#customize-menu-button').addClass("hidden");
+ }
var menu = $('#customize-menu');
this.$('#customize-menu-button').click(function(event) {
menu.empty();
@@ -579,17 +581,6 @@
website.reload();
})
},
- new_page: function (ev) {
- ev.preventDefault();
- website.prompt({
- window_title: "New Page",
- input: "Page Title",
- }).then(function (val) {
- if (val) {
- document.location = '/pagenew/' + encodeURI(val);
- }
- });
- },
/**
* Creates a "hover" button for image and link edition
diff --git a/addons/website/static/src/js/website.editor.newpage.js b/addons/website/static/src/js/website.editor.newpage.js
new file mode 100644
index 00000000000..e333e2e451e
--- /dev/null
+++ b/addons/website/static/src/js/website.editor.newpage.js
@@ -0,0 +1,28 @@
+(function() {
+ "use strict";
+
+ var website = openerp.website;
+ website.is_editable = true;
+ website.EditorBar.include({
+ start: function() {
+ var res = this._super();
+ this.$("a[data-action=new_page]").parents("li").removeClass("hidden");
+ this.$("button[data-action=edit]").removeClass("hidden");
+ this.$(".oe_content_menu li.divider").removeClass("hidden");
+ return res;
+ },
+ events: _.extend({}, website.EditorBar.prototype.events, {
+ 'click a[data-action=new_page]': function (ev) {
+ ev.preventDefault();
+ website.prompt({
+ window_title: "New Page",
+ input: "Page Title",
+ }).then(function (val) {
+ if (val) {
+ document.location = '/pagenew/' + encodeURI(val);
+ }
+ });
+ }
+ }),
+ });
+})(); \ 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 64767d95171..78a6202c58c 100644
--- a/addons/website/static/src/js/website.js
+++ b/addons/website/static/src/js/website.js
@@ -66,7 +66,7 @@
var all_ready = null;
var dom_ready = website.dom_ready = $.Deferred();
$(document).ready(function () {
- website.is_editable = $('html').data('editable');
+ website.is_editable = website.is_editable || $('html').data('editable');
dom_ready.resolve();
});
diff --git a/addons/website/static/src/js/website.menu.js b/addons/website/static/src/js/website.menu.js
index 87dd46dafe9..63ee508bb72 100644
--- a/addons/website/static/src/js/website.menu.js
+++ b/addons/website/static/src/js/website.menu.js
@@ -6,6 +6,11 @@
website.add_template_file('/website/static/src/xml/website.menu.xml');
website.EditorBar.include({
+ start: function() {
+ var res = this._super();
+ this.$(".oe_content_menu a[data-action=edit-structure]").parents("li").removeClass("hidden");
+ return res;
+ },
events: _.extend({}, website.EditorBar.prototype.events, {
'click a[data-action="edit-structure"]': 'editStructure',
}),
diff --git a/addons/website/static/src/js/website.snippets.editor.js b/addons/website/static/src/js/website.snippets.editor.js
index cdaee863c61..e15a647da19 100644
--- a/addons/website/static/src/js/website.snippets.editor.js
+++ b/addons/website/static/src/js/website.snippets.editor.js
@@ -173,6 +173,14 @@
self.$snippets = $html.find(".tab-content > div > div").addClass("oe_snippet");
self.$el.append($html);
+
+ var snippets = 0;
+ self.$snippets.each(function () {
+ if (self.snippet_have_dropzone($(this)))
+ snippets++;
+ });
+ if (!snippets) self.$button.css("display", "none");
+
self.make_snippet_draggable(self.$snippets);
});
},
@@ -196,6 +204,12 @@
this.$el.addClass("hidden");
},
+ snippet_have_dropzone: function ($snippet) {
+ return (($snippet.data('selector-siblings') && this.dom_filter($snippet.data('selector-siblings')).size() > 0) ||
+ ($snippet.data('selector-children') && this.dom_filter($snippet.data('selector-children')).size() > 0) ||
+ ($snippet.data('selector-vertical-children') && this.dom_filter($snippet.data('selector-vertical-children')).size() > 0));
+ },
+
bind_snippet_click_editor: function () {
var self = this;
var snipped_event_flag = false;
diff --git a/addons/website/static/src/xml/website.xml b/addons/website/static/src/xml/website.xml
index ceec9c161d8..0998a03c66d 100644
--- a/addons/website/static/src/xml/website.xml
+++ b/addons/website/static/src/xml/website.xml
@@ -14,7 +14,7 @@
<span class="icon-bar"></span>
</button>
<form class="navbar-form navbar-left">
- <button type="button" data-action="edit" class="btn btn-primary">Edit</button>
+ <button type="button" data-action="edit" class="btn btn-primary hidden">Edit</button>
</form>
</div>
<div class="collapse navbar-collapse navbar-edit-collapse">
@@ -22,12 +22,12 @@
<li><a data-action="show-mobile-preview" href="#"><span title="Mobile preview"><i class="fa fa-mobile"/></span></a></li>
<li class="divider-vertical"></li>
<li><a data-action="promote-current-page" href="#"><span title="Promote page on the web">Promote</span></a></li>
- <li class="dropdown js_hide_on_translate">
+ <li class="hidden dropdown js_hide_on_translate">
<a id="content-menu-button" class="dropdown-toggle" data-toggle="dropdown" href="#">Content <span class="caret"></span></a>
<ul class="dropdown-menu oe_content_menu" role="menu">
- <li><a data-action="edit-structure" href="#"><span title="Edit Top Menu">Edit Menu</span></a></li>
- <li class="divider"> </li>
- <li><a href="#" data-action="new_page">New Page</a></li>
+ <li class="hidden"><a data-action="edit-structure" href="#"><span title="Edit Top Menu">Edit Menu</span></a></li>
+ <li class="hidden divider"> </li>
+ <li class="hidden"><a href="#" data-action="new_page">New Page</a></li>
</ul>
</li>
<li class="dropdown js_hide_on_translate">
diff --git a/addons/website/views/website_templates.xml b/addons/website/views/website_templates.xml
index 9682d2f17e2..fe34309d16a 100644
--- a/addons/website/views/website_templates.xml
+++ b/addons/website/views/website_templates.xml
@@ -219,11 +219,12 @@
<script type="text/javascript" src="/website/static/lib/MutationObservers/MutationObserver.js"></script>
<script type="text/javascript" src="/website/static/src/js/website.editor.js"></script>
- <script type="text/javascript" src="/website/static/src/js/website.menu.js"></script>
+ <script type="text/javascript" src="/website/static/src/js/website.editor.newpage.js" groups="base.group_website_designer"></script>
+ <script type="text/javascript" src="/website/static/src/js/website.menu.js" groups="base.group_website_designer"></script>
<script type="text/javascript" src="/website/static/src/js/website.mobile.js"></script>
<script type="text/javascript" src="/website/static/src/js/website.seo.js"></script>
- <script type="text/javascript" src="/website/static/src/js/website.tour.js"></script>
- <script type="text/javascript" src="/website/static/src/js/website.tour.banner.js"></script>
+ <script type="text/javascript" id="website_tour_js" src="/website/static/src/js/website.tour.js"></script>
+ <script type="text/javascript" src="/website/static/src/js/website.tour.banner.js" groups="base.group_website_designer"></script>
<script t-if="not translatable" type="text/javascript" src="/website/static/src/js/website.snippets.editor.js"></script>
<script t-if="not translatable" type="text/javascript" src="/website/static/src/js/website.ace.js"></script>
<script t-if="translatable" type="text/javascript" src="/website/static/src/js/website.translator.js"></script>
diff --git a/addons/website_blog/static/src/js/website_blog.editor.js b/addons/website_blog/static/src/js/website_blog.editor.js
index d63d4cf5f96..0ab97cca0f9 100644
--- a/addons/website_blog/static/src/js/website_blog.editor.js
+++ b/addons/website_blog/static/src/js/website_blog.editor.js
@@ -4,7 +4,16 @@
var website = openerp.website;
website.add_template_file('/website_blog/static/src/xml/website_blog.xml');
+ website.is_editable = true;
website.EditorBar.include({
+ start: function() {
+ var res = this._super();
+ if ($("#wrap.js_blog").size()) {
+ this.$("button[data-action=edit]").removeClass("hidden");
+ }
+ this.$(".dropdown:has(.oe_content_menu)").removeClass("hidden");
+ return res;
+ },
events: _.extend({}, website.EditorBar.prototype.events, {
'click a[data-action=new_blog_post]': function (ev) {
ev.preventDefault();
diff --git a/addons/website_blog/views/website_blog_templates.xml b/addons/website_blog/views/website_blog_templates.xml
index 306266472aa..cba11732fee 100644
--- a/addons/website_blog/views/website_blog_templates.xml
+++ b/addons/website_blog/views/website_blog_templates.xml
@@ -2,8 +2,8 @@
<openerp>
<data>
-<template id="editor_head" inherit_id="website.editor_head" name="Blog Editor" groups="base.group_website_designer">
- <xpath expr="//script[last()]" position="after">
+<template id="editor_head" inherit_id="website.editor_head" name="Blog Editor" groups="base.group_document_user">
+ <xpath expr="//script[@id='website_tour_js']" position="after">
<script type="text/javascript" src="/website_blog/static/src/js/website_blog.editor.js"></script>
<script type="text/javascript" src="/website_blog/static/src/js/website.tour.blog.js"></script>
</xpath>
@@ -100,10 +100,12 @@
<div t-if="not blog_posts">
<div class="text-center text-muted">
<h3 class="css_editable_display">No blog post found</h3>
- <h3 class="css_non_editable_mode_hidden">There isn't available blog post right now, click <a t-href="/page/website.contactus">here</a> to contact us</h3>
+ <h3 class="css_editable_hidden">There isn't available blog post right now, click <a t-href="/page/website.contactus">here</a> to contact us</h3>
<t groups="base.group_website_publisher">
- <p>Click on "Content" to define a new blog post or "Help" for more informations.</p>
- <img src="/website/static/src/img/content_here.png"/>
+ <t groups="base.group_document_user">
+ <p>Click on "Content" to define a new blog post or "Help" for more informations.</p>
+ <img src="/website/static/src/img/content_here.png"/>
+ </t>
</t>
</div>
</div>
@@ -268,7 +270,7 @@
<t t-set="head">
<link rel='stylesheet' href='/website_blog/static/src/css/website_blog.css'/>
</t>
- <div id="wrap">
+ <div id="wrap" class="js_blog">
<div class="oe_structure"></div>
<div class="container mt16 js_website_blog">
<div class="row">
diff --git a/addons/website_event/security/ir.model.access.csv b/addons/website_event/security/ir.model.access.csv
index 9778b0993e7..1f4fc9d12f1 100644
--- a/addons/website_event/security/ir.model.access.csv
+++ b/addons/website_event/security/ir.model.access.csv
@@ -2,5 +2,6 @@ id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_event_event_public,event.event.public,event.model_event_event,base.group_public,1,0,0,0
access_event_type_public,event.type.public,event.model_event_type,base.group_public,1,0,0,0
access_event_event_ticket_public,event.event.ticket.public,event_sale.model_event_event_ticket,,1,0,0,0
+access_event_event_ticket_public,event.event.ticket.public,event_sale.model_event_event_ticket,event.group_event_manager,1,1,1,1
access_event_product_product_public,event.product.product.public,product.model_product_product,base.group_public,1,0,0,0
access_event_product_template_public,event.product.template.public,product.model_product_template,base.group_public,1,0,0,0
diff --git a/addons/website_event/static/src/js/website_event.editor.js b/addons/website_event/static/src/js/website_event.editor.js
index 6b2336d9689..a6b6cbde790 100644
--- a/addons/website_event/static/src/js/website_event.editor.js
+++ b/addons/website_event/static/src/js/website_event.editor.js
@@ -4,7 +4,16 @@
var website = openerp.website;
website.add_template_file('/website_event/static/src/xml/website_event.xml');
+ website.is_editable = true;
website.EditorBar.include({
+ start: function() {
+ var res = this._super();
+ if ($("#wrap.js_event").size()) {
+ this.$("button[data-action=edit]").removeClass("hidden");
+ }
+ this.$(".dropdown:has(.oe_content_menu)").removeClass("hidden");
+ return res;
+ },
events: _.extend({}, website.EditorBar.prototype.events, {
'click a[data-action=new_event]': function (ev) {
ev.preventDefault();
diff --git a/addons/website_event/views/website_event.xml b/addons/website_event/views/website_event.xml
index 1fdbaf1cbe3..663727db27f 100644
--- a/addons/website_event/views/website_event.xml
+++ b/addons/website_event/views/website_event.xml
@@ -2,8 +2,8 @@
<openerp>
<data>
-<template id="editor_head" inherit_id="website.editor_head" name="Event Editor" groups="base.group_website_designer">
- <xpath expr="//script[last()]" position="after">
+<template id="editor_head" inherit_id="website.editor_head" name="Event Editor" groups="event.group_event_manager">
+ <xpath expr="//script[@id='website_tour_js']" position="after">
<script type="text/javascript" src="/website_event/static/src/js/website_event.editor.js"></script>
<script type="text/javascript" src="/website_event/static/src/js/website.tour.event.js"></script>
</xpath>
@@ -46,11 +46,13 @@
<t t-if="not event_ids">
<div class="text-center text-muted">
<h3 class="css_editable_display">No event found</h3>
- <h3 class="css_non_editable_mode_hidden">There isn't available events right now, <t t-if="current_date or current_country or current_type">click <a t-href="/event">here</a> to check all events or</t> click <a t-href="/page/website.contactus">here</a> to contact us</h3>
+ <h3 class="css_editable_hidden">There isn't available events right now, <t t-if="current_date or current_country or current_type">click <a t-href="/event">here</a> to check all events or</t> click <a t-href="/page/website.contactus">here</a> to contact us</h3>
<t groups="base.group_website_publisher">
- <p>Click on "Content" to define a new event or "Help" for more informations.</p>
- <img src="/website/static/src/img/content_here.png"/>
- <p>In the backend's event form contains information to customize your events: location, oranizer, tikets, registrations, etc.</p>
+ <t groups="event.group_event_manager">
+ <p>Click on "Content" to define a new event or "Help" for more informations.</p>
+ <img src="/website/static/src/img/content_here.png"/>
+ <p>In the backend's event form contains information to customize your events: location, oranizer, tikets, registrations, etc.</p>
+ </t>
</t>
</div>
</t>
@@ -178,7 +180,7 @@
<template id="layout">
<t t-call="website.layout">
- <div id="wrap">
+ <div id="wrap" class="js_event">
<div class="oe_structure"/>
<div class="container">
<div class="row mt8">
diff --git a/addons/website_hr_recruitment/static/src/js/website_hr_recruitment.editor.js b/addons/website_hr_recruitment/static/src/js/website_hr_recruitment.editor.js
index aaa39bb16fd..6b727be806b 100644
--- a/addons/website_hr_recruitment/static/src/js/website_hr_recruitment.editor.js
+++ b/addons/website_hr_recruitment/static/src/js/website_hr_recruitment.editor.js
@@ -1,6 +1,17 @@
(function() {
"use strict";
+ var website = openerp.website;
+ website.add_template_file('/website_hr_recruitment/static/src/xml/website_hr_recruitment.xml');
- openerp.website.add_template_file(
- '/website_hr_recruitment/static/src/xml/website_hr_recruitment.xml');
+ website.is_editable = true;
+ website.EditorBar.include({
+ start: function() {
+ var res = this._super();
+ if ($("#wrap.js_hr_recruitment").size()) {
+ this.$("button[data-action=edit]").removeClass("hidden");
+ }
+ this.$(".dropdown:has(.oe_content_menu)").removeClass("hidden");
+ return res;
+ },
+ });
})();
diff --git a/addons/website_hr_recruitment/views/website_hr_recruitment.xml b/addons/website_hr_recruitment/views/website_hr_recruitment.xml
index ef669aaa324..b892022c037 100644
--- a/addons/website_hr_recruitment/views/website_hr_recruitment.xml
+++ b/addons/website_hr_recruitment/views/website_hr_recruitment.xml
@@ -7,8 +7,8 @@
<field name="description">Job Posts on your website</field>
</record>
-<template id="editor_head" inherit_id="website.editor_head" name="Jobs Editor" groups="base.group_website_designer">
- <xpath expr="//script[last()]" position="after">
+<template id="editor_head" inherit_id="website.editor_head" name="Jobs Editor" groups="base.group_hr_manager">
+ <xpath expr="//script[@id='website_tour_js']" position="after">
<script type="text/javascript" src="/website_hr_recruitment/static/src/js/website_hr_recruitment.editor.js"></script>
</xpath>
</template>
@@ -58,10 +58,12 @@
<div t-if="not jobs">
<div class="text-center text-muted">
<h4 class="css_editable_display">No job offer found</h4>
- <h4 class="css_non_editable_mode_hidden">There isn't job offer published now, click <a t-href="/page/website.contactus">here</a> to contact us</h4>
+ <h4 class="css_editable_hidden">There isn't job offer published now, click <a t-href="/page/website.contactus">here</a> to contact us</h4>
<t groups="base.group_website_publisher">
- <p>Click on "Content" to define a new job offer or "Help" for more informations.</p>
- <img src="/website/static/src/img/content_here.png"/>
+ <t groups="base.group_hr_manager">
+ <p>Click on "Content" to define a new job offer or "Help" for more informations.</p>
+ <img src="/website/static/src/img/content_here.png"/>
+ </t>
</t>
</div>
</div>
@@ -99,7 +101,7 @@
<template id="detail">
<t t-call="website.layout">
<t t-set="additional_title">Job Detail</t>
- <div id="wrap">
+ <div id="wrap" class="js_hr_recruitment">
<div class="oe_structure"/>
<section class="container mt8">
diff --git a/addons/website_sale/controllers/main.py b/addons/website_sale/controllers/main.py
index b53b6371c1d..e5d7ccf2856 100644
--- a/addons/website_sale/controllers/main.py
+++ b/addons/website_sale/controllers/main.py
@@ -416,11 +416,6 @@ class Ecommerce(http.Controller):
self.add_product_to_cart(product_id=int(product_id))
return request.redirect("/shop/mycart/")
- @website.route(['/shop/add_cart/<model("product.product"):product>/'], type='http', auth="public", multilang=True)
- def add_cart_product(self, product=None, product_id=None, remove=None, **kw):
- self.add_product_to_cart(product_id=product.id)
- return request.redirect("/shop/mycart/")
-
@website.route(['/shop/change_cart/<int:order_line_id>/'], type='http', auth="public", multilang=True)
def add_cart_order_line(self, order_line_id=None, remove=None, **kw):
self.add_product_to_cart(order_line_id=order_line_id, number=(remove and -1 or 1))
diff --git a/addons/website_sale/static/src/js/website_sale.editor.js b/addons/website_sale/static/src/js/website_sale.editor.js
index d6103cba372..e6a35cf794c 100644
--- a/addons/website_sale/static/src/js/website_sale.editor.js
+++ b/addons/website_sale/static/src/js/website_sale.editor.js
@@ -4,7 +4,16 @@
var website = openerp.website;
website.add_template_file('/website_sale/static/src/xml/website_sale.xml');
+ website.is_editable = true;
website.EditorBar.include({
+ start: function() {
+ var res = this._super();
+ if ($("#wrap.js_sale").size()) {
+ this.$("button[data-action=edit]").removeClass("hidden");
+ }
+ this.$(".dropdown:has(.oe_content_menu)").removeClass("hidden");
+ return res;
+ },
events: _.extend({}, website.EditorBar.prototype.events, {
'click a[data-action=new_product]': function (ev) {
ev.preventDefault();
diff --git a/addons/website_sale/views/website_sale.xml b/addons/website_sale/views/website_sale.xml
index 0c014ea1664..1f1901ab423 100644
--- a/addons/website_sale/views/website_sale.xml
+++ b/addons/website_sale/views/website_sale.xml
@@ -4,8 +4,8 @@
<!-- Layout add nav and footer -->
-<template id="editor_head" inherit_id="website.editor_head" name="Shop Editor" groups="base.group_website_designer">
- <xpath expr="//script[last()]" position="after">
+<template id="editor_head" inherit_id="website.editor_head" name="Shop Editor" groups="base.group_sale_manager">
+ <xpath expr="//script[@id='website_tour_js']" position="after">
<script type="text/javascript" src="/website_sale/static/src/js/website_sale.editor.js"></script>
<script type="text/javascript" src="/website_sale/static/src/js/website.tour.shop.js"></script>
</xpath>
@@ -88,7 +88,7 @@
<t t-raw="head or ''"/>
</t>
<t t-set="additional_title">Shop</t>
- <div id="wrap">
+ <div id="wrap" class="js_sale">
<div class="oe_structure"/>
<div class="container oe_website_sale">
<div class="products_pager">
@@ -191,9 +191,11 @@
<h3 class="css_editable_display">No product found</h3>
<h3 class="css_non_editable_mode_hidden">There isn't available products right now, click <a t-href="/page/website.contactus">here</a> to contact us</h3>
<t groups="base.group_website_publisher">
- <p>Click on "Content" to define a new product or "Help" for more informations.</p>
- <img src="/website/static/src/img/content_here.png"/>
- <p>In the backend's product form contains information to simplify the sale process: price, notes in the quotation, accounting data, procurement methods, etc.</p>
+ <t groups="base.group_sale_manager">
+ <p>Click on "Content" to define a new product or "Help" for more informations.</p>
+ <img src="/website/static/src/img/content_here.png"/>
+ <p>In the backend's product form contains information to simplify the sale process: price, notes in the quotation, accounting data, procurement methods, etc.</p>
+ </t>
</t>
</div>
</t>
@@ -221,9 +223,10 @@
<template id="add_to_basket" inherit_option_id="website_sale.products_cart" name="Add to Cart">
<xpath expr="//div[@class='product_price']" position="inside">
- <a t-href="/shop/add_cart/#{ product.product_variant_ids[0].id }/"><!-- class="js_add_cart_json" -->
- <span class="fa fa-shopping-cart"/>
- </a>
+ <form action="/shop/add_cart/" method="post" style="display: inline-block;">
+ <input name="product_id" t-att-value="product.product_variant_ids[0].id" type="hidden"/>
+ <button type="submit" class="fa fa-shopping-cart"/>
+ </form>
</xpath>
</template>
@@ -263,7 +266,7 @@
<link rel='stylesheet' href='/website_sale/static/src/css/website_mail.css'/>
</t>
<t t-set="additional_title" t-value="product.name"/>
- <div id="wrap">
+ <div id="wrap" class="js_sale">
<section class="container mt8">
<div class="row">
@@ -679,7 +682,10 @@
}'/>
</td>
<td class="text-center">
- <a t-href="/shop/add_cart/#{ product.product_variant_ids[0].id }/"><strong>Add to Cart</strong></a>
+ <form action="/shop/add_cart/" method="post">
+ <input name="product_id" t-att-value="product.product_variant_ids[0].id" type="hidden"/>
+ <button type="submit" class="btn btn-link"><strong>Add to Cart</strong></button>
+ </form>
</td>
</tr>
</tbody>