[MERGE] from upstream

bzr revid: fva@openerp.com-20130731121304-npx5jvby2der0xad
This commit is contained in:
Frédéric van der Essen
2013-07-31 14:13:04 +02:00
7 changed files with 100 additions and 105 deletions
+15 -11
View File
@@ -42,14 +42,12 @@
.oe_snippet_editor{
position: fixed;
z-index: 1000;
bottom: 0px;
left: 0px;
right: 0px;
bottom: 0;
left: 0;
right: 0;
height: 214px;
background: rgb(160,160,160);
box-shadow: 0px 1px 3px rgb(100,100,100) inset;
overflow-y: hidden;
overflow-x: scroll;
box-shadow: 0 1px 3px rgb(100,100,100) inset;
}
.oe_snippet_list{
@@ -64,14 +62,12 @@
height: 160px;
border-radius: 3px;
background: white;
margin: 20px;
margin-left: 0px;
margin: 20px 20px 20px 0;
cursor: pointer;
border: 2px solid transparent;
box-shadow: 0px 1px 3px rgb(100,100,100);
box-shadow: 0 1px 3px rgb(100,100,100);
position: relative;
top: 0px;
-webkit-transition: all 150ms linear;
top: 0;
overflow: hidden;
vertical-align: top;
user-select: none;
@@ -161,6 +157,14 @@
line-height: 160px;
padding: 0px;
}
.oe_snippet_drop {
border: 1px dashed black;
min-height: 25px;
}
.oe_snippet_drop.oe_accepting {
border: 1px dashed #24ff0f;
}
/*
[class*="span"]{
margin-left: 0px !important;
+34 -20
View File
@@ -43,7 +43,10 @@ instance.website.EditorBar = instance.web.Widget.extend({
.parent().show();
// TODO: span edition changing edition state (save button)
var $editables = $('[data-oe-model]')
.not('link, script').prop('contentEditable', true)
.not('link, script')
// FIXME: propagation should make "meta" blocks non-editable in the first place...
.not('.oe_snippet_editor')
.prop('contentEditable', true)
.addClass('oe_editable');
var $rte_ables = $editables.filter('div, p, li, section, header, footer').not('[data-oe-type]');
var $raw_editables = $editables.not($rte_ables);
@@ -101,27 +104,31 @@ instance.website.EditorBar = instance.web.Widget.extend({
cancel: function () {
window.location.reload();
},
snippet_start: function () {
setup_droppable: function () {
var self = this;
$('.oe_snippet').click(function(ev) {
$('.oe_snippet_drop').remove();
var droppable = '<div class="oe_snippet_drop"></div>';
var $zone = $('section.container');
$zone.before(droppable).after(droppable);
$(".oe_snippet_drop").droppable({
hoverClass: 'oe_accepting',
drop: function( event, ui ) {
console.log(event, ui, "DROP");
$(event.target).replaceWith($(ui.draggable).html());
$('.oe_selected').remove();
self.setup_droppable();
}
}).hide();
},
snippet_start: function () {
this.setup_droppable();
$('.oe_snippet').draggable().click(function(ev) {
$(".oe_snippet_drop").show();
$('.oe_selected').removeClass('oe_selected');
var $snippet = $(ev.currentTarget);
$snippet.addClass('oe_selected');
$snippet.draggable();
var selector = $snippet.data("selector");
var $zone = $(".oe_website_body " + selector);
var droppable = '<div class="oe_snippet_drop" style="border:1px solid red;">.<br/>.<br/>.<br/>.<br/>.<br/></div>';
$zone.before(droppable);
$zone.after(droppable);
$(".oe_snippet_drop").droppable({
drop: function( event, ui ) {
console.log(event, ui, "DROP");
var $target = $(event.target);
$target.before($snippet.html());
$('.oe_selected').remove();
$('.oe_snippet_drop').remove();
}
});
$(ev.currentTarget).addClass('oe_selected');
});
},
@@ -327,6 +334,8 @@ instance.website.RTE = instance.web.Widget.extend({
customConfig: '',
// Disable ACF
allowedContent: true,
// Don't insert paragraphs around content in e.g. <li>
autoParagraph: false,
};
},
// TODO clean
@@ -471,4 +480,9 @@ instance.web.ActionRedirect = function(parent, action) {
};
instance.web.client_actions.add("redirect", "instance.web.ActionRedirect");
instance.web.GoToWebsite = function(parent, action) {
window.location.href = window.location.href.replace(/[?#].*/, '').replace(/\/admin[\/]?$/, '');
};
instance.web.client_actions.add("website.gotowebsite", "instance.web.GoToWebsite");
};
+4 -4
View File
@@ -99,7 +99,7 @@
<div class='oe_snippet_editor' style="display: none;">
<div class='oe_snippet_list'>
<div class='oe_snippet' name='Screenshot' selafter='.span6' selinside='.row'>
<div class='oe_snippet' name='Screenshot' data-selector="section.container">
<div class="span6">
<div class="oe_demo oe_picture oe_screenshot">
<a href="#">
@@ -108,7 +108,7 @@
</div>
</div>
</div>
<div class='oe_snippet' name='Introduction' data-selector=".container">
<div class='oe_snippet' name='Introduction' data-selector="section.container">
<section class="container">
<div class="row oe_spaced">
<div class="span12">
@@ -138,12 +138,12 @@
</div>
</section>
</div>
<div class='oe_snippet' name='Call To Action' selafter='p,h1,h2,h3,h4,h5,ul,ol' selinside='.span6'>
<div class='oe_snippet' name='Call To Action' data-selector="section.container">
<div class="oe_centeralign oe_websiteonly">
<a href="http://www.openerp.com/start" class="oe_button oe_big oe_tacky">Start your <span class="oe_emph">free</span> trial</a>
</div>
</div>
<div class='oe_snippet' name='Alternate Paragraph' data-selector=".container">
<div class='oe_snippet' name='Alternate Paragraph' data-selector="section.container">
<section class="container oe_dark">
<div class="row oe_spaced">
<div class="span12">
+15
View File
@@ -16,5 +16,20 @@
<field name="users" eval="[(4, ref('public_user'))]"/>
</record>
<record id="action_gotowebsite" model="ir.actions.client">
<field name="name">Website</field>
<field name="tag">website.gotowebsite</field>
<field name="res_model">website</field>
</record>
<menuitem id="website.menu" name="Website" sequence="501"/>
<menuitem id="website.submenu" name="Website" parent="website.menu" sequence="10"/>
<record id="mail_inboxfeeds" model="ir.ui.menu">
<field name="name">Go to Website</field>
<field name="sequence" eval="10"/>
<field name="action" ref="website.action_gotowebsite"/>
<field name="parent_id" ref="website.submenu"/>
</record>
</data>
</openerp>
+5 -26
View File
@@ -1,36 +1,15 @@
.css_website_mail .media {
position: relative;
clear: both;
}
.css_website_mail .media .css_button_publish {
position: absolute;
right: 5px;
top: 5px;
}
.css_website_mail .media .css_button_publish .css_publish {
color: green;
.css_website_mail .media .label-success {
display: none;
background: none;
}
.css_website_mail .media .css_button_publish .css_unpublish {
color: red;
background: none;
}
.css_website_mail .media .css_published .css_publish {
display: block;
}
.css_website_mail .media .css_published .css_unpublish {
.css_website_mail .css_published .label-important {
display: none;
}
.css_website_mail .css_published .label-success {
display: inline-block;
}
.css_website_mail .has-error {
border-color: red;
}
.css_website_mail .css_older {
float: right;
}
.css_website_mail .css_newer {
float: left;
}
.css_website_mail .css_nav_month {
display: none;
}
+7 -22
View File
@@ -2,30 +2,15 @@
.css_website_mail
.media
position: relative
clear: both
.css_button_publish
position: absolute
right: 5px
top: 5px
.css_publish
color: green
display: none
background: none
.css_unpublish
color: red
background: none
.css_published
.css_publish
display: block
.css_unpublish
display: none
.label-success
display: none
.css_published
.label-important
display: none
.label-success
display: inline-block
.has-error
border-color: red
.css_older
float: right
.css_newer
float: left
.css_nav_month
display: none
&:first-of-type
+20 -22
View File
@@ -69,12 +69,12 @@
<div class="span8" t-if="blog_id">
<div class="media">
<div t-att-class="'media-body well %%s' %% (blog_id.website_published and 'css_published' or '')">
<a href="#" title="Click to publish or unpublish this blog" t-att-data-id="blog_id.id" class="js_publish css_button_publish" groups="group_website_mail_manager">
<i class="icon-ok-circle css_publish"></i>
<i class="icon-remove-sign css_unpublish"></i>
<a href="#" title="Click to publish or unpublish this blog" t-att-data-id="blog_id.id" class="js_publish pull-right" groups="group_website_mail_manager">
<span class="label label-success">Unpublish</span>
<span class="label label-important">Publish</span>
</a>
<h3 t-record="blog_id" t-field="subject"></h3>
<p t-record="blog_id" t-field="body"></p>
<div t-record="blog_id" t-field="body"></div>
<small class="pull-right muted text-right">
<div><t t-esc="blog_id.read(['author_id'])[0]['author_id'][1]"/></div>
<div><t t-esc="blog_id.date"/></div>
@@ -83,19 +83,17 @@
<ul class="media-list">
<t t-foreach="comments">
<!-- TODO: check qweb iteration -->
<li class="media well well-small">
<li class="media">
<div t-att-class="'media-body %%s' %% (website_published and 'css_published' or '')">
<a href="#" title="Click to publish or unpublish this message" t-att-data-id="id" class="js_publish css_button_publish" groups="group_website_mail_manager">
<i class="icon-ok-circle css_publish"></i>
<i class="icon-remove-sign css_unpublish"></i>
<a href="#" title="Click to publish or unpublish this message" t-att-data-id="id" class="js_publish pull-right" groups="group_website_mail_manager">
<span class="label label-success">Unpublish</span>
<span class="label label-important">Publish</span>
</a>
<div class="media">
<t t-raw="body"/>
<small class="pull-right muted text-right">
<div><t t-esc="author_id[1]"/></div>
<div><t t-esc="date"/></div>
</small>
</div>
<t t-raw="body"/>
<small class="pull-right muted text-right">
<div><t t-esc="author_id[1]"/></div>
<div><t t-esc="date"/></div>
</small>
</div>
</li>
</t>
@@ -111,13 +109,13 @@
<t t-foreach="blog_ids" t-as="blog">
<li class="media well">
<div t-att-class="'media-body %%s' %% (blog.website_published and 'css_published' or '')">
<a href="#" title="Click to publish or unpublish this message" t-att-data-id="blog.id" class="js_publish css_button_publish" groups="group_website_mail_manager">
<i class="icon-ok-circle css_publish"></i>
<i class="icon-remove-sign css_unpublish"></i>
<a href="#" title="Click to publish or unpublish this message" t-att-data-id="blog.id" class="js_publish pull-right" groups="group_website_mail_manager">
<span class="label label-success">Unpublish</span>
<span class="label label-important">Publish</span>
</a>
<a t-att-href="'/blog/%%s/%%s' %% (blog.res_id, blog.id)"><h4 class="media-heading"><t t-record="blog" t-field="subject"/></h4></a>
<h4 class="media-heading" ><a t-att-href="'/blog/%%s/%%s' %% (blog.res_id, blog.id)" t-record="blog" t-field="subject"></a></h4>
<div class="media">
<t t-record="blog" t-field="body"/>
<div t-record="blog" t-field="body"></div>
<small class="pull-right muted text-right">
<a t-att-href="'/blog/%%s/%%s' %% (blog.res_id, blog.id)">Read more </a>
<div><t t-esc="blog.read(['author_id'])[0]['author_id'][1]"/></div>
@@ -128,8 +126,8 @@
</li>
</t>
</ul>
<a t-if="prev_date" t-att-href="'?date=%%s' %% (prev_date)" class="css_newer">Newer</a>
<a t-if="next_date" t-att-href="'?date=%%s' %% (next_date)" class="css_older">Older</a>
<a t-if="prev_date" t-att-href="'?date=%%s' %% (prev_date)" class="pull-left">Newer</a>
<a t-if="next_date" t-att-href="'?date=%%s' %% (next_date)" class="pull-right">Older</a>
</div>
</div>
</div>