[MERGE] with lp:~openerp-dev/openobject-addons/trunk-website-al.

bzr revid: dka@tinyerp.com-20140116120607-rkfs8qysinmegp54
This commit is contained in:
Darshan Kalola (OpenERP) 2014-01-16 17:36:07 +05:30
commit fcf6109d16
18 changed files with 275 additions and 49 deletions

View File

@ -12,5 +12,9 @@
<field name="journal_id" ref="analytic_journal"/>
</record>
<record id="product.product_product_consultant" model="product.product">
<field name="sale_ok">True</field>
</record>
</data>
</openerp>

View File

@ -198,6 +198,7 @@ parameter) will see those record just disappear.
<field name="name">Service</field>
<field name="categ_id" ref="product.product_category_all"/>
<field name="type">service</field>
<field name="sale_ok" eval="False"/>
</record>
<record id="product_product_consultant" model="product.product">
<field name="product_tmpl_id" ref="product_template_consultant"/>

View File

@ -207,9 +207,9 @@
<record id="product_product_consultant" model="product.product">
<field name="categ_id" ref="product.product_category_5"/>
<field name="sale_ok" eval="True"/>
</record>
<record id="product_template_1" model="product.template">
<field name="name">On Site Monitoring</field>
<field name="categ_id" ref="product_category_5"/>

View File

