diff --git a/lib/ProductOpener/KnowledgePanels.pm b/lib/ProductOpener/KnowledgePanels.pm index 6b4affdb8f414..edf7681387c5d 100644 --- a/lib/ProductOpener/KnowledgePanels.pm +++ b/lib/ProductOpener/KnowledgePanels.pm @@ -197,15 +197,24 @@ sub create_knowledge_panels ($product_ref, $target_lc, $target_cc, $options_ref) create_health_card_panel($product_ref, $target_lc, $target_cc, $options_ref); create_environment_card_panel($product_ref, $target_lc, $target_cc, $options_ref); - create_report_problem_card_panel($product_ref, $target_lc, $target_cc, $options_ref); + my $has_report_problem_card; + if (not $options_ref->{producers_platform}) { + $has_report_problem_card = create_report_problem_card_panel($product_ref, $target_lc, $target_cc, $options_ref); + } my $has_contribution_card = create_contribution_card_panel($product_ref, $target_lc, $target_cc, $options_ref); # Create the root panel that contains the panels we want to show directly on the product page create_panel_from_json_template( "root", "api/knowledge-panels/root.tt.json", - {has_contribution_card => $has_contribution_card}, - $product_ref, $target_lc, $target_cc, $options_ref + { + has_report_problem_card => $has_report_problem_card, + has_contribution_card => $has_contribution_card + }, + $product_ref, + $target_lc, + $target_cc, + $options_ref ); return; } diff --git a/lib/ProductOpener/KnowledgePanelsReportProblem.pm b/lib/ProductOpener/KnowledgePanelsReportProblem.pm index 75ce17b8abcb5..e9e9884bff7ff 100644 --- a/lib/ProductOpener/KnowledgePanelsReportProblem.pm +++ b/lib/ProductOpener/KnowledgePanelsReportProblem.pm @@ -81,7 +81,6 @@ sub create_report_problem_card_panel ($product_ref, $target_lc, $target_cc, $opt $log->debug("create contribution card panel", {code => $product_ref->{code}}) if $log->is_debug(); my @panels = (); - my $panel_data_ref = {}; # TODO: add a panel to display the consumer service contact information if we have it # for the owner of the product. Otherwise, warn that we don't make or sell the product @@ -92,7 +91,7 @@ sub create_report_problem_card_panel ($product_ref, $target_lc, $target_cc, $opt create_panel_from_json_template( "incomplete_or_incorrect_data", "api/knowledge-panels/report_problem/incomplete_or_incorrect_data.tt.json", - $panel_data_ref, $product_ref, $target_lc, $target_cc, $options_ref + {}, $product_ref, $target_lc, $target_cc, $options_ref ); push(@panels, "incomplete_or_incorrect_data"); @@ -107,7 +106,7 @@ sub create_report_problem_card_panel ($product_ref, $target_lc, $target_cc, $opt create_panel_from_json_template( "fr_report_product_signalconso", "api/knowledge-panels/report_problem/fr_report_product_signalconso.tt.json", - $panel_data_ref, $product_ref, $target_lc, $target_cc, $options_ref + {}, $product_ref, $target_lc, $target_cc, $options_ref ); push(@panels, "fr_report_product_signalconso"); } @@ -117,7 +116,7 @@ sub create_report_problem_card_panel ($product_ref, $target_lc, $target_cc, $opt "api/knowledge-panels/report_problem/report_problem_card.tt.json", $panel_data_ref, $product_ref, $target_lc, $target_cc, $options_ref); - return; + return 1; } 1; diff --git a/templates/api/knowledge-panels/report_problem/fr_report_product_signalconso.tt.json b/templates/api/knowledge-panels/report_problem/fr_report_product_signalconso.tt.json index def790d4b53b5..1f71da2273b7b 100644 --- a/templates/api/knowledge-panels/report_problem/fr_report_product_signalconso.tt.json +++ b/templates/api/knowledge-panels/report_problem/fr_report_product_signalconso.tt.json @@ -17,8 +17,8 @@ "html": ` Vous avez rencontré un problème avec ce produit : étiquetage non conforme, produit périmé encore en vente, présence d'un corps étranger, etc. ?
-Faites un signalement à l'entreprise et à la répression des fraudes sur SignalConso, un outil de la -Direction générale de la concurrence, de la consommation et de la répression des fraudes (DGCCRF). +Faites un signalement à l'entreprise et à la répression des fraudes sur SignalConso, +un outil de la Direction générale de la concurrence, de la consommation et de la répression des fraudes (DGCCRF). ` }, }, diff --git a/templates/api/knowledge-panels/root.tt.json b/templates/api/knowledge-panels/root.tt.json index e17e24d623071..6a70100975474 100644 --- a/templates/api/knowledge-panels/root.tt.json +++ b/templates/api/knowledge-panels/root.tt.json @@ -14,12 +14,14 @@ "panel_id": "environment_card", }, }, + [% IF panel.has_report_problem_card %] { "element_type": "panel", "panel_element": { "panel_id": "report_problem_card", }, - }, + }, + [% END %] [% IF panel.has_contribution_card %] { "element_type": "panel", diff --git a/templates/web/pages/product/product_page.tt.html b/templates/web/pages/product/product_page.tt.html index 5c20fcc2e0458..79a04128341ee 100755 --- a/templates/web/pages/product/product_page.tt.html +++ b/templates/web/pages/product/product_page.tt.html @@ -230,9 +230,6 @@

[% lang('matching_with_your_preferences') %]

- - -

[% lang('product_other_information') %]

@@ -243,8 +240,10 @@

[% lang('product_other_in

- [% END %] +[% END %] + +[% IF ! server_options_producers_platform %]
@@ -254,6 +253,7 @@

[% lang('product_other_in

+[% END %] [% IF server_options_producers_platform %] 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 3455a5c120ff9..386812c063610 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 @@ -3257,6 +3257,8 @@

Transportation

+ +
@@ -3375,6 +3377,7 @@

Report a problem

+ 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 3455a5c120ff9..386812c063610 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 @@ -3257,6 +3257,8 @@

Transportation

+ +
@@ -3375,6 +3377,7 @@

Report a problem

+ 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 bb61fd9b2427b..7d34d6cf8c7d6 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 @@ -3852,6 +3852,8 @@

Threatened species

+ +
@@ -3970,6 +3972,7 @@

Report a problem

+ 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 45699b031dbce..5f6b94b8f321e 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 @@ -3453,6 +3453,8 @@

Espèces menacées

+ +
@@ -3612,8 +3614,8 @@

Signaler un problème

Vous avez rencontré un problème avec ce produit : étiquetage non conforme, produit périmé encore en vente, présence d'un corps étranger, etc. ?
-Faites un signalement à l'entreprise et à la répression des fraudes sur SignalConso, un outil de la -Direction générale de la concurrence, de la consommation et de la répression des fraudes (DGCCRF). +Faites un signalement à l'entreprise et à la répression des fraudes sur SignalConso, +un outil de la Direction générale de la concurrence, de la consommation et de la répression des fraudes (DGCCRF).
@@ -3648,6 +3650,7 @@

Signaler un problème

+ 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 9f53971987956..8ba433edbf248 100644 --- a/tests/integration/expected_test_results/web_html/fr-product.html +++ b/tests/integration/expected_test_results/web_html/fr-product.html @@ -3467,6 +3467,8 @@

Espèces menacées

+ +
@@ -3626,8 +3628,8 @@

Signaler un problème

Vous avez rencontré un problème avec ce produit : étiquetage non conforme, produit périmé encore en vente, présence d'un corps étranger, etc. ?
-Faites un signalement à l'entreprise et à la répression des fraudes sur SignalConso, un outil de la -Direction générale de la concurrence, de la consommation et de la répression des fraudes (DGCCRF). +Faites un signalement à l'entreprise et à la répression des fraudes sur SignalConso, +un outil de la Direction générale de la concurrence, de la consommation et de la répression des fraudes (DGCCRF).
@@ -3662,6 +3664,7 @@

Signaler un problème

+ 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 a98b02be367d5..aaeef8bf6d4b5 100644 --- a/tests/integration/expected_test_results/web_html/world-product.html +++ b/tests/integration/expected_test_results/web_html/world-product.html @@ -3482,6 +3482,8 @@

Threatened species

+ +
@@ -3600,6 +3602,7 @@

Report a problem

+