diff --git a/addons/base/controllers/main.py b/addons/base/controllers/main.py index e73e281ce3a..3caa07c6197 100644 --- a/addons/base/controllers/main.py +++ b/addons/base/controllers/main.py @@ -299,8 +299,8 @@ class Session(openerpweb.Controller): @openerpweb.jsonrequest def sc_list(self, req): - return req.session.model('ir.ui.view_sc').get_sc(req.session._uid, "ir.ui.menu", - req.session.eval_context(req.context)) + return req.session.model('ir.ui.view_sc').get_sc( + req.session._uid, "ir.ui.menu", req.session.eval_context(req.context)) @openerpweb.jsonrequest def get_lang_list(self, req): diff --git a/addons/base/static/src/css/base.css b/addons/base/static/src/css/base.css index 13294819f6b..e8d411b1ae1 100644 --- a/addons/base/static/src/css/base.css +++ b/addons/base/static/src/css/base.css @@ -264,7 +264,7 @@ label.error { background: -ms-linear-gradient(top, #bd5e54 0%,#90322a 60%); /* IE10+ */ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#BD5E54', endColorstr='#90322A',GradientType=0 ); /* IE6-9 */ background: linear-gradient(top, #bd5e54 0%,#90322a 60%); /* W3C */ - + border: 1px solid #6E2A24; border-radius: 4px; -moz-border-radius: 4px; @@ -1054,14 +1054,14 @@ label.error { padding-right: 21px; height: 21px; -background: #ffffff; /* Old browsers */ -background: -moz-linear-gradient(top, #ffffff 0%, #ebe9e9 100%); /* FF3.6+ */ -background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(100%,#ebe9e9)); /* Chrome,Safari4+ */ -background: -webkit-linear-gradient(top, #ffffff 0%,#ebe9e9 100%); /* Chrome10+,Safari5.1+ */ -background: -o-linear-gradient(top, #ffffff 0%,#ebe9e9 100%); /* Opera11.10+ */ -background: -ms-linear-gradient(top, #ffffff 0%,#ebe9e9 100%); /* IE10+ */ -filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#FFFFFF', endColorstr='#EBE9E9',GradientType=0 ); /* IE6-9 */ -background: linear-gradient(top, #ffffff 0%,#ebe9e9 100%); /* W3C */ + background: #ffffff; /* Old browsers */ + background: -moz-linear-gradient(top, #ffffff 0%, #ebe9e9 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(100%,#ebe9e9)); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #ffffff 0%,#ebe9e9 100%); /* Chrome10+,Safari5.1+ */ + background: -o-linear-gradient(top, #ffffff 0%,#ebe9e9 100%); /* Opera11.10+ */ + background: -ms-linear-gradient(top, #ffffff 0%,#ebe9e9 100%); /* IE10+ */ + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#FFFFFF', endColorstr='#EBE9E9',GradientType=0 ); /* IE6-9 */ + background: linear-gradient(top, #ffffff 0%,#ebe9e9 100%); /* W3C */ border: 1px solid #D2CFCF; border-right-width: 0; @@ -1170,6 +1170,7 @@ background: linear-gradient(top, #ffffff 0%,#ebe9e9 100%); /* W3C */ .parent_top { vertical-align: text-top; } + .openerp .oe-dialog-warning p { padding-left: 1em; font-size: 1.2em; @@ -1182,7 +1183,6 @@ background: linear-gradient(top, #ffffff 0%,#ebe9e9 100%); /* W3C */ -webkit-box-shadow: none; box-shadow: none; } - .openerp .oe-treeview-table { width: 100%; } @@ -1209,3 +1209,52 @@ background: linear-gradient(top, #ffffff 0%,#ebe9e9 100%); /* W3C */ text-align: left; vertical-align: top; } +/* Shortcuts*/ +.oe-shortcut-toggle { + height: 20px; + padding: 0; + width: 24px; + cursor: pointer; + display: block; + background: url(/base/static/src/img/add-shortcut.png) no-repeat bottom; + float: left; +} +.oe-shortcut-remove{ + background: url(/base/static/src/img/remove-shortcut.png) no-repeat bottom; +} +/* ================ */ +.oe-shortcuts { + position: absolute; + + margin: 0; + padding: 6px 5px; + top: 37px; + left: 197px; + right: 0; + height: 17px; + line-height: 1.2; +} +.oe-shortcuts ul { + display: block; + overflow: hidden; + list-style: none; + white-space: nowrap; + padding: 0; + margin: 0; +} +.oe-shortcuts li { + cursor: pointer; + display: -moz-inline-stack; + display: inline-block; + display: inline; /*IE7 */ + color: #fff; + text-align: center; + border-left: 1px solid #909090; + padding: 4px; + font-size: 90%; + font-weight: normal; +} +.oe-shortcuts li:first-child { + border-left: none; + padding-left: 0; +} diff --git a/addons/base/static/src/img/add-shortcut.png b/addons/base/static/src/img/add-shortcut.png new file mode 100644 index 00000000000..bcc0a09eb45 Binary files /dev/null and b/addons/base/static/src/img/add-shortcut.png differ diff --git a/addons/base/static/src/img/remove-shortcut.png b/addons/base/static/src/img/remove-shortcut.png new file mode 100644 index 00000000000..9bff03fe584 Binary files /dev/null and b/addons/base/static/src/img/remove-shortcut.png differ diff --git a/addons/base/static/src/js/chrome.js b/addons/base/static/src/js/chrome.js index 49d2099c948..927a000f002 100644 --- a/addons/base/static/src/js/chrome.js +++ b/addons/base/static/src/js/chrome.js @@ -573,13 +573,66 @@ openerp.base.Header = openerp.base.Widget.extend({ this._super(parent, element_id); }, start: function() { - this.do_update(); + return this.do_update(); }, - do_update: function() { + do_update: function () { this.$element.html(QWeb.render("Header", this)); this.$element.find(".logout").click(this.on_logout); + return this.shortcut_load(); }, - on_logout: function() {} + shortcut_load :function(){ + var self = this, + sc = self.session.shortcuts, + shortcuts_ds = new openerp.base.DataSet(this, 'ir.ui.view_sc'); + // TODO: better way to communicate between sections. + // sc.bindings, because jquery does not bind/trigger on arrays... + if (!sc.binding) { + sc.binding = {}; + $(sc.binding).bind({ + 'add': function (e, attrs) { + var $shortcut = $('
|
-
+
|