diff --git a/addons/decimal_precision/security/ir.model.access.csv b/addons/decimal_precision/security/ir.model.access.csv index aa203eae141..d55da432c57 100644 --- a/addons/decimal_precision/security/ir.model.access.csv +++ b/addons/decimal_precision/security/ir.model.access.csv @@ -1,3 +1,4 @@ id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink access_decimal_precision_config,decimal.precision configuration,model_decimal_precision,base.group_system,1,1,1,1 access_decimal_precision_all,decimal.precision,model_decimal_precision,,1,0,0,0 +access_decimal_precision_test_all,decimal.precision.test,model_decimal_precision_test,,1,1,1,1 diff --git a/addons/event_sale/event_demo.xml b/addons/event_sale/event_demo.xml index fabaad18ee4..3ca61d3feb4 100644 --- a/addons/event_sale/event_demo.xml +++ b/addons/event_sale/event_demo.xml @@ -74,8 +74,6 @@ 1500.0 10 - Cathering for breakfast and lunch -VIP Parking access @@ -105,8 +103,6 @@ VIP Parking access 1500.0 5 - Cathering for breakfast and lunch -VIP Parking access @@ -125,8 +121,6 @@ VIP Parking access 1500.0 5 - Cathering for breakfast and lunch -VIP Parking access diff --git a/addons/payment_acquirer_paypal/data/paypal.xml b/addons/payment_acquirer_paypal/data/paypal.xml index 55245804975..d764c20edbd 100644 --- a/addons/payment_acquirer_paypal/data/paypal.xml +++ b/addons/payment_acquirer_paypal/data/paypal.xml @@ -8,7 +8,6 @@ test You will be redirected to the Paypal website after cliking on the payment button.

]]>
- https://www.sandbox.paypal.com/cgi-bin/webscr dummy dummy dummy diff --git a/addons/product/product_view.xml b/addons/product/product_view.xml index 1a75a6e023b..1ea85cc96d4 100644 --- a/addons/product/product_view.xml +++ b/addons/product/product_view.xml @@ -400,7 +400,7 @@ product.public.category.form product.public.category -
+
@@ -426,7 +426,7 @@ - Public Categories + Pos/Public Product Categories ir.actions.act_window product.public.category form @@ -445,7 +445,7 @@

