diff --git a/.env b/.env index 722f745b2c63f..e7fecb46b96e2 100644 --- a/.env +++ b/.env @@ -69,6 +69,10 @@ ODOO_CRM_DB= ODOO_CRM_USER= ODOO_CRM_PASSWORD= +# No need to have it running, it's just to compose a URL +# you might also use the .net service +NUTRIPATROL_URL=nutripatrol.localhost + BUILD_CACHE_REPO=openfoodfacts/openfoodfacts-build-cache # If you want the rate limiter to block requests (return 429) instead of doing nothing, diff --git a/cgi/product_multilingual.pl b/cgi/product_multilingual.pl index 9c8b9f80281db..da63b402adcb7 100755 --- a/cgi/product_multilingual.pl +++ b/cgi/product_multilingual.pl @@ -1638,7 +1638,7 @@ ($product_ref, $field, $language, $request_ref) $template_data_ref_process->{edited_product_url} = $url_prefix . get_owner_pretty_path() . product_url($product_ref); - $template_data_ref_process->{edit_product_url} = $url_prefix . product_action_url($product_ref->{code}, ""); + $template_data_ref_process->{edit_product_url} = $url_prefix . product_action_url($product_ref->{code}); if ($type ne 'delete') { # adding contribution card diff --git a/conf/apache-2.4/modperl.conf b/conf/apache-2.4/modperl.conf index fab32e5e2cd52..486c211c80dc2 100644 --- a/conf/apache-2.4/modperl.conf +++ b/conf/apache-2.4/modperl.conf @@ -24,6 +24,7 @@ PerlPassEnv POSTGRES_PASSWORD PerlPassEnv LOG_LEVEL_ROOT PerlPassEnv LOG_LEVEL_MONGODB PerlPassEnv LOG_LEVEL_RATE_LIMITER +PerlPassEnv NUTRIPATROL_URL PerlPassEnv OFF_LOG_EMAILS PerlPassEnv BUILD_CACHE_REPO PerlPassEnv RATE_LIMITER_BLOCKING_ENABLED diff --git a/docker-compose.yml b/docker-compose.yml index 66546f4bfd182..448f41eb8de8e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -28,6 +28,7 @@ x-backend-conf: &backend-conf - LOG_LEVEL_ROOT - LOG_LEVEL_MONGODB - LOG_LEVEL_RATE_LIMITER + - NUTRIPATROL_URL - INFLUXDB_HOST - BUILD_CACHE_REPO - RATE_LIMITER_BLOCKING_ENABLED diff --git a/env/env.obf b/env/env.obf index b6395d07f86c7..4e43a8e03ecb5 100644 --- a/env/env.obf +++ b/env/env.obf @@ -5,4 +5,5 @@ COMPOSE_PROJECT_NAME=po_obf PRODUCT_OPENER_FLAVOR=openbeautyfacts PRODUCT_OPENER_FLAVOR_SHORT=obf -ROBOTOFF_URL=https://robotoff.openfoodfacts.org \ No newline at end of file +ROBOTOFF_URL=https://robotoff.openfoodfacts.org +NUTRIPATROL_URL=https://nutripatrol.openfoodfacts.org/ \ No newline at end of file diff --git a/env/env.off b/env/env.off index 1d75dd85c3f79..049c5d157cb45 100644 --- a/env/env.off +++ b/env/env.off @@ -5,3 +5,5 @@ COMPOSE_PROJECT_NAME=po_off PRODUCT_OPENER_FLAVOR=openfoodfacts PRODUCT_OPENER_FLAVOR_SHORT=off + +NUTRIPATROL_URL=https://nutripatrol.openfoodfacts.org/ \ No newline at end of file diff --git a/env/env.opf b/env/env.opf index 16e5396804d28..679340860fb0d 100644 --- a/env/env.opf +++ b/env/env.opf @@ -5,3 +5,5 @@ COMPOSE_PROJECT_NAME=po_opf PRODUCT_OPENER_FLAVOR=openproductfacts PRODUCT_OPENER_FLAVOR_SHORT=opf + +NUTRIPATROL_URL=https://nutripatrol.openfoodfacts.org/ \ No newline at end of file diff --git a/env/env.opff b/env/env.opff index e5758776cbb31..a4da1805e07e8 100644 --- a/env/env.opff +++ b/env/env.opff @@ -5,3 +5,5 @@ COMPOSE_PROJECT_NAME=po_opff PRODUCT_OPENER_FLAVOR=openpetfoodfacts PRODUCT_OPENER_FLAVOR_SHORT=opff + +NUTRIPATROL_URL=https://nutripatrol.openfoodfacts.org/ \ No newline at end of file diff --git a/lib/ProductOpener/ConfigEnv.pm b/lib/ProductOpener/ConfigEnv.pm new file mode 100644 index 0000000000000..49804b9035a3f --- /dev/null +++ b/lib/ProductOpener/ConfigEnv.pm @@ -0,0 +1,37 @@ +# This file is part of Product Opener. +# +# Product Opener +# Copyright (C) 2011-2024 Association Open Food Facts +# Contact: contact@openfoodfacts.org +# Address: 21 rue des Iles, 94100 Saint-Maur des Fossés, France +# +# Product Opener is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . + +package ProductOpener::ConfigEnv; + +use ProductOpener::PerlStandards; +use Exporter qw< import >; + +BEGIN { + use vars qw(@ISA @EXPORT_OK %EXPORT_TAGS); + @EXPORT_OK = qw( + $nutripatrol_url + ); + %EXPORT_TAGS = (all => [@EXPORT_OK]); +} +use vars @EXPORT_OK; # no 'my' keyword for these + +$nutripatrol_url = $ENV{NUTRIPATROL_URL}; + +1; diff --git a/lib/ProductOpener/KnowledgePanelsReportProblem.pm b/lib/ProductOpener/KnowledgePanelsReportProblem.pm index e9e9884bff7ff..03858722d4a3f 100644 --- a/lib/ProductOpener/KnowledgePanelsReportProblem.pm +++ b/lib/ProductOpener/KnowledgePanelsReportProblem.pm @@ -48,7 +48,8 @@ BEGIN { use vars @EXPORT_OK; use ProductOpener::KnowledgePanels qw(create_panel_from_json_template); -use ProductOpener::Tags qw(:all); +use ProductOpener::Tags qw/:all/; +use ProductOpener::ConfigEnv qw/:all/; use Encode; use Data::DeepAccess qw(deep_get); @@ -87,16 +88,15 @@ sub create_report_problem_card_panel ($product_ref, $target_lc, $target_cc, $opt # + add promo message for the pro platform ("Are you the owner? Add your contact information") # Panel to tell users that they can fix the data themselves - + # or report to nutripatrol create_panel_from_json_template( "incomplete_or_incorrect_data", "api/knowledge-panels/report_problem/incomplete_or_incorrect_data.tt.json", - {}, $product_ref, $target_lc, $target_cc, $options_ref + {nutripatrol_enabled => !!$nutripatrol_url}, + $product_ref, $target_lc, $target_cc, $options_ref ); push(@panels, "incomplete_or_incorrect_data"); - # TODO: add a panel for Nutri-Patrol once it is ready - # Panels to report product issues to local authorities # France - SignalConso diff --git a/lib/ProductOpener/Products.pm b/lib/ProductOpener/Products.pm index 8f1781309af76..9012abd817787 100644 --- a/lib/ProductOpener/Products.pm +++ b/lib/ProductOpener/Products.pm @@ -126,6 +126,7 @@ use vars @EXPORT_OK; use ProductOpener::Store qw/get_string_id_for_lang get_url_id_for_lang retrieve store/; use ProductOpener::Config qw/:all/; +use ProductOpener::ConfigEnv qw/:all/; use ProductOpener::Paths qw/%BASE_DIRS ensure_dir_created_or_die/; use ProductOpener::Users qw/$Org_id $Owner_id $User_id %User init_user/; use ProductOpener::Orgs qw/retrieve_org/; @@ -2828,20 +2829,31 @@ my %actions_urls = ( add_packager_codes_image => "#packager_codes", add_labels => "#labels", add_countries => "#countries", + # this is for web rendering so source is web + report_product_to_nutripatrol => "$nutripatrol_url/flag/product/?barcode=PRODUCT_CODE&source=web&flavor=$flavor" ); -sub product_action_url ($code, $action) { - - my $url = "/cgi/product.pl?type=edit&code=" . $code; +sub product_action_url ($code, $action = "edit_product") { + my $url; if (defined $actions_urls{$action}) { - $url .= $actions_urls{$action}; + my $action_url = $actions_urls{$action}; + if (($action_url eq '') || ($action_url =~ /^#/)) { + # link to the edit form + $url = "/cgi/product.pl?type=edit&code=" . $code; + $url .= $action_url; + } + else { + # full url + $url = $action_url; + $url =~ s/PRODUCT_CODE/$code/; + } } else { $log->error("unknown product action", {code => $code, action => $action}); } - return $url; + return $url // ""; } sub compute_keywords ($product_ref) { diff --git a/po/common/common.pot b/po/common/common.pot index 23f62f229f7f0..ee2a57ac6aae5 100644 --- a/po/common/common.pot +++ b/po/common/common.pot @@ -6359,6 +6359,10 @@ msgctxt "action_packager_codes_image" msgid "Take a photo of traceability codes" msgstr "Take a photo of traceability codes" +msgctxt "action_report_product_to_nutripatrol" +msgid "Report this product to our moderators" +msgstr "Report this product to our moderators" + # Used as a header for key facts msgctxt "knowledge_panels_facts" msgid "What you need to know" @@ -6961,6 +6965,10 @@ msgctxt "incomplete_or_incorrect_data_content_correct_off" msgid "Open Food Facts is a collaborative database, and every contribution is useful for all." msgstr "Open Food Facts is a collaborative database, and every contribution is useful for all." +msgctxt "report_to_nutripatrol_explain" +msgid "If you want to report vandalism, inappropriate content or erroneous data you can't fix yourself, report it to our moderators team." +msgstr "If you want to report vandalism, inappropriate content or erroneous data you can't fix yourself, report it to our moderators team." + msgctxt "description" msgid "Description" msgstr "Description" diff --git a/po/common/en.po b/po/common/en.po index 1558801637a6e..53a7ec7d5c06e 100644 --- a/po/common/en.po +++ b/po/common/en.po @@ -6378,6 +6378,10 @@ msgctxt "action_packager_codes_image" msgid "Take a photo of traceability codes" msgstr "Take a photo of traceability codes" +msgctxt "action_report_product_to_nutripatrol" +msgid "Report this product to our moderators" +msgstr "Report this product to our moderators" + # Used as a header for key facts msgctxt "knowledge_panels_facts" msgid "What you need to know" @@ -6974,6 +6978,10 @@ msgctxt "incomplete_or_incorrect_data_content_correct_off" msgid "Open Food Facts is a collaborative database, and every contribution is useful for all." msgstr "Open Food Facts is a collaborative database, and every contribution is useful for all." +msgctxt "report_to_nutripatrol_explain" +msgid "If you want to report vandalism, inappropriate content or erroneous data you can't fix yourself, report it to our moderators team." +msgstr "If you want to report vandalism, inappropriate content or erroneous data you can't fix yourself, report it to our moderators team." + msgctxt "description" msgid "Description" msgstr "Description" diff --git a/templates/api/knowledge-panels/report_problem/incomplete_or_incorrect_data.tt.json b/templates/api/knowledge-panels/report_problem/incomplete_or_incorrect_data.tt.json index 13015bf8fcad5..011706e2e8498 100644 --- a/templates/api/knowledge-panels/report_problem/incomplete_or_incorrect_data.tt.json +++ b/templates/api/knowledge-panels/report_problem/incomplete_or_incorrect_data.tt.json @@ -17,7 +17,7 @@ "html": ` [% lang('incomplete_or_incorrect_data_content_correct') %] [% lang('incomplete_or_incorrect_data_content_correct_off') %] - ` + ` }, }, { @@ -26,6 +26,23 @@ "html": "", "actions": ["edit_product"] } - } + }, + [% IF panel.nutripatrol_enabled %] + { + "element_type": "text", + "text_element": { + "html": ` + [% lang('report_to_nutripatrol_explain') %] + ` + }, + }, + { + "element_type": "action", + "action_element": { + "html": "", + "actions": ["report_product_to_nutripatrol"] + } + }, + [% END %] ] -} +} \ No newline at end of file diff --git a/tests/integration/expected_test_results/api_v2_product_read/get-fields-all-knowledge-panels.json b/tests/integration/expected_test_results/api_v2_product_read/get-fields-all-knowledge-panels.json index 42c4e6b3d4894..42e66e3caa9c2 100644 --- a/tests/integration/expected_test_results/api_v2_product_read/get-fields-all-knowledge-panels.json +++ b/tests/integration/expected_test_results/api_v2_product_read/get-fields-all-knowledge-panels.json @@ -1351,6 +1351,21 @@ "html" : "" }, "element_type" : "action" + }, + { + "element_type" : "text", + "text_element" : { + "html" : "\n If you want to report vandalism, inappropriate content or erroneous data you can't fix yourself, report it to our moderators team.\n " + } + }, + { + "action_element" : { + "actions" : [ + "report_product_to_nutripatrol" + ], + "html" : "" + }, + "element_type" : "action" } ], "evaluation" : "neutral", diff --git a/tests/integration/expected_test_results/api_v2_product_read/get-fields-attribute-groups-all-knowledge-panels.json b/tests/integration/expected_test_results/api_v2_product_read/get-fields-attribute-groups-all-knowledge-panels.json index 3145d85084916..824a1f8ef942b 100644 --- a/tests/integration/expected_test_results/api_v2_product_read/get-fields-attribute-groups-all-knowledge-panels.json +++ b/tests/integration/expected_test_results/api_v2_product_read/get-fields-attribute-groups-all-knowledge-panels.json @@ -2007,6 +2007,21 @@ "html" : "" }, "element_type" : "action" + }, + { + "element_type" : "text", + "text_element" : { + "html" : "\n If you want to report vandalism, inappropriate content or erroneous data you can't fix yourself, report it to our moderators team.\n " + } + }, + { + "action_element" : { + "actions" : [ + "report_product_to_nutripatrol" + ], + "html" : "" + }, + "element_type" : "action" } ], "evaluation" : "neutral", diff --git a/tests/integration/expected_test_results/api_v2_product_read/get-fields-knowledge-panels-knowledge-panels_excluded-environment_card.json b/tests/integration/expected_test_results/api_v2_product_read/get-fields-knowledge-panels-knowledge-panels_excluded-environment_card.json index b43b03a271b47..726a1d70c7e8a 100644 --- a/tests/integration/expected_test_results/api_v2_product_read/get-fields-knowledge-panels-knowledge-panels_excluded-environment_card.json +++ b/tests/integration/expected_test_results/api_v2_product_read/get-fields-knowledge-panels-knowledge-panels_excluded-environment_card.json @@ -82,6 +82,21 @@ "html" : "" }, "element_type" : "action" + }, + { + "element_type" : "text", + "text_element" : { + "html" : "\n If you want to report vandalism, inappropriate content or erroneous data you can't fix yourself, report it to our moderators team.\n " + } + }, + { + "action_element" : { + "actions" : [ + "report_product_to_nutripatrol" + ], + "html" : "" + }, + "element_type" : "action" } ], "evaluation" : "neutral", diff --git a/tests/integration/expected_test_results/api_v2_product_read/get-knowledge-panels-fr.json b/tests/integration/expected_test_results/api_v2_product_read/get-knowledge-panels-fr.json index 13d87b3a1496f..c0277a41f52aa 100644 --- a/tests/integration/expected_test_results/api_v2_product_read/get-knowledge-panels-fr.json +++ b/tests/integration/expected_test_results/api_v2_product_read/get-knowledge-panels-fr.json @@ -645,6 +645,21 @@ "html" : "" }, "element_type" : "action" + }, + { + "element_type" : "text", + "text_element" : { + "html" : "\n If you want to report vandalism, inappropriate content or erroneous data you can't fix yourself, report it to our moderators team.\n " + } + }, + { + "action_element" : { + "actions" : [ + "report_product_to_nutripatrol" + ], + "html" : "" + }, + "element_type" : "action" } ], "evaluation" : "neutral", diff --git a/tests/integration/expected_test_results/api_v2_product_read/get-knowledge-panels.json b/tests/integration/expected_test_results/api_v2_product_read/get-knowledge-panels.json index 57602bedbbea4..e86c65f270f58 100644 --- a/tests/integration/expected_test_results/api_v2_product_read/get-knowledge-panels.json +++ b/tests/integration/expected_test_results/api_v2_product_read/get-knowledge-panels.json @@ -645,6 +645,21 @@ "html" : "" }, "element_type" : "action" + }, + { + "element_type" : "text", + "text_element" : { + "html" : "\n If you want to report vandalism, inappropriate content or erroneous data you can't fix yourself, report it to our moderators team.\n " + } + }, + { + "action_element" : { + "actions" : [ + "report_product_to_nutripatrol" + ], + "html" : "" + }, + "element_type" : "action" } ], "evaluation" : "neutral", diff --git a/tests/integration/expected_test_results/api_v3_product_read/get-fields-all-knowledge-panels.json b/tests/integration/expected_test_results/api_v3_product_read/get-fields-all-knowledge-panels.json index 39b0d6a150c13..182516fa0c7b6 100644 --- a/tests/integration/expected_test_results/api_v3_product_read/get-fields-all-knowledge-panels.json +++ b/tests/integration/expected_test_results/api_v3_product_read/get-fields-all-knowledge-panels.json @@ -1344,6 +1344,21 @@ "html" : "" }, "element_type" : "action" + }, + { + "element_type" : "text", + "text_element" : { + "html" : "\n If you want to report vandalism, inappropriate content or erroneous data you can't fix yourself, report it to our moderators team.\n " + } + }, + { + "action_element" : { + "actions" : [ + "report_product_to_nutripatrol" + ], + "html" : "" + }, + "element_type" : "action" } ], "evaluation" : "neutral", diff --git a/tests/integration/expected_test_results/api_v3_product_read/get-fields-attribute-groups-all-knowledge-panels.json b/tests/integration/expected_test_results/api_v3_product_read/get-fields-attribute-groups-all-knowledge-panels.json index 14561dcfad3b8..7322d3fe17edd 100644 --- a/tests/integration/expected_test_results/api_v3_product_read/get-fields-attribute-groups-all-knowledge-panels.json +++ b/tests/integration/expected_test_results/api_v3_product_read/get-fields-attribute-groups-all-knowledge-panels.json @@ -1992,6 +1992,21 @@ "html" : "" }, "element_type" : "action" + }, + { + "element_type" : "text", + "text_element" : { + "html" : "\n If you want to report vandalism, inappropriate content or erroneous data you can't fix yourself, report it to our moderators team.\n " + } + }, + { + "action_element" : { + "actions" : [ + "report_product_to_nutripatrol" + ], + "html" : "" + }, + "element_type" : "action" } ], "evaluation" : "neutral", diff --git a/tests/integration/expected_test_results/api_v3_product_read/get-fields-knowledge-panels-knowledge-panels_excluded-environment_card.json b/tests/integration/expected_test_results/api_v3_product_read/get-fields-knowledge-panels-knowledge-panels_excluded-environment_card.json index a3d17dcb6a29d..255506fec5a40 100644 --- a/tests/integration/expected_test_results/api_v3_product_read/get-fields-knowledge-panels-knowledge-panels_excluded-environment_card.json +++ b/tests/integration/expected_test_results/api_v3_product_read/get-fields-knowledge-panels-knowledge-panels_excluded-environment_card.json @@ -82,6 +82,21 @@ "html" : "" }, "element_type" : "action" + }, + { + "element_type" : "text", + "text_element" : { + "html" : "\n If you want to report vandalism, inappropriate content or erroneous data you can't fix yourself, report it to our moderators team.\n " + } + }, + { + "action_element" : { + "actions" : [ + "report_product_to_nutripatrol" + ], + "html" : "" + }, + "element_type" : "action" } ], "evaluation" : "neutral", diff --git a/tests/integration/expected_test_results/api_v3_product_read/get-knowledge-panels-fr.json b/tests/integration/expected_test_results/api_v3_product_read/get-knowledge-panels-fr.json index 410d2591623e8..33a70337e3561 100644 --- a/tests/integration/expected_test_results/api_v3_product_read/get-knowledge-panels-fr.json +++ b/tests/integration/expected_test_results/api_v3_product_read/get-knowledge-panels-fr.json @@ -645,6 +645,21 @@ "html" : "" }, "element_type" : "action" + }, + { + "element_type" : "text", + "text_element" : { + "html" : "\n If you want to report vandalism, inappropriate content or erroneous data you can't fix yourself, report it to our moderators team.\n " + } + }, + { + "action_element" : { + "actions" : [ + "report_product_to_nutripatrol" + ], + "html" : "" + }, + "element_type" : "action" } ], "evaluation" : "neutral", diff --git a/tests/integration/expected_test_results/api_v3_product_read/get-knowledge-panels.json b/tests/integration/expected_test_results/api_v3_product_read/get-knowledge-panels.json index 85e26389d7c9d..ab111f13f562b 100644 --- a/tests/integration/expected_test_results/api_v3_product_read/get-knowledge-panels.json +++ b/tests/integration/expected_test_results/api_v3_product_read/get-knowledge-panels.json @@ -645,6 +645,21 @@ "html" : "" }, "element_type" : "action" + }, + { + "element_type" : "text", + "text_element" : { + "html" : "\n If you want to report vandalism, inappropriate content or erroneous data you can't fix yourself, report it to our moderators team.\n " + } + }, + { + "action_element" : { + "actions" : [ + "report_product_to_nutripatrol" + ], + "html" : "" + }, + "element_type" : "action" } ], "evaluation" : "neutral", diff --git a/tests/integration/expected_test_results/api_v3_product_write/patch-request-fields-updated-attribute-groups-knowledge-panels.json b/tests/integration/expected_test_results/api_v3_product_write/patch-request-fields-updated-attribute-groups-knowledge-panels.json index d2c61ef7076f0..694c28c58e299 100644 --- a/tests/integration/expected_test_results/api_v3_product_write/patch-request-fields-updated-attribute-groups-knowledge-panels.json +++ b/tests/integration/expected_test_results/api_v3_product_write/patch-request-fields-updated-attribute-groups-knowledge-panels.json @@ -460,6 +460,21 @@ "html" : "" }, "element_type" : "action" + }, + { + "element_type" : "text", + "text_element" : { + "html" : "\n If you want to report vandalism, inappropriate content or erroneous data you can't fix yourself, report it to our moderators team.\n " + } + }, + { + "action_element" : { + "actions" : [ + "report_product_to_nutripatrol" + ], + "html" : "" + }, + "element_type" : "action" } ], "evaluation" : "neutral", diff --git a/tests/integration/expected_test_results/data_quality_knowledge_panel/data-quality.json b/tests/integration/expected_test_results/data_quality_knowledge_panel/data-quality.json index 22414cbb8217f..1ebb2ca5d90dd 100644 --- a/tests/integration/expected_test_results/data_quality_knowledge_panel/data-quality.json +++ b/tests/integration/expected_test_results/data_quality_knowledge_panel/data-quality.json @@ -314,6 +314,21 @@ "html" : "" }, "element_type" : "action" + }, + { + "element_type" : "text", + "text_element" : { + "html" : "\n If you want to report vandalism, inappropriate content or erroneous data you can't fix yourself, report it to our moderators team.\n " + } + }, + { + "action_element" : { + "actions" : [ + "report_product_to_nutripatrol" + ], + "html" : "" + }, + "element_type" : "action" } ], "evaluation" : "neutral", diff --git a/tests/integration/expected_test_results/data_quality_knowledge_panel/no-data-quality.json b/tests/integration/expected_test_results/data_quality_knowledge_panel/no-data-quality.json index e532ef647655d..4e6f3ce36ddf6 100644 --- a/tests/integration/expected_test_results/data_quality_knowledge_panel/no-data-quality.json +++ b/tests/integration/expected_test_results/data_quality_knowledge_panel/no-data-quality.json @@ -276,6 +276,21 @@ "html" : "" }, "element_type" : "action" + }, + { + "element_type" : "text", + "text_element" : { + "html" : "\n If you want to report vandalism, inappropriate content or erroneous data you can't fix yourself, report it to our moderators team.\n " + } + }, + { + "action_element" : { + "actions" : [ + "report_product_to_nutripatrol" + ], + "html" : "" + }, + "element_type" : "action" } ], "evaluation" : "neutral", diff --git a/tests/integration/expected_test_results/page_crawler/crawler-access-product-page.html b/tests/integration/expected_test_results/page_crawler/crawler-access-product-page.html index e6bbaf3540177..6d35aff61bcf2 100644 --- a/tests/integration/expected_test_results/page_crawler/crawler-access-product-page.html +++ b/tests/integration/expected_test_results/page_crawler/crawler-access-product-page.html @@ -3482,6 +3482,42 @@

