diff options
| author | Antony Lesuisse <al@openerp.com> | 2012-04-06 16:05:37 +0200 |
|---|---|---|
| committer | Antony Lesuisse <al@openerp.com> | 2012-04-06 16:05:37 +0200 |
| commit | eac3ebb87e4459e7a89e6f91748af1f60cc0838c (patch) | |
| tree | c7de8e48fbad3d37fada26ebaa4181e1baa94ca7 /addons/web/static/src | |
| parent | e7e7548869682b63bc196a7a8b38dd40e054770a (diff) | |
| parent | 1502868ae103898d6d515083a2145eb7c3143c5c (diff) | |
[MERGE] trunk
bzr revid: nicolas.vanhoren@openerp.com-20120406123856-vpw1mk9rq642ur6n
bzr revid: al@openerp.com-20120406140537-z5em6fgqv8cnyj1t
Diffstat (limited to 'addons/web/static/src')
| -rw-r--r-- | addons/web/static/src/css/base.css | 17 | ||||
| -rw-r--r-- | addons/web/static/src/css/base.sass | 13 | ||||
| -rw-r--r-- | addons/web/static/src/css/base_old.css | 39 | ||||
| -rw-r--r-- | addons/web/static/src/js/view_form.js | 37 | ||||
| -rw-r--r-- | addons/web/static/src/js/views.js | 54 | ||||
| -rw-r--r-- | addons/web/static/src/xml/base.xml | 12 |
6 files changed, 71 insertions, 101 deletions
diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css index 29735add56f..c593bd7cb2b 100644 --- a/addons/web/static/src/css/base.css +++ b/addons/web/static/src/css/base.css @@ -479,6 +479,19 @@ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.2); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.2); } +.openerp2 .oe_secondary_submenu .oe_menu_counter { + float: right; + background: #8a89ba; + color: #eeeeee; + font-size: 12px; + border: 1px solid lightgray; + padding: 0px 4px 0px 4px; + text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2); + margin: 0px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; +} .openerp2 .oe_secondary_submenu .oe_active { background: #8a89ba; border-top: 1px solid lightGray; @@ -499,6 +512,10 @@ -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2); box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2); } +.openerp2 .oe_secondary_submenu .oe_active .oe_menu_counter { + background: #eeeeee; + color: #8a89ba; +} .openerp2 .oe_secondary_submenu .oe_menu_toggler:before { width: 0; height: 0; diff --git a/addons/web/static/src/css/base.sass b/addons/web/static/src/css/base.sass index 80410e395ed..2b5c2b007f9 100644 --- a/addons/web/static/src/css/base.sass +++ b/addons/web/static/src/css/base.sass @@ -401,6 +401,16 @@ $colour4: #8a89ba text-shadow: 0 1px 1px rgba(0,0,0,0.2) @include radius(4px) @include box-shadow(inset 0 1px 1px rgba(0, 0, 0, 0.2)) + .oe_menu_counter + float: right + background: #8a89ba + color: #eee + font-size: 12px + border: 1px solid lightgray + padding: 0px 4px 0px 4px + text-shadow: 0 1px 1px rgba(0,0,0,0.2) + margin: 0px + @include radius(4px) .oe_active background: $colour4 border-top: 1px solid lightGray @@ -414,6 +424,9 @@ $colour4: #8a89ba color: $colour4 text-shadow: 0 1px 1px white @include box-shadow(0 1px 1px rgba(0, 0, 0, 0.2)) + .oe_menu_counter + background: #eee + color: #8a89ba .oe_menu_toggler:before width: 0 height: 0 diff --git a/addons/web/static/src/css/base_old.css b/addons/web/static/src/css/base_old.css index 31037702a89..c59e6291335 100644 --- a/addons/web/static/src/css/base_old.css +++ b/addons/web/static/src/css/base_old.css @@ -1258,45 +1258,6 @@ label.error { text-decoration: underline; color: inherit; } -.openerp .oe-view-manager-logs { - clear: both; - background: #fff; - margin: 0.25em 0; - font-size: 85%; - color: #4C4C4C; - position: relative; - overflow: hidden; -} -.openerp .oe-view-manager-logs ul { - margin: 0; - padding: 0 10px; - list-style: none; -} -.openerp .oe-view-manager-logs li:before { - content: '\2192 '; -} -.openerp .oe-view-manager-logs a { - text-decoration: none; - color: inherit; -} -/* only display first three log items of a folded logs list */ -.openerp .oe-view-manager-logs.oe-folded li:nth-child(n+4) { - display: none; -} -/* display link to more logs if there are more logs to view and the logview is - currently folded */ -.openerp .oe-view-manager-logs a.oe-more-logs { - display: none; -} -.openerp .oe-view-manager-logs.oe-folded.oe-has-more a.oe-more-logs { - display: block; -} -.openerp .oe-view-manager-logs a.oe-remove-everything { - position: absolute; - top: 0; - right: 0; - cursor: pointer; -} .openerp .view-manager-main-sidebar { width: 180px; diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index 663ea0246e9..4f0188c584c 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -2502,6 +2502,7 @@ openerp.web.form.FieldOne2Many = openerp.web.form.AbstractField.extend({ disable_utility_classes: true, init: function(view, node) { this._super(view, node); + lazy_build_o2m_kanban_view(); this.is_loaded = $.Deferred(); this.initial_is_loaded = this.is_loaded; this.is_setted = $.Deferred(); @@ -2579,7 +2580,8 @@ openerp.web.form.FieldOne2Many = openerp.web.form.AbstractField.extend({ this.viewmanager.registry = openerp.web.views.extend({ list: 'openerp.web.form.One2ManyListView', form: 'openerp.web.form.One2ManyFormView', - page: 'openerp.web.PageView' + page: 'openerp.web.PageView', + kanban: 'openerp.web.form.One2ManyKanbanView', }); var once = $.Deferred().then(function() { self.init_form_last_update.resolve(); @@ -2588,8 +2590,8 @@ openerp.web.form.FieldOne2Many = openerp.web.form.AbstractField.extend({ self.initial_is_loaded.resolve(); }); this.viewmanager.on_controller_inited.add_last(function(view_type, controller) { + controller.o2m = self; if (view_type == "list") { - controller.o2m = self; if (self.get("effective_readonly")) controller.set_editable(false); } else if (view_type == "form" || view_type == 'page') { @@ -2636,7 +2638,7 @@ openerp.web.form.FieldOne2Many = openerp.web.form.AbstractField.extend({ }; self.form_last_update = self.form_last_update.pipe(act, act); return self.form_last_update; - } else if (active_view === "graph") { + } else if (view.do_search) { return view.do_search(self.build_domain(), self.dataset.get_context(), []); } }, undefined); @@ -2862,6 +2864,35 @@ openerp.web.form.One2ManyFormView = openerp.web.FormView.extend({ } }); +var lazy_build_o2m_kanban_view = function() { +if (! openerp.web_kanban || openerp.web.form.One2ManyKanbanView) + return; +openerp.web.form.One2ManyKanbanView = openerp.web_kanban.KanbanView.extend({ + open_record: function(id) { + var self = this; + var pop = new openerp.web.form.FormOpenPopup(self.o2m.view); + pop.show_element(self.o2m.field.relation, id, self.o2m.build_context(), { + title: _t("Open: ") + self.name, + auto_write: false, + alternative_form_view: self.o2m.field.views ? self.o2m.field.views["form"] : undefined, + parent_view: self.o2m.view, + child_name: self.o2m.name, + read_function: function() { + return self.o2m.dataset.read_ids.apply(self.o2m.dataset, arguments); + }, + form_view_options: {'not_interactible_on_create':true}, + readonly: self.o2m.get("effective_readonly"), + }); + pop.on_write.add(function(id, data) { + self.o2m.dataset.write(id, data, {}, function(r) { + self.o2m.reload_current_view(); + }); + }); + + }, +}); +} + /* * TODO niv: clean those deferred stuff, it could be better */ diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js index 70a2c88f6cf..7225a4ed26c 100644 --- a/addons/web/static/src/js/views.js +++ b/addons/web/static/src/js/views.js @@ -548,17 +548,6 @@ session.web.ViewManagerAction = session.web.ViewManager.extend(/** @lends oepner } } - var $res_logs = this.$element.find('.oe-view-manager-logs:first'); - $res_logs.delegate('a.oe-more-logs', 'click', function () { - $res_logs.removeClass('oe-folded'); - return false; - }).delegate('a.oe-remove-everything', 'click', function () { - $res_logs.removeClass('oe-has-more').find('ul').empty(); - $res_logs.css('display','none'); - return false; - }); - $res_logs.css('display','none'); - return manager_ready; }, on_debug_changed: function (evt) { @@ -662,8 +651,6 @@ session.web.ViewManagerAction = session.web.ViewManager.extend(/** @lends oepner return $.when(this._super(view_type, no_store)).then(function () { self.shortcut_check(self.views[view_type]); - self.$element.find('.oe-view-manager-logs:first').addClass('oe-folded').removeClass('oe-has-more').css('display','none').find('ul').empty(); - var controller = self.views[self.active_view].controller, fvg = controller.fields_view, view_id = (fvg && fvg.view_id) || '--'; @@ -745,43 +732,6 @@ session.web.ViewManagerAction = session.web.ViewManager.extend(/** @lends oepner } }); }, - /** - * Intercept do_action resolution from children views - */ - on_action_executed: function () { - return new session.web.DataSet(this, 'res.log') - .call('get', [], this.do_display_log); - }, - /** - * @param {Array<Object>} log_records - */ - do_display_log: function (log_records) { - var self = this; - var cutoff = 3; - var $logs = this.$element.find('.oe-view-manager-logs:first').addClass('oe-folded').css('display', 'block'); - var $logs_list = $logs.find('ul').empty(); - $logs.toggleClass('oe-has-more', log_records.length > cutoff); - _(log_records.reverse()).each(function (record) { - var context = {}; - if (record.context) { - try { context = py.eval(record.context); } - catch (e) { /* TODO: what do I do now? */ } - } - $(_.str.sprintf('<li><a href="#">%s</a></li>', record.name)) - .appendTo($logs_list) - .delegate('a', 'click', function () { - self.do_action({ - type: 'ir.actions.act_window', - res_model: record.res_model, - res_id: record.res_id, - // TODO: need to have an evaluated context here somehow - context: context, - views: [[context.view_id || false, 'form']] - }); - return false; - }); - }); - }, display_title: function () { return this.action.name; } @@ -1093,10 +1043,10 @@ session.web.View = session.web.Widget.extend(/** @lends session.web.View# */{ }, load_view: function() { if (this.embedded_view) { - var def = $.Deferred().pipe(this.on_loaded); + var def = $.Deferred(); var self = this; $.async_when().then(function() {def.resolve(self.embedded_view);}); - return def.promise(); + return def.pipe(this.on_loaded); } else { var context = new session.web.CompoundContext(this.dataset.get_context()); if (! this.view_type) diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml index ee227006bef..eb3f3c42551 100644 --- a/addons/web/static/src/xml/base.xml +++ b/addons/web/static/src/xml/base.xml @@ -373,6 +373,11 @@ t-att-data-action-model="menu.action ? menu.action.split(',')[0] : ''" t-att-data-action-id="menu.action ? menu.action.split(',')[1] : ''"> <t t-esc="menu.name"/> + <t t-if="menu.needaction_enabled"> + <div class="oe_menu_counter"> + <t t-esc="menu.needaction_counter"/> + </div> + </t> </a> </t> @@ -457,13 +462,6 @@ <t t-jquery="h2.oe_view_title" t-operation="after"> <select t-if="self.session.debug" class="oe_debug_view"/> </t> - <t t-jquery=".oe-view-manager-header" t-operation="after"> - <div class="oe-view-manager-logs oe-folded"> - <ul></ul> - <a class="oe-more-logs" href="#">Moreā¦</a> - <a class="oe-remove-everything ui-icon ui-icon-closethick"/> - </div> - </t> </t> <t t-name="ViewManagerDebug"> <option value="">Debug View#<t t-esc="view.fields_view.view_id"/></option> |
