diff --git a/addons/web/static/lib/jquery.tipsy/jquery.tipsy.js b/addons/web/static/lib/jquery.tipsy/jquery.tipsy.js
index f36c9bdb43a..5929d591261 100644
--- a/addons/web/static/lib/jquery.tipsy/jquery.tipsy.js
+++ b/addons/web/static/lib/jquery.tipsy/jquery.tipsy.js
@@ -27,7 +27,7 @@
var $tip = this.tip();
$tip.find('.tipsy-inner')[this.options.html ? 'html' : 'text'](title);
- $tip[0].className = 'tipsy'; // reset classname in case of dynamic gravity
+ $tip[0].className = 'tipsy openerp oe_tooltip '; // reset classname in case of dynamic gravity
$tip.remove().css({top: 0, left: 0, visibility: 'hidden', display: 'block'}).prependTo(document.body);
var pos = $.extend({}, this.$element.offset(), {
@@ -63,7 +63,7 @@
}
}
- $tip.css(tp).addClass('openerp oe_tooltip tipsy-' + gravity);
+ $tip.css(tp).addClass('tipsy-' + gravity);
$tip.find('.tipsy-arrow')[0].className = 'tipsy-arrow tipsy-arrow-' + gravity.charAt(0);
if (this.options.className) {
$tip.addClass(maybeCall(this.options.className, this.$element[0]));
diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css
index 77393168d7e..c2be0b4d57d 100644
--- a/addons/web/static/src/css/base.css
+++ b/addons/web/static/src/css/base.css
@@ -610,6 +610,19 @@
.openerp.oe_tooltip .oe_tooltip_technical_title {
font-weight: bold;
}
+.openerp.oe_tooltip .oe_tooltip_close {
+ margin: -5px 0 0 2px;
+ cursor: default;
+ float: right;
+ color: white;
+}
+.openerp.oe_tooltip .oe_tooltip_close:hover {
+ color: #999999;
+ cursor: pointer;
+}
+.openerp.oe_tooltip .oe_tooltip_message {
+ max-width: 310px;
+}
.openerp .oe_notebook {
margin: 8px 0;
padding: 0 16px;
diff --git a/addons/web/static/src/css/base.sass b/addons/web/static/src/css/base.sass
index a2dde29f094..9a3320bdeff 100644
--- a/addons/web/static/src/css/base.sass
+++ b/addons/web/static/src/css/base.sass
@@ -475,6 +475,16 @@ $sheet-max-width: 860px
list-style: circle
.oe_tooltip_technical_title
font-weight: bold
+ .oe_tooltip_close
+ margin: -5px 0 0 2px
+ cursor: default
+ float: right
+ color: white
+ &:hover
+ color: #999
+ cursor: pointer
+ .oe_tooltip_message
+ max-width: 310px
// }}}
// Notebook {{{
.oe_notebook
diff --git a/addons/web/static/src/js/chrome.js b/addons/web/static/src/js/chrome.js
index 0557fe56d5e..dbff734da98 100644
--- a/addons/web/static/src/js/chrome.js
+++ b/addons/web/static/src/js/chrome.js
@@ -400,6 +400,9 @@ instance.web.DatabaseManager = instance.web.Widget.extend({
'db': form_obj['db_name'],
'login': 'admin',
'password': form_obj['create_admin_pwd'],
+ 'login_successful': function() {
+ instance.webclient.show_application();
+ },
},
};
self.do_action(client_action);
@@ -979,6 +982,7 @@ instance.web.Client = instance.web.Widget.extend({
}, 0);
});
instance.web.bus.on('click', this, function(ev) {
+ $.fn.tipsy.clear();
if (!$(ev.target).is('input[type=file]')) {
self.$element.find('.oe_dropdown_menu.oe_opened').removeClass('oe_opened');
}
diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js
index c4e13dabae2..56d8e3379e4 100644
--- a/addons/web/static/src/js/view_form.js
+++ b/addons/web/static/src/js/view_form.js
@@ -2698,6 +2698,7 @@ instance.web.form.FieldMany2One = instance.web.form.AbstractField.extend(instanc
this.on("change:value", this, function() {
this.floating = false;
this.render_value();
+ this.$('.oe_m2o_cm_button').css({'visibility': this.is_false() ? 'hidden' : 'visible'});
});
},
initialize_content: function() {
@@ -2711,10 +2712,20 @@ instance.web.form.FieldMany2One = instance.web.form.AbstractField.extend(instanc
self.$input.tipsy({
title: function() {
- return "No element was selected, you should create or select one from the dropdown list.";
+ return QWeb.render('Tipsy.alert', {
+ message: "No element was selected, you should create or select one from the dropdown list."
+ });
},
trigger:'manual',
fade: true,
+ gravity: 's',
+ html: true,
+ opacity: 1,
+ offset: 4,
+ });
+
+ self.$input.on('focus', function() {
+ self.$input.tipsy("hide");
});
this.$drop_down = this.$element.find(".oe_m2o_drop_down_button");
@@ -2768,7 +2779,7 @@ instance.web.form.FieldMany2One = instance.web.form.AbstractField.extend(instanc
var tip_def = $.Deferred();
var untip_def = $.Deferred();
var tip_delay = 200;
- var tip_duration = 3000;
+ var tip_duration = 15000;
var anyoneLoosesFocus = function() {
var used = false;
if (self.floating) {
diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml
index c45b2d7f226..601fe165f81 100644
--- a/addons/web/static/src/xml/base.xml
+++ b/addons/web/static/src/xml/base.xml
@@ -25,6 +25,13 @@
+
+ [
+
+
+
+
+
diff --git a/addons/web_kanban/static/src/js/kanban.js b/addons/web_kanban/static/src/js/kanban.js
index a17f77be1e8..4477b4dc01f 100644
--- a/addons/web_kanban/static/src/js/kanban.js
+++ b/addons/web_kanban/static/src/js/kanban.js
@@ -256,7 +256,7 @@ instance.web_kanban.KanbanView = instance.web.View.extend({
scroll: false
});
} else {
- this.$element.find('.oe_kanban_draghandle').removeClass('oe_kanban_draghandle').removeClass('oe_kanban_card');
+ this.$element.find('.oe_kanban_draghandle').removeClass('oe_kanban_draghandle');
}
},
on_record_moved : function(record, old_group, old_index, new_group, new_index) {
@@ -320,7 +320,7 @@ instance.web_kanban.KanbanView = instance.web.View.extend({
},
open_record: function(id, editable) {
if (this.dataset.select_id(id)) {
- this.do_switch_view('form', null);
+ this.do_switch_view('form', null, { editable: editable });
} else {
this.do_warn("Kanban: could not find id#" + id);
}
@@ -606,7 +606,7 @@ instance.web_kanban.KanbanRecord = instance.web.OldWidget.extend({
// If no draghandle is found, make the whole card as draghandle
if (!this.$element.find('.oe_kanban_draghandle').length) {
- this.$element.children(':first').addClass('oe_kanban_draghandle').addClass('oe_kanban_card');
+ this.$element.children(':first').addClass('oe_kanban_draghandle');
}
this.$element.find('.oe_kanban_action').click(function() {