Report a problem

+ + +
+ +
+ + + + +
+ + If you want to report vandalism, inappropriate content or erroneous data you can't fix yourself, report it to our moderators team. + +
+ + + +
+ + +
+
+
+ + + + + +
+ + Report this product to our moderators + +
+ +
diff --git a/tests/integration/expected_test_results/page_crawler/normal-user-access-product-page.html b/tests/integration/expected_test_results/page_crawler/normal-user-access-product-page.html index e6bbaf3540177..6d35aff61bcf2 100644 --- a/tests/integration/expected_test_results/page_crawler/normal-user-access-product-page.html +++ b/tests/integration/expected_test_results/page_crawler/normal-user-access-product-page.html @@ -3482,6 +3482,42 @@

Report a problem

+ + +
+ +
+ + + + +
+ + If you want to report vandalism, inappropriate content or erroneous data you can't fix yourself, report it to our moderators team. + +
+ + + +
+ + +
+
+
+ + + + + +
+ + Report this product to our moderators + +
+ +
diff --git a/tests/integration/expected_test_results/product_read/get-existing-product.html b/tests/integration/expected_test_results/product_read/get-existing-product.html index 4199f152be616..580100666e95f 100644 --- a/tests/integration/expected_test_results/product_read/get-existing-product.html +++ b/tests/integration/expected_test_results/product_read/get-existing-product.html @@ -4658,6 +4658,42 @@

