From ececa1f7bf851a884c916f4ad095ba586ecbbd02 Mon Sep 17 00:00:00 2001 From: Juhil Somaiya Date: Wed, 21 Aug 2019 06:14:05 +0000 Subject: [PATCH] [FIX] *: hide technical field widgets in non-debug mode (Studio) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit *: - account - barcodes - calenndar - hr_timesheet - mail - mass_mailing - partner_autocomplete - web - website_slides This commit removes description of fields that should not be shown in non-debug mode Studio. Only field widgets whose own description is set are displayed in non-debug mode Studio in "Widget" of sidebar. In other words, even if any ancestor has a description but not the current widget, it won't be displayed in the sidebar in non-debug mode. Task-Id 2056992 closes odoo/odoo#35902 Signed-off-by: Alexandre Kühn (aku) --- .../static/src/js/section_and_note_fields_backend.js | 1 - addons/barcodes/static/src/js/barcode_field.js | 1 - addons/calendar/static/src/js/base_calendar.js | 1 - addons/hr_timesheet/static/src/js/timesheet_uom.js | 11 ++++++++--- addons/mail/static/src/js/many2many_tags_email.js | 1 - .../mass_mailing/static/src/js/mass_mailing_widget.js | 1 - .../static/src/js/partner_autocomplete_fieldchar.js | 1 - .../static/src/js/partner_autocomplete_many2one.js | 1 - addons/web/static/src/js/fields/basic_fields.js | 1 - addons/web/static/src/js/fields/relational_fields.js | 4 +++- addons/web/static/src/js/fields/special_fields.js | 2 -- .../static/src/js/rating_field_backend.js | 1 - 12 files changed, 11 insertions(+), 15 deletions(-) diff --git a/addons/account/static/src/js/section_and_note_fields_backend.js b/addons/account/static/src/js/section_and_note_fields_backend.js index 2247afdfbe3..8bece6a09ba 100644 --- a/addons/account/static/src/js/section_and_note_fields_backend.js +++ b/addons/account/static/src/js/section_and_note_fields_backend.js @@ -76,7 +76,6 @@ var SectionAndNoteListRenderer = ListRenderer.extend({ // to be sure this custom code will only impact selected fields having the widget // and not applied to any other existing ListRenderer. var SectionAndNoteFieldOne2Many = FieldOne2Many.extend({ - description: "", /** * We want to use our custom renderer for the list. * diff --git a/addons/barcodes/static/src/js/barcode_field.js b/addons/barcodes/static/src/js/barcode_field.js index 1440845708f..b5786f8a161 100644 --- a/addons/barcodes/static/src/js/barcode_field.js +++ b/addons/barcodes/static/src/js/barcode_field.js @@ -9,7 +9,6 @@ var BarcodeEvents = require('barcodes.BarcodeEvents').BarcodeEvents; // Field in which the user can both type normally and scan barcodes var FieldFloatScannable = basicFields.FieldFloat.extend({ - description: "", events: _.extend({}, basicFields.FieldFloat.prototype.events, { // The barcode_events component intercepts keypresses and releases them when it // appears they are not part of a barcode. But since released keypresses don't diff --git a/addons/calendar/static/src/js/base_calendar.js b/addons/calendar/static/src/js/base_calendar.js index 036f691890c..0a9dd625662 100644 --- a/addons/calendar/static/src/js/base_calendar.js +++ b/addons/calendar/static/src/js/base_calendar.js @@ -139,7 +139,6 @@ var Many2ManyAttendee = FieldMany2ManyTags.extend({ // as this widget is model dependant (rpc on res.partner), use it in another // context probably won't work // supportedFieldTypes: ['many2many'], - description: "", tag_template: "Many2ManyAttendeeTag", specialData: "_fetchSpecialAttendeeStatus", diff --git a/addons/hr_timesheet/static/src/js/timesheet_uom.js b/addons/hr_timesheet/static/src/js/timesheet_uom.js index 9699dc6feaf..89945ef164a 100644 --- a/addons/hr_timesheet/static/src/js/timesheet_uom.js +++ b/addons/hr_timesheet/static/src/js/timesheet_uom.js @@ -82,9 +82,14 @@ var FieldTimesheetToggle = basicFields.FieldFloatToggle.extend({ **/ var widgetName = 'timesheet_uom' in session ? session.timesheet_uom.timesheet_widget : 'float_factor'; -var FieldTimesheetUom = widgetName === 'float_toggle' ? - FieldTimesheetToggle : (fieldRegistry.get(widgetName) || FieldTimesheetFactor); -FieldTimesheetUom.prototype.description = ""; +var FieldTimesheetUom = widgetName === 'float_toggle' ? FieldTimesheetToggle + : ( + ( + fieldRegistry.get(widgetName) && + fieldRegistry.get(widgetName).extend({}) + ) || + FieldTimesheetFactor + ); fieldRegistry.add('timesheet_uom', FieldTimesheetUom); diff --git a/addons/mail/static/src/js/many2many_tags_email.js b/addons/mail/static/src/js/many2many_tags_email.js index 81d2c4132dd..6648ef50423 100644 --- a/addons/mail/static/src/js/many2many_tags_email.js +++ b/addons/mail/static/src/js/many2many_tags_email.js @@ -51,7 +51,6 @@ BasicModel.include({ }); var FieldMany2ManyTagsEmail = M2MTags.extend({ - description: "", tag_template: "FieldMany2ManyTagsEmail", fieldsToFetch: _.extend({}, M2MTags.prototype.fieldsToFetch, { email: {type: 'char'}, diff --git a/addons/mass_mailing/static/src/js/mass_mailing_widget.js b/addons/mass_mailing/static/src/js/mass_mailing_widget.js index ebc32541576..d0c16fa4a36 100644 --- a/addons/mass_mailing/static/src/js/mass_mailing_widget.js +++ b/addons/mass_mailing/static/src/js/mass_mailing_widget.js @@ -11,7 +11,6 @@ var _t = core._t; var MassMailingFieldHtml = FieldHtml.extend({ - description: "", xmlDependencies: (FieldHtml.prototype.xmlDependencies || []).concat(["/mass_mailing/static/src/xml/mass_mailing.xml"]), jsLibs: [ '/mass_mailing/static/src/js/mass_mailing_snippets.js', diff --git a/addons/partner_autocomplete/static/src/js/partner_autocomplete_fieldchar.js b/addons/partner_autocomplete/static/src/js/partner_autocomplete_fieldchar.js index 69a1332122e..37a2b19cae1 100644 --- a/addons/partner_autocomplete/static/src/js/partner_autocomplete_fieldchar.js +++ b/addons/partner_autocomplete/static/src/js/partner_autocomplete_fieldchar.js @@ -16,7 +16,6 @@ var FieldChar = basic_fields.FieldChar; * "website" and "image" fields of records of this model). */ var FieldAutocomplete = FieldChar.extend(AutocompleteMixin, { - description: "", className: 'o_field_partner_autocomplete', debounceSuggestions: 400, resetOnAnyFieldChange: true, diff --git a/addons/partner_autocomplete/static/src/js/partner_autocomplete_many2one.js b/addons/partner_autocomplete/static/src/js/partner_autocomplete_many2one.js index 29ab8641b36..a594373f720 100644 --- a/addons/partner_autocomplete/static/src/js/partner_autocomplete_many2one.js +++ b/addons/partner_autocomplete/static/src/js/partner_autocomplete_many2one.js @@ -9,7 +9,6 @@ var field_registry = require('web.field_registry'); var _t = core._t; var PartnerField = FieldMany2One.extend(AutocompleteMixin, { - description: "", jsLibs: [ '/partner_autocomplete/static/lib/jsvat.js' ], diff --git a/addons/web/static/src/js/fields/basic_fields.js b/addons/web/static/src/js/fields/basic_fields.js index 69be202a33d..72b0b1adc5f 100644 --- a/addons/web/static/src/js/fields/basic_fields.js +++ b/addons/web/static/src/js/fields/basic_fields.js @@ -1166,7 +1166,6 @@ var FieldFloatTime = FieldFloat.extend({ }); var FieldFloatFactor = FieldFloat.extend({ - description: "", supportedFieldTypes: ['float'], className: 'o_field_float_factor', formatType: 'float_factor', diff --git a/addons/web/static/src/js/fields/relational_fields.js b/addons/web/static/src/js/fields/relational_fields.js index b89900c9b3b..9ef8241f9f3 100644 --- a/addons/web/static/src/js/fields/relational_fields.js +++ b/addons/web/static/src/js/fields/relational_fields.js @@ -817,7 +817,9 @@ var FieldMany2One = AbstractField.extend({ }); var Many2oneBarcode = FieldMany2One.extend({ - description: "", + // We don't require this widget to be displayed in studio sidebar in + // non-debug mode hence just extended it from its original widget, so that + // description comes from parent and hasOwnProperty based condition fails }); var ListFieldMany2One = FieldMany2One.extend({ diff --git a/addons/web/static/src/js/fields/special_fields.js b/addons/web/static/src/js/fields/special_fields.js index cfadd9f101a..ab040daa4f0 100644 --- a/addons/web/static/src/js/fields/special_fields.js +++ b/addons/web/static/src/js/fields/special_fields.js @@ -16,7 +16,6 @@ var _t = core._t; * the time difference between UTC time and local time, in minutes. */ var FieldTimezoneMismatch = FieldSelection.extend({ - description: "", /** * @override */ @@ -129,7 +128,6 @@ var FieldTimezoneMismatch = FieldSelection.extend({ var FieldReportLayout = relational_fields.FieldMany2One.extend({ // this widget is not generic, so we disable its studio use // supportedFieldTypes: ['many2one', 'selection'], - description: "", events: _.extend({}, relational_fields.FieldMany2One.prototype.events, { 'click img': '_onImgClicked', }), diff --git a/addons/website_slides/static/src/js/rating_field_backend.js b/addons/website_slides/static/src/js/rating_field_backend.js index a84065437ba..66e32986a00 100644 --- a/addons/website_slides/static/src/js/rating_field_backend.js +++ b/addons/website_slides/static/src/js/rating_field_backend.js @@ -13,7 +13,6 @@ var FieldFloatRating = basicFields.FieldFloat.extend({ ['/website_rating/static/src/xml/portal_tools.xml'] : basicFields.FieldFloat.prototype.xmlDependencies.concat( ['/website_rating/static/src/xml/portal_tools.xml'] ), - description: "", //-------------------------------------------------------------------------- // Private //--------------------------------------------------------------------------