diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css index 04fff6c9375..4bc0575a797 100644 --- a/addons/web/static/src/css/base.css +++ b/addons/web/static/src/css/base.css @@ -822,9 +822,12 @@ label.error { border-bottom: 1px solid #E3E3E3; } -.openerp .oe-listview .oe-record-selector { +.openerp .oe-listview .oe-record-selector, .openerp .oe-listview .oe-record-edit-link { border-bottom: 1px solid #E3E3E3; } +.openerp .oe-listview .oe-record-edit-link { + cursor: pointer; +} .openerp .oe-listview .oe-field-cell { cursor: pointer; @@ -1193,6 +1196,7 @@ label.error { } .openerp .oe_datepicker_root { display: inline-block; + width: 100%; } .openerp .oe_forms.oe_frame .oe_datepicker_root { width: 100%; diff --git a/addons/web/static/src/img/pencil.gif b/addons/web/static/src/img/pencil.gif new file mode 100644 index 00000000000..6e9aa5ef659 Binary files /dev/null and b/addons/web/static/src/img/pencil.gif differ diff --git a/addons/web/static/src/js/view_list.js b/addons/web/static/src/js/view_list.js index ad253586591..5e185ed0c3e 100644 --- a/addons/web/static/src/js/view_list.js +++ b/addons/web/static/src/js/view_list.js @@ -17,7 +17,9 @@ openerp.web.ListView = openerp.web.View.extend( /** @lends openerp.web.ListView# // sorted it can not be reordered anymore 'sortable': true, // whether the view rows can be reordered (via vertical drag & drop) - 'reorderable': true + 'reorderable': true, + // display an edit icon linking to form view + 'edit_link': true }, /** * Core class for list-type displays. @@ -120,8 +122,8 @@ openerp.web.ListView = openerp.web.View.extend( /** @lends openerp.web.ListView# 'action': function (e, action_name, id, callback) { self.do_button_action(action_name, id, callback); }, - 'row_link': function (e, id, dataset) { - self.do_activate_record(dataset.index, id, dataset); + 'row_link': function (e, id, dataset, view) { + self.do_activate_record(dataset.index, id, dataset, view); } }); }, @@ -556,9 +558,9 @@ openerp.web.ListView = openerp.web.View.extend( /** @lends openerp.web.ListView# * @param {Object} id identifier of the activated record * @param {openerp.web.DataSet} dataset dataset in which the record is available (may not be the listview's dataset in case of nested groups) */ - do_activate_record: function (index, id, dataset) { + do_activate_record: function (index, id, dataset, view) { this.dataset.ids = dataset.ids; - this.select_record(index); + this.select_record(index, view); }, /** * Handles signal for the addition of a new record (can be a creation, @@ -818,15 +820,19 @@ openerp.web.ListView.List = openerp.web.Class.extend( /** @lends openerp.web.Lis if (!self.dataset.select_id(row_id)) { throw "Could not find id in dataset" } - self.row_clicked(e); + var view; + if ($(e.toElement).is('.oe-record-edit-link-img')) { + view = 'form'; + } + self.row_clicked(e, view); } }); }, - row_clicked: function () { + row_clicked: function (e, view) { $(this).trigger( 'row_link', [this.dataset.ids[this.dataset.index], - this.dataset]); + this.dataset, view]); }, render_cell: function (record, column) { var value; @@ -887,6 +893,9 @@ openerp.web.ListView.List = openerp.web.Class.extend( /** @lends openerp.web.Lis if (this.options.selectable) { cells.push('
| @@ -596,6 +596,7 @@ | + | @@ -609,6 +610,7 @@ | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| + | @@ -666,6 +668,9 @@ | + |
+ |
|
+ |
|
| |