- + @@ -802,7 +802,7 @@ - + diff --git a/addons/website/models/website.py b/addons/website/models/website.py index 611b582d9ce..ccdfe449617 100644 --- a/addons/website/models/website.py +++ b/addons/website/models/website.py @@ -624,7 +624,7 @@ class res_company(osv.osv): partner = self.browse(cr, openerp.SUPERUSER_ID, ids[0], context=context).partner_id return partner and partner.google_map_link(zoom, context=context) or None -class base_language_install(osv.osv): +class base_language_install(osv.osv_memory): _inherit = "base.language.install" _columns = { 'website_ids': fields.many2many('website', string='Websites to translate'), diff --git a/addons/website/static/src/css/editor.css b/addons/website/static/src/css/editor.css index 79fcdb68ce0..d786830c8f5 100644 --- a/addons/website/static/src/css/editor.css +++ b/addons/website/static/src/css/editor.css @@ -81,6 +81,10 @@ outline: none !important; } +.css_editable_display { + display: block !important; +} + .css_non_editable_mode_hidden { display: none; } @@ -103,6 +107,14 @@ top: 2px; } +.oe_structure.oe_empty:empty, [data-oe-type=html]:empty, .oe_structure.oe_empty > .oe_drop_zone.oe_insert:only-child, [data-oe-type=html] > .oe_drop_zone.oe_insert:only-child { + background-image: url("/website/static/src/img/edit_here.png") !important; +} + +.oe_structure.oe_empty:empty:before, [data-oe-type=html]:empty:before, .oe_structure.oe_empty > .oe_drop_zone.oe_insert:only-child:before, [data-oe-type=html] > .oe_drop_zone.oe_insert:only-child:before { + content: "Press The Top-Left Edit Button" !important; +} + /* ---- EDITOR BAR ---- {{{ */ table.editorbar-panel { cursor: pointer; @@ -433,8 +445,9 @@ ul.oe_menu_editor .disclose { /* ---- SNIPPET MANIPULATOR ---- {{{ */ .resize_editor_busy { - background-color: rgba(0,0,0,0.1); + background-color: rgba(0, 0, 0, 0.3); } + .oe_overlay { display: none; position: absolute; diff --git a/addons/website/static/src/css/editor.sass b/addons/website/static/src/css/editor.sass index 78af810448f..66665252379 100644 --- a/addons/website/static/src/css/editor.sass +++ b/addons/website/static/src/css/editor.sass @@ -67,6 +67,9 @@ .oe_editable:focus outline: none !important +.css_editable_display + display: block !important + .css_non_editable_mode_hidden display: none @@ -85,6 +88,12 @@ position: relative !important top: +2px +.oe_structure.oe_empty:empty, [data-oe-type=html]:empty, .oe_structure.oe_empty > .oe_drop_zone.oe_insert:only-child, [data-oe-type=html] > .oe_drop_zone.oe_insert:only-child + background-image: url('/website/static/src/img/edit_here.png') !important + +.oe_structure.oe_empty:empty:before, [data-oe-type=html]:empty:before, .oe_structure.oe_empty > .oe_drop_zone.oe_insert:only-child:before, [data-oe-type=html] > .oe_drop_zone.oe_insert:only-child:before + content: 'Press The Top-Left Edit Button' !important + // }}} /* ---- EDITOR BAR ---- {{{ */ diff --git a/addons/website/static/src/css/website.css b/addons/website/static/src/css/website.css index ca59f4c5697..65b322bd9e9 100644 --- a/addons/website/static/src/css/website.css +++ b/addons/website/static/src/css/website.css @@ -78,95 +78,6 @@ margin-bottom: 0px !important; } -.pt128 { - padding-top: 128px !important; -} - -.pt92 { - padding-top: 92px !important; -} - -.pt64 { - padding-top: 64px !important; -} - -.pt48 { - padding-top: 48px !important; -} - -.pt32 { - padding-top: 32px !important; -} - -.pt16 { - padding-top: 16px !important; -} - -.pt8 { - padding-top: 8px !important; -} - -.pt4 { - padding-top: 4px !important; -} - -.pt0 { - padding-top: 0px !important; -} - -.pb128 { - padding-bottom: 128px !important; -} - -.pb92 { - padding-bottom: 92px !important; -} - -.pb64 { - padding-bottom: 64px !important; -} - -.pb48 { - padding-bottom: 48px !important; -} - -.pb32 { - padding-bottom: 32px !important; -} - -.pb16 { - padding-bottom: 16px !important; -} - -.pb8 { - padding-bottom: 8px !important; -} - -.pb4 { - padding-bottom: 4px !important; -} - -.pb0 { - padding-bottom: 0px !important; -} - -/* Grid of unequally tall elements */ -.grid > [class*="col-md"] { - display: inline-block; - float: none; - vertical-align: top; - box-sizing: border-box; -} -.grid > [class*="col-md"].grid-align-top > [class*="col-md"] { - vertical-align: top; -} -.grid > [class*="col-md"].grid-align-middle > [class*="col-md"] { - vertical-align: middle; -} -.grid > [class*="col-md"].grid-align-bottom > [class*="col-md"] { - vertical-align: bottom; -} - /* Extra Styles */ img.shadow { -webkit-border-radius: 3px; @@ -185,9 +96,14 @@ h1.text-muted, h2.text-muted, h3.text-muted { } /* ----- BOOTSTRAP HACK FOR HEADER NAV BAR ----- */ -.navbar.navbar-default.navbar-static-top { +.navbar.navbar-static-top { margin-bottom: 0; } +.navbar.navbar-static-top ul.nav > li.divider { + margin-top: 15px; + padding-top: 20px; + border-right: 1px solid grey; +} /* ----- BOOTSTRAP HACK FOR STICKY FOOTER ----- */ html, body, #wrapwrap { @@ -209,7 +125,7 @@ header, main, footer { footer { height: 100%; background: #eff8f8; - background: rgba(100, 200, 200, 0.1); + background: rgba(200, 200, 200, 0.1); } #footer_container { @@ -233,7 +149,7 @@ footer { } .oe_structure.oe_empty:empty, [data-oe-type=html]:empty, .oe_structure.oe_empty > .oe_drop_zone.oe_insert:only-child, [data-oe-type=html] > .oe_drop_zone.oe_insert:only-child { - background-image: url("/website/static/src/img/edit_here.png"); + background-image: url("/website/static/src/img/under_construction.png"); background-repeat: no-repeat; background-position: center; height: 220px !important; @@ -244,7 +160,7 @@ footer { } .oe_structure.oe_empty:empty:before, [data-oe-type=html]:empty:before, .oe_structure.oe_empty > .oe_drop_zone.oe_insert:only-child:before, [data-oe-type=html] > .oe_drop_zone.oe_insert:only-child:before { - content: "Press The Top-Left Edit Button"; + content: "This page is under construction"; text-align: center; display: block; padding-top: 160px; @@ -257,6 +173,10 @@ footer { content: "Drag Building Blocks Here"; } +.css_editable_display { + display: none; +} + /* ---- HACK FOR COVERING UP CK EDITOR BOGUS P INSERTION --- */ .navbar .nav > li > p { margin-bottom: 0px; @@ -334,10 +254,15 @@ ul.nav-stacked > li > a { } /* ---- SNIPPETS --- */ -[data-snippet-id],.colmd,.hr,.blockquote { - overflow: hidden; +[data-snippet-id], .colmd, .hr, .blockquote { + overflow: hidden; } +@media (max-width: 400px) { + [data-snippet-id] { + height: auto !important; + } +} .carousel-inner { height: 100%; } @@ -345,6 +270,7 @@ ul.nav-stacked > li > a { height: 100%; background-size: 100%; } + .carousel .carousel-caption { left: auto; right: auto; @@ -431,7 +357,7 @@ div.carousel[data-snippet-id="slider"] .carousel-indicators .active { /* Background */ .oe_dark { background: #eff8f8; - background: rgba(100, 200, 200, 0.14); + background: rgba(200, 200, 200, 0.14); -webkit-box-shadow: 0px 5px 9px -7px rgba(0, 0, 255, 0.5) inset, 0px -3px 9px -7px rgba(0, 0, 255, 0.5) inset; -moz-box-shadow: 0px 5px 9px -7px rgba(0, 0, 255, 0.5) inset, 0px -3px 9px -7px rgba(0, 0, 255, 0.5) inset; box-shadow: 0px 5px 9px -7px rgba(0, 0, 255, 0.5) inset, 0px -3px 9px -7px rgba(0, 0, 255, 0.5) inset; @@ -439,16 +365,55 @@ div.carousel[data-snippet-id="slider"] .carousel-indicators .active { .oe_black { background-color: rgba(0, 0, 0, 0.9); + color: white; } .oe_green { - background-color: rgba(0, 128, 0, 0.8); + background-color: #51d466; + color: white; +} +.oe_green .text-muted { + color: #dddddd; +} + +.oe_blue_light { + background-color: #4791d2; + color: white; +} +.oe_blue_light .text-muted { + color: #dddddd; +} + +.oe_blue { + background-color: #34495e; + color: white; +} + +.oe_orange { + background-color: #e67e22; + color: white; +} +.oe_orange .text-muted { + color: #dddddd; +} + +.oe_purple { + background-color: #b163a3; + color: white; +} +.oe_purple .text-muted { + color: #dddddd; } .oe_red { - background-color: rgba(255, 0, 0, 0.8); + background-color: #f75353; + color: white; +} +.oe_red .text-muted { + color: #dddddd; } +/* Misc */ .oe_img_bg { background-size: 100%; } @@ -508,45 +473,3 @@ span[data-oe-type="monetary"] { -o-column-count: 3; column-count: 3; } - -.bs-callout { - margin: 20px 0; - padding: 20px; - border-left: 3px solid #eeeeee; -} - -.bs-callout h4 { - margin-top: 0; - margin-bottom: 5px; -} - -.bs-callout p:last-child { - margin-bottom: 0; -} - -.bs-callout-danger { - background-color: #fdf7f7; - border-color: #eed3d7; -} - -.bs-callout-danger h4 { - color: #b94a48; -} - -.bs-callout-warning { - background-color: #faf8f0; - border-color: #faebcc; -} - -.bs-callout-warning h4 { - color: #8a6d3b; -} - -.bs-callout-info { - background-color: #f4f8fa; - border-color: #bce8f1; -} - -.bs-callout-info h4 { - color: #34789a; -} diff --git a/addons/website/static/src/css/website.sass b/addons/website/static/src/css/website.sass index ab13d795465..7422a9008ba 100644 --- a/addons/website/static/src/css/website.sass +++ b/addons/website/static/src/css/website.sass @@ -51,57 +51,6 @@ .mb0 margin-bottom: 0px !important -.pt128 - padding-top: 128px !important -.pt92 - padding-top: 92px !important -.pt64 - padding-top: 64px !important -.pt48 - padding-top: 48px !important -.pt32 - padding-top: 32px !important -.pt16 - padding-top: 16px !important -.pt8 - padding-top: 8px !important -.pt4 - padding-top: 4px !important -.pt0 - padding-top: 0px !important - -.pb128 - padding-bottom: 128px !important -.pb92 - padding-bottom: 92px !important -.pb64 - padding-bottom: 64px !important -.pb48 - padding-bottom: 48px !important -.pb32 - padding-bottom: 32px !important -.pb16 - padding-bottom: 16px !important -.pb8 - padding-bottom: 8px !important -.pb4 - padding-bottom: 4px !important -.pb0 - padding-bottom: 0px !important - -/* Grid of unequally tall elements */ -.grid > [class*="col-md"] - display: inline-block - float: none - vertical-align: top - box-sizing: border-box - &.grid-align-top > [class*="col-md"] - vertical-align: top - &.grid-align-middle > [class*="col-md"] - vertical-align: middle - &.grid-align-bottom > [class*="col-md"] - vertical-align: bottom - /* Extra Styles */ img.shadow @@ -114,8 +63,13 @@ h1.text-muted, h2.text-muted, h3.text-muted /* ----- BOOTSTRAP HACK FOR HEADER NAV BAR ----- */ -.navbar.navbar-default.navbar-static-top +.navbar.navbar-static-top margin-bottom: 0 + ul.nav + > li.divider + margin-top: 15px + padding-top: 20px + border-right: 1px solid grey /* ----- BOOTSTRAP HACK FOR STICKY FOOTER ----- */ @@ -133,7 +87,7 @@ header, main, footer footer height: 100% background: rgb(239, 248, 248) - background: rgba(100, 200, 200, 0.1) + background: rgba(200, 200, 200, 0.1) #footer_container padding-top: 24px @@ -154,7 +108,7 @@ footer background-image: url('/website/static/src/img/drag_here.png') .oe_structure.oe_empty:empty, [data-oe-type=html]:empty, .oe_structure.oe_empty > .oe_drop_zone.oe_insert:only-child, [data-oe-type=html] > .oe_drop_zone.oe_insert:only-child - background-image: url('/website/static/src/img/edit_here.png') + background-image: url('/website/static/src/img/under_construction.png') background-repeat: no-repeat background-position: center height: 220px !important @@ -163,7 +117,7 @@ footer position: static .oe_structure.oe_empty:empty:before, [data-oe-type=html]:empty:before, .oe_structure.oe_empty > .oe_drop_zone.oe_insert:only-child:before, [data-oe-type=html] > .oe_drop_zone.oe_insert:only-child:before - content: 'Press The Top-Left Edit Button' + content: 'This page is under construction' text-align: center display: block padding-top: 160px @@ -174,6 +128,9 @@ footer .oe_structure.oe_editable.oe_empty:empty:before, .oe_editable[data-oe-type=html]:empty:before, .oe_structure.oe_editable.oe_empty > .oe_drop_zone.oe_insert:only-child:before, [data-oe-type=html] > .oe_drop_zone.oe_insert:only-child:before content: 'Drag Building Blocks Here' +.css_editable_display + display: none + /* ---- HACK FOR COVERING UP CK EDITOR BOGUS P INSERTION --- */ .navbar .nav > li > p @@ -245,6 +202,10 @@ ul.nav-stacked > li > a [data-snippet-id],.colmd,.hr,.blockquote overflow: hidden +@media (max-width: 400px) + [data-snippet-id] + height: auto !important + .carousel-inner height: 100% .item @@ -323,17 +284,52 @@ div.carousel[data-snippet-id="slider"] padding: 32px 0 /* Background */ - + .oe_dark background: #eff8f8 - background: rgba(100, 200, 200, 0.14) + background: rgba(200, 200, 200, 0.14) +box-shadow(0px 5px 9px -7px rgba(0, 0, 255, 0.5) inset, 0px -3px 9px -7px rgba(0, 0, 255, 0.5) inset) + .oe_black background-color: rgba(0, 0, 0, 0.9) + color: white + .oe_green - background-color: rgba(0, 128, 0, 0.8) + background-color: #51d466 + color: white + .text-muted + color: #ddd + +.oe_blue_light + background-color: #4791d2 + color: white + .text-muted + color: #ddd + +.oe_blue + background-color: #34495e + color: white + +.oe_orange + background-color: #e67e22 + color: white + .text-muted + color: #ddd + +.oe_purple + background-color: #b163a3 + color: white + .text-muted + color: #ddd + .oe_red - background-color: rgba(255, 0, 0, 0.8) + background-color: #f75353 + color: white + .text-muted + color: #ddd + +/* Misc */ + .oe_img_bg background-size: 100% @@ -379,30 +375,3 @@ span[data-oe-type="monetary"] .oe_template_fallback @include column-count(3) -// ---- Callouts from bootstrap doc ---- {{{ -.bs-callout - margin: 20px 0 - padding: 20px - border-left: 3px solid #eee -.bs-callout h4 - margin-top: 0 - margin-bottom: 5px -.bs-callout p:last-child - margin-bottom: 0 - -.bs-callout-danger - background-color: #fdf7f7 - border-color: #eed3d7 -.bs-callout-danger h4 - color: #b94a48 -.bs-callout-warning - background-color: #faf8f0 - border-color: #faebcc -.bs-callout-warning h4 - color: #8a6d3b -.bs-callout-info - background-color: #f4f8fa - border-color: #bce8f1 -.bs-callout-info h4 - color: #34789a -// }}} diff --git a/addons/website/static/src/img/blocks/block_features.png b/addons/website/static/src/img/blocks/block_features.png new file mode 100644 index 00000000000..b56b1f7ba98 Binary files /dev/null and b/addons/website/static/src/img/blocks/block_features.png differ diff --git a/addons/website/static/src/img/under_construction.png b/addons/website/static/src/img/under_construction.png new file mode 100644 index 00000000000..2d5ee85de9b Binary files /dev/null and b/addons/website/static/src/img/under_construction.png differ diff --git a/addons/website/static/src/js/website.ace.js b/addons/website/static/src/js/website.ace.js index f3b8a5c5885..4ff5aa44146 100644 --- a/addons/website/static/src/js/website.ace.js +++ b/addons/website/static/src/js/website.ace.js @@ -94,6 +94,11 @@ }).then(function (views) { self.loadViews.call(self, views); self.open.call(self); + // cf. fp's direct request + if (views.length >= 2) { + var mainTemplate = views[1]; + self.$('#ace-view-list').val(mainTemplate.id).trigger('change'); + } }); var $editor = self.$('.ace_editor'); diff --git a/addons/website/views/snippets.xml b/addons/website/views/snippets.xml index a11d2b4f722..aa9a136ecdb 100644 --- a/addons/website/views/snippets.xml +++ b/addons/website/views/snippets.xml @@ -676,6 +676,118 @@
+
+
+ + Features +
+
+
+
+
+

List of Features

+

Add a great slogan

+
+
+ +

First Feature

+

Tell what's the value for the customer for this feature.

+

Learn More

+
+
+ +

Second Feature

+

Talk about what the customer would like to know, not what you want to show.

+

Take Tour

+
+
+ +

Third Feature

+

A small explanation of this great feature, in clear words.

+

Buy Now

+
+
+ +

Fourth Feature

+

A small explanation of this great feature on two lines.

+

Buy Now

+
+
+
+
+
+ +
+
+ + Feature Grid +
+
+
+
+
+

List of Features

+

Add a great slogan

+
+
+

Second List

+

Add a great slogan

+
+
+
+
    +
  • + +

    Blog

    +

    OpenERP includes a full features enterprise blog to promote your messages.

    +
  • +
  • + +

    Pricing Tables

    +

    Use building blocks to use pricing tables to display your products or services.

    +
  • +
  • + +

    Log In & Signup

    +

    Clean & simple Log In, Signup & Forgot Your Password forms.

    +
  • +
  • + +

    Contact

    +

    User-friendly contact form with Google Map integration.

    +
  • +
+ +
+
+
    +
  • + +

    Bootstrap

    +

    Uses Twitter Bootstrap's sleek, intuitive, and powerful front-end framework.

    +
  • +
  • + +

    Google Web Fonts

    +

    Royalty free, open source fonts for the people, by the people!

    +
  • +
  • + +

    Powerful & slick jQuery

    +

    Fantastic jQuery plugins such as Isotope and Bootstrap's inbuilt features.

    +
  • +
  • + +

    Sample images

    +

    Fantastic sample images fully licensed for use.

    +
  • +
+
+
+
+
+
+
@@ -796,6 +908,10 @@
  • Darken
  • Green
  • Red
  • +
  • Light Blue
  • +
  • Dark Blue
  • +
  • Orange
  • +
  • Purple
  • Black
  • diff --git a/addons/website/views/website_templates.xml b/addons/website/views/website_templates.xml index 0d5e9fc7086..0074e999e1a 100644 --- a/addons/website/views/website_templates.xml +++ b/addons/website/views/website_templates.xml @@ -97,12 +97,13 @@ +
  • -
    +

    Template fallback

    An error occured while rendering the template .

    If this error is caused by a change of yours in the templates, you have the possibility to reset one or more templates to their factory settings.

    diff --git a/addons/website_blog/controllers/main.py b/addons/website_blog/controllers/main.py index 00835d133ab..fc48266cc5e 100644 --- a/addons/website_blog/controllers/main.py +++ b/addons/website_blog/controllers/main.py @@ -23,6 +23,7 @@ from openerp.addons.web import http from openerp.addons.web.http import request from openerp.addons.website.models import website from openerp.tools.translate import _ +from openerp import SUPERUSER_ID import werkzeug @@ -218,16 +219,23 @@ class WebsiteBlog(http.Controller): } return request.website.render("website_blog.blog_post_complete", values) - @website.route(['/blogpost//comment'], type='http', auth="public") - def blog_post_comment(self, blog_post_id, **post): + @website.route(['/blogpost/comment'], type='http', auth="public", methods=['POST']) + def blog_post_comment(self, blog_post_id=0, **post): cr, uid, context = request.cr, request.uid, request.context if post.get('comment'): - request.registry['blog.post'].message_post( - cr, uid, blog_post_id, - body=post.get('comment'), - type='comment', - subtype='mt_comment', - context=dict(context, mail_create_nosubcribe=True)) + user = request.registry['res.users'].browse(cr, SUPERUSER_ID, uid, context=context) + group_ids = user.groups_id + group_id = request.registry["ir.model.data"].get_object_reference(cr, uid, 'website_mail', 'group_comment')[1] + if group_id in [group.id for group in group_ids]: + blog_post = request.registry['blog.post'] + blog_post.check_access_rights(cr, uid, 'read') + blog_post.message_post( + cr, SUPERUSER_ID, int(blog_post_id), + body=post.get('comment'), + type='comment', + subtype='mt_comment', + author_id=user.partner_id.id, + context=dict(context, mail_create_nosubcribe=True)) return werkzeug.utils.redirect(request.httprequest.referrer + "#comments") @website.route('/blogpost/new', type='http', auth="public", multilang=True) diff --git a/addons/website_blog/views/website_blog_templates.xml b/addons/website_blog/views/website_blog_templates.xml index e3ee875d143..a3afdcbfd83 100644 --- a/addons/website_blog/views/website_blog_templates.xml +++ b/addons/website_blog/views/website_blog_templates.xml @@ -133,7 +133,7 @@ @@ -182,7 +182,7 @@

    + diff --git a/addons/website_sale/views/website_sale.xml b/addons/website_sale/views/website_sale.xml index c74b71f06d2..78c360bc296 100644 --- a/addons/website_sale/views/website_sale.xml +++ b/addons/website_sale/views/website_sale.xml @@ -51,7 +51,7 @@