[FIX] web: add 'no_edit_color' option to many2many_tags
This option, if set to True, prevents the user from modifying the color of the tags. Part of task 2070454 closes odoo/odoo#38848 X-original-commit: a62b65a8f9114493064d4efae92825814a880c04 Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
This commit is contained in:
@@ -2440,6 +2440,10 @@ var FormFieldMany2ManyTags = FieldMany2ManyTags.extend({
|
||||
*/
|
||||
_onOpenColorPicker: function (ev) {
|
||||
ev.preventDefault();
|
||||
if (this.nodeOptions.no_edit_color) {
|
||||
ev.stopPropagation();
|
||||
return;
|
||||
}
|
||||
var tagID = $(ev.currentTarget).parent().data('id');
|
||||
var tagColor = $(ev.currentTarget).parent().data('color');
|
||||
var tag = _.findWhere(this.value.data, { res_id: tagID });
|
||||
|
||||
@@ -1545,6 +1545,28 @@ QUnit.module('relational_fields', {
|
||||
form.destroy();
|
||||
});
|
||||
|
||||
QUnit.test('fieldmany2many tags with no_edit_color option', async function (assert) {
|
||||
assert.expect(1);
|
||||
|
||||
this.data.partner.records[0].timmy = [12];
|
||||
|
||||
var form = await createView({
|
||||
View: FormView,
|
||||
model: 'partner',
|
||||
data: this.data,
|
||||
arch:'<form string="Partners">' +
|
||||
'<field name="timmy" widget="many2many_tags" options="{\'color_field\': \'color\', \'no_edit_color\': 1}"/>' +
|
||||
'</form>',
|
||||
res_id: 1,
|
||||
});
|
||||
|
||||
// Click to try to open colorpicker
|
||||
await testUtils.dom.click(form.$('.badge:first() .dropdown-toggle'));
|
||||
assert.containsNone(document.body, '.o_colorpicker');
|
||||
|
||||
form.destroy();
|
||||
});
|
||||
|
||||
QUnit.test('fieldmany2many tags in editable list', async function (assert) {
|
||||
assert.expect(7);
|
||||
|
||||
|
||||
@@ -2131,6 +2131,12 @@ Relational fields
|
||||
|
||||
<field name="category_id" widget="many2many_tags" options="{'color_field': 'color'}"/>
|
||||
|
||||
- no_edit_color: set to True to remove the possibility to change the color of the tags (default: False).
|
||||
|
||||
.. code-block:: xml
|
||||
|
||||
<field name="category_id" widget="many2many_tags" options="{'color_field': 'color', 'no_edit_color': True}"/>
|
||||
|
||||
- form.many2many_tags (FormFieldMany2ManyTags)
|
||||
Specialization of many2many_tags widget for form views. It has some extra
|
||||
code to allow editing the color of a tag.
|
||||
|
||||
Reference in New Issue
Block a user