Report a problem

+ + +
+ +
+ + + + +
+ + If you want to report vandalism, inappropriate content or erroneous data you can't fix yourself, report it to our moderators team. + +
+ + + +
+ + +
+
+
+ + + + + +
+ + Report this product to our moderators + +
+ +
diff --git a/tests/integration/expected_test_results/web_html/fr-product-2.html b/tests/integration/expected_test_results/web_html/fr-product-2.html index 9ec9d1b5f9657..de9ca85a6ce95 100644 --- a/tests/integration/expected_test_results/web_html/fr-product-2.html +++ b/tests/integration/expected_test_results/web_html/fr-product-2.html @@ -3625,6 +3625,42 @@

Signaler un problème

+ + +
+ +
+ + + + +
+ + If you want to report vandalism, inappropriate content or erroneous data you can't fix yourself, report it to our moderators team. + +
+ + + +
+ + +
+
+
+ + + + + +
+ + Report this product to our moderators + +
+ +
diff --git a/tests/integration/expected_test_results/web_html/fr-product.html b/tests/integration/expected_test_results/web_html/fr-product.html index e63ff3fc1dbb3..82c15dc2dc112 100644 --- a/tests/integration/expected_test_results/web_html/fr-product.html +++ b/tests/integration/expected_test_results/web_html/fr-product.html @@ -3639,6 +3639,42 @@

Signaler un problème

+ + +
+ +
+ + + + +
+ + If you want to report vandalism, inappropriate content or erroneous data you can't fix yourself, report it to our moderators team. + +
+ + + +
+ + +
+
+
+ + + + + +
+ + Report this product to our moderators + +
+ +
diff --git a/tests/integration/expected_test_results/web_html/world-product.html b/tests/integration/expected_test_results/web_html/world-product.html index 30bea26b97c90..0f40a38546ffb 100644 --- a/tests/integration/expected_test_results/web_html/world-product.html +++ b/tests/integration/expected_test_results/web_html/world-product.html @@ -4213,6 +4213,42 @@

Report a problem

+ + +
+ +
+ + + + +
+ + If you want to report vandalism, inappropriate content or erroneous data you can't fix yourself, report it to our moderators team. + +
+ + + +
+ + +
+
+
+ + + + + +
+ + Report this product to our moderators + +
+ +