@ -211,6 +211,10 @@ ul.oe_menu_editor .disclose {
position: static !important;
}
.cke_widget_inline {
display: inline !important;
}
.cke_widget_editable:empty:after {
opacity: 0.3;
white-space: pre-wrap;
@ -234,6 +238,10 @@ ul.oe_menu_editor .disclose {
z-index: 1000;
}
.cke_editable .fa {
cursor: pointer;
}
/* ---- MOBILE PREVIEW ---- {{{ */
.oe_mobile_preview.modal .modal-content {
height: 660px;

View File

@ -25,7 +25,7 @@
+box-shadow(none)
// }}}
/* ---- OpenERP Style ---- {{{ */
.oe_website_editorbar
@ -177,6 +177,9 @@ ul.oe_menu_editor
.cke_widget_wrapper
position: static !important
.cke_widget_inline
display: inline !important
// prevent inline widgets from entirely disappearing when their (textual)
// content is removed
.cke_widget_editable
@ -202,6 +205,10 @@ ul.oe_menu_editor
// This z-index is due to .navbar of bootstrap
z-index: 1000
// fontawesome
.cke_editable .fa
cursor: pointer
// }}}
/* ---- MOBILE PREVIEW ---- {{{ */

View File

@ -1,4 +1,3 @@
@charset "utf-8";
/* THIS CSS FILE IS FOR WEBSITE THEMING CUSTOMIZATION ONLY
*
* css for editor buttons, openerp widget included in the website and other
@ -96,6 +95,12 @@ h1.text-muted, h2.text-muted, h3.text-muted {
margin-top: 10px;
}
/* ----- BOOTSTRAP FIX ----- */
.container .container {
padding-left: 0;
padding-right: 0;
}
/* ----- BOOTSTRAP HACK FOR HEADER NAV BAR ----- */
.navbar.navbar-static-top {
margin-bottom: 0;

View File

@ -61,6 +61,13 @@ img.shadow
h1.text-muted, h2.text-muted, h3.text-muted
margin-top: 10px
/* ----- BOOTSTRAP FIX ----- */
.container
.container
padding-left: 0
padding-right: 0
/* ----- BOOTSTRAP HACK FOR HEADER NAV BAR ----- */
.navbar.navbar-static-top

File diff suppressed because one or more lines are too long

View File

@ -954,6 +954,8 @@
clean_for_save: function () {
this.$target.removeAttr('contentEditable')
.find('*').removeAttr('contentEditable');
this.$target.removeAttr('attributeEditable')
.find('*').removeAttr('attributeEditable');
},
});

View File

@ -203,4 +203,52 @@
</button>
</t>
<t t-name="website.editor.dialog.font-icons">
<t t-call="website.editor.dialog">
<t t-set="title">Icon:</t>
<form>
<div class="form-group">
Preview: <span id="fa-preview"/>
</div>
<div class="form-group">
<label for="fa-icon">icon</label>
<input type="hidden" id="fa-icon" class="form-control"/>
</div>
<div class="form-group">
<label for="fa-size">size</label>
<select id="fa-size" class="form-control">
<option value="">Default</option>
<option value="fa-lg">Large</option>
<option value="fa-2x">x2</option>
<option value="fa-3x">x3</option>
<option value="fa-4x">x4</option>
<option value="fa-5x">x5</option>
</select>
</div>
<div class="form-group">
<label for="fa-rotation">Rotation</label>
<select id="fa-rotation" class="form-control">
<option value="">None</option>
<option value="fa-spin">Spin</option>
<option value="fa-rotate-90">Rotate 90º</option>
<option value="fa-rotate-180">Rotate 180º</option>
<option value="fa-rotate-270">Rotate 270º</option>
<option value="fa-flip-horizontal">Horizontal flip</option>
<option value="fa-flip-vertical">Vertical flip</option>
</select>
</div>
<div class="form-group">
<label>
<input type="checkbox" id="fa-fixed"/> fixed width
</label>
</div>
<div class="form-group">
<label>
<input type="checkbox" id="fa-border"/> bordered
</label>
</div>
</form>
</t>
</t>
</templates>

View File

@ -44,6 +44,14 @@ class WebsiteUiSuite(unittest.TestSuite):
self._timeout = timeout
self._options = options
self._test = None
self._ignore_filters = [
# Ignore phantomjs warnings
"*** WARNING:",
# Fixes an issue with PhantomJS 1.9.2 on OS X 10.9 (Mavericks)
# cf. https://github.com/ariya/phantomjs/issues/11418
"CoreText performance note",
]
def __iter__(self):
return iter([self])
@ -97,9 +105,7 @@ class WebsiteUiSuite(unittest.TestSuite):
for stream in ready:
lines = stream.readlines()
if lines is None: # EOF
# Fixes an issue with PhantomJS 1.9.2 on OS X 10.9 (Mavericks)
# cf. https://github.com/ariya/phantomjs/issues/11418
filtered_lines = [line for line in output if "CoreText performance note" not in line]
filtered_lines = [line for line in output if not any(ignore in line for ignore in self._ignore_filters)]
if (filtered_lines):
self.process(filtered_lines, result)
readable.remove(stream)

View File

@ -735,53 +735,46 @@
</div>
</div><div class="row">
<div class="col-md-5">
<ul class="list-unstyled">
<li>
<div class="row">
<div class="col-md-12">
<span style="min-width: 45px" class="fa fa-3x fa-comment pull-left mb16"></span>
<h3 class="mb0">Blog</h3>
<p>OpenERP includes a full features enterprise blog to promote your messages.</p>
</li>
<li>
</div><div class="col-md-12">
<span style="min-width: 45px" class="fa fa-3x fa-columns pull-left mb16"></span>
<h3 class="mb0">Pricing Tables</h3>
<p>Use building blocks to use pricing tables to display your products or services.</p>
</li>
<li>
</div><div class="col-md-12">
<span style="min-width: 45px" class="fa fa-3x fa-user pull-left mb16"></span>
<h3 class="mb0">Log In &amp; Signup</h3>
<p>Clean &amp; simple Log In, Signup &amp; Forgot Your Password forms.</p>
</li>
<li>
</div><div class="col-md-12">
<span style="min-width: 45px" class="fa fa-3x fa-envelope pull-left mb16"></span>
<h3 class="mb0">Contact</h3>
<p>User-friendly contact form with Google Map integration.</p>
</li>
</ul>
</div>
</div>
</div>
<div class="col-md-5 col-md-offset-2">
<ul class="list-unstyled">
<li>
<div class="row">
<div class="col-md-12">
<span style="min-width: 45px" class="fa fa-3x fa-magic pull-left mb16"></span>
<h3 class="mb0">Bootstrap</h3>
<p>Uses Twitter Bootstrap's sleek, intuitive, and powerful front-end framework.</p>
</li>
<li>
</div><div class="col-md-12">
<span style="min-width: 45px" class="fa fa-3x fa-font pull-left mb16"></span>
<h3 class="mb0">Google Web Fonts</h3>
<p>Royalty free, open source fonts for the people, by the people!</p>
</li>
<li>
</div><div class="col-md-12">
<span style="min-width: 45px" class="fa fa-3x fa-bolt pull-left mb16"></span>
<h3 class="mb0">Powerful &amp; slick jQuery</h3>
<p>Fantastic jQuery plugins such as Isotope and Bootstrap's inbuilt features.</p>
</li>
<li>
</div><div class="col-md-12">
<span style="min-width: 45px" class="fa fa-3x fa-picture-o pull-left mb16"></span>
<h3 class="mb0">Sample images</h3>
<p>Fantastic sample images fully licensed for use.</p>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>

View File

@ -98,14 +98,14 @@
<template id="blog_post_short" name="Blog Post Summary">
<t t-call="website_blog.index">
<div t-if="not blog_posts">
<h1>
No blog post yet!
</h1>
<p groups="base.group_website_publisher">
To create a new blog post, use the top-right menu <em>Content</em>
and select the menuitem <em>New Blog Post</em>.
</p>
<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>
<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>
</div>
</div>
<t t-foreach="blog_posts" t-as="blog_post">
<div t-att-data-publish="blog_post.website_published and 'on' or 'off'">

View File

@ -44,12 +44,15 @@
<div class="row mt32 mb32">
<div class="col-md-9" id="middle_column">
<t t-if="not event_ids">
<p t-if="current_date or current_country or current_type">
No event found in this category, check <a href="/event">all events</a>.
</p>
<p t-if="(current_date is None) and (current_country is None) and (current_type is None)">
No events are planned for now on.
</p>
<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>
<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>
</div>
</t>
<ul class="media-list">
<li t-foreach="event_ids" t-as="event" class="media">

View File

@ -23,7 +23,7 @@
<t t-call="website.layout">
<div id="wrap">
<div class="oe_structure">
<section data-snippet-id="text-block" class="mb32">
<section data-snippet-id="text-block" class="mb16">
<div class="container">
<div class="row">
<div class="col-md-12 text-center mb16" data-snippet-id="colmd">
@ -51,11 +51,21 @@
<div class="container oe_website_jobs">
<div class="row">
<div class="col-md-1" id="jobs_grid_left">
<div class="hidden" id="jobs_grid_left">
</div>
<div class="col-md-9" id="jobs_grid">
<ul class="media-list">
<div class="col-md-12" id="jobs_grid">
<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>
<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>
</div>
</div>
<ul class="media-list" t-if="jobs">
<li t-foreach="jobs" t-as="job" class="media">
<div class="media-body" t-att-data-publish="job.website_published and 'on' or 'off'">
<h3 class="media-heading">
@ -237,6 +247,9 @@
<xpath expr="//div[@id='jobs_grid_left']" position="attributes">
<attribute name="class">col-md-3</attribute>
</xpath>
<xpath expr="//div[@id='jobs_grid']" position="attributes">
<attribute name="class">col-md-9</attribute>
</xpath>
</template>
<template id="job_offices" inherit_option_id="website_hr_recruitment.index" name="Filter by Offices">
@ -257,6 +270,9 @@
<xpath expr="//div[@id='jobs_grid_left']" position="attributes">
<attribute name="class">col-md-3</attribute>
</xpath>
<xpath expr="//div[@id='jobs_grid']" position="attributes">
<attribute name="class">col-md-9</attribute>
</xpath>
</template>

View File

@ -73,7 +73,10 @@ class EmailTemplate(osv.Model):
elif node.tag == 'img' and not node.get('src', 'data').startswith('data'):
node.set('src', _process_link(node.get('src')))
html = lxml.etree.tostring(root, pretty_print=False)
html = lxml.html.tostring(root, pretty_print=False, method='html')
# this is ugly, but lxml/etree tostring want to put everything in a 'div' that breaks the editor -> remove that
if html.startswith('<div>') and html.endswith('</div>'):
html = html[5:-6]
return html
def create(self, cr, uid, values, context=None):

View File

@ -9,7 +9,7 @@
<script type="text/javascript" src="/website_mail/static/src/js/website_email_designer.js"></script>
</t>
<div id="wrap">
<div class="oe_structure container">
<div class="container">
<h1 t-field="template.name"/>
<div class="row" style="width: 600px;">
<div class="row">
@ -38,7 +38,7 @@
</div>
<div class="row well">
<div t-field="template.body_html"/>
<div t-field="template.body_html" style="position: relative;"/>
</div>
</div>
</div>

View File

@ -189,7 +189,7 @@
<t t-if="not bins">
<div class="text-center text-muted">
<h3 class="css_editable_display">No product found</h3>
<h3 class="css_non_editable_mode_hidden">There isn't available products right know, click <a t-href="/page/website.contactus">here</a> to contact us</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"/>