diff --git a/3pl_logistic_company/data/ir_model.xml b/3pl_logistic_company/data/ir_model.xml
index 715aa3b2ac..e5a670f171 100644
--- a/3pl_logistic_company/data/ir_model.xml
+++ b/3pl_logistic_company/data/ir_model.xml
@@ -3,9 +3,11 @@
Fee Rate
x_fee_rate
+
Stock History
x_stock_history
+
diff --git a/automobile/data/ir_model.xml b/automobile/data/ir_model.xml
index b456ac5d89..7d9917edb5 100644
--- a/automobile/data/ir_model.xml
+++ b/automobile/data/ir_model.xml
@@ -5,5 +5,6 @@
x_brands
+
diff --git a/bike_shop/data/ir_model.xml b/bike_shop/data/ir_model.xml
index bb356a01fa..a223b3dc3d 100644
--- a/bike_shop/data/ir_model.xml
+++ b/bike_shop/data/ir_model.xml
@@ -3,5 +3,6 @@
x_worksheet_template
Device Installation and Maintenance
+
diff --git a/billboard_rental/data/ir_model.xml b/billboard_rental/data/ir_model.xml
index 651e3973eb..39196bc566 100644
--- a/billboard_rental/data/ir_model.xml
+++ b/billboard_rental/data/ir_model.xml
@@ -3,5 +3,6 @@
Billboard Worksheet
x_project_task_worksheet_template_2_studio
+
diff --git a/certification_organism/data/ir_model.xml b/certification_organism/data/ir_model.xml
index f0dede45df..8a27339833 100644
--- a/certification_organism/data/ir_model.xml
+++ b/certification_organism/data/ir_model.xml
@@ -3,5 +3,6 @@
Installation Control of Residential Charging Stations
x_control_charging_station
+
diff --git a/coal_petroleum/data/ir_model.xml b/coal_petroleum/data/ir_model.xml
index 9138862895..4c841000d7 100644
--- a/coal_petroleum/data/ir_model.xml
+++ b/coal_petroleum/data/ir_model.xml
@@ -3,10 +3,12 @@
Coal Quality Analysis
x_quality_check_worksheet_template_1_studio
+
Gas Quality Analysis
x_quality_check_worksheet_template_2_studio
+
diff --git a/condominium/data/ir_model.xml b/condominium/data/ir_model.xml
index d81ec6893d..e6d31c6c72 100644
--- a/condominium/data/ir_model.xml
+++ b/condominium/data/ir_model.xml
@@ -5,31 +5,38 @@
x_buildings
Buildings
+
x_buildings_tag
Buildings Tags
+
x_properties_tag
Properties Tags
+
x_properties_types
Properties Types
+
x_ratios
Ratios
+
x_meter_reading
Meter Reading
+
x_meters
Meters
+
diff --git a/electronic_store/data/ir_model.xml b/electronic_store/data/ir_model.xml
index ba3cda98dc..a869519268 100644
--- a/electronic_store/data/ir_model.xml
+++ b/electronic_store/data/ir_model.xml
@@ -3,5 +3,6 @@
Default Worksheet
x_project_task_worksheet_template_1_studio
+
diff --git a/excise_management/data/ir_model.xml b/excise_management/data/ir_model.xml
index 9c9a8fc83b..51571aae8f 100644
--- a/excise_management/data/ir_model.xml
+++ b/excise_management/data/ir_model.xml
@@ -3,5 +3,6 @@
x_excise_category
Excise Category
+
diff --git a/eyewear_shop/data/ir_model.xml b/eyewear_shop/data/ir_model.xml
index 784962506b..dcb017fc95 100644
--- a/eyewear_shop/data/ir_model.xml
+++ b/eyewear_shop/data/ir_model.xml
@@ -5,5 +5,6 @@
x_res_partner_line
+
diff --git a/hvac_services/data/ir_models.xml b/hvac_services/data/ir_models.xml
index 3c4a413632..21138699e3 100644
--- a/hvac_services/data/ir_models.xml
+++ b/hvac_services/data/ir_models.xml
@@ -3,10 +3,12 @@
INST/MAIN/REPA Worksheet
x_project_task_worksheet_template
+
Add new devices
x_new_devices
+
diff --git a/industry_real_estate/data/ir_model.xml b/industry_real_estate/data/ir_model.xml
index 1a1a8925ef..e9efb2b403 100644
--- a/industry_real_estate/data/ir_model.xml
+++ b/industry_real_estate/data/ir_model.xml
@@ -3,13 +3,16 @@
x_meter_reading
Meter Reading
+
x_meters
Meters
+
x_buildings
Buildings
+
diff --git a/non_profit_organization/data/ir_model.xml b/non_profit_organization/data/ir_model.xml
index bc4c7e2ff8..2bd1cb2c42 100644
--- a/non_profit_organization/data/ir_model.xml
+++ b/non_profit_organization/data/ir_model.xml
@@ -5,15 +5,18 @@
x_petition
Petition
+
x_petition_tag
Petition Tags
+
x_signature
Signature
+
diff --git a/real_estate/data/ir_model.xml b/real_estate/data/ir_model.xml
index 029ba01f87..fd925b84a7 100644
--- a/real_estate/data/ir_model.xml
+++ b/real_estate/data/ir_model.xml
@@ -3,5 +3,6 @@
product_template_line
x_product_template_line
+
diff --git a/solar_installation/data/ir_model.xml b/solar_installation/data/ir_model.xml
index ba3cda98dc..a869519268 100644
--- a/solar_installation/data/ir_model.xml
+++ b/solar_installation/data/ir_model.xml
@@ -3,5 +3,6 @@
Default Worksheet
x_project_task_worksheet_template_1_studio
+
diff --git a/team_sports_club/data/ir_model.xml b/team_sports_club/data/ir_model.xml
index b7628ee3f5..f87512f923 100644
--- a/team_sports_club/data/ir_model.xml
+++ b/team_sports_club/data/ir_model.xml
@@ -4,5 +4,6 @@
Contribution
x_contribution
+
diff --git a/tests/test_generic/tests/test_xml.py b/tests/test_generic/tests/test_xml.py
index f75c3ac623..ff64cfe71f 100644
--- a/tests/test_generic/tests/test_xml.py
+++ b/tests/test_generic/tests/test_xml.py
@@ -150,6 +150,7 @@ def _check_files_in_path(self, module):
self._check_fields(tree, file_name)
self._check_change_theme_method(tree, file_name)
self._check_dates_are_relative(tree, file_name)
+ self._check_model_has_no_field(tree, file_name)
self._check_static_values_in_inputs(tree, file_name)
if root.split('/')[-1] == 'data':
self._check_view_active(tree, file_name)
@@ -461,6 +462,12 @@ def _check_view_active(self, root, file_name):
file_name,
)
+ def _check_model_has_no_field(self, root, file_name):
+ for record in root.xpath("//record[@model='ir.model']"):
+ active_field = record.xpath(".//field[@name='field_id']/@eval")
+ if not active_field or active_field[0] != "[Command.clear()]":
+ _logger.warning("You forgot to empty fields of ir.model record (id=%s in data/%s).", record.get('id'), file_name,)
+
def _check_user_is_set(self, root, previous_records):
records = previous_records
for model in MODELS_WITH_USER_ID:
diff --git a/veterinary_clinic/data/ir_model.xml b/veterinary_clinic/data/ir_model.xml
index e4a6494df6..07aa048ac0 100644
--- a/veterinary_clinic/data/ir_model.xml
+++ b/veterinary_clinic/data/ir_model.xml
@@ -5,33 +5,40 @@
x_pets
+
pets_line
x_pets_line_model
+
Species
x_species
+
Vaccines
x_vaccines
+
Vaccines Tags
x_vaccines_tag
+
Illnesses
x_illnesses
+
species_line
x_species_line
+