magento2 icon indicating copy to clipboard operation
magento2 copied to clipboard

GraphQL categories field under ProductInterface contains disabled categories

Open edas11 opened this issue 1 year ago • 3 comments

Preconditions and environment

  • Magento version: magento/product-enterprise-edition 2.4.5-p7
  • PWA studio version: 12.6.0

Steps to reproduce

  1. Assign a disabled category to a product.
  2. Call getProductDetailForProductPage PWA studio graphql query with $urlKey equal to the url key of product from step 1. Query is similar to this one:
        products(filter: { url_key: { eq: $urlKey } }) {
            items {
                id
                uid
                categories {
                    id
                    uid
                    name
                    breadcrumbs {
                        category_uid
                    }
                }
                // Other product fields
            }
        }
    }

Expected result

The categories field in the response contains only active categories.

Actual result

The categories field in the response contains both active and disabled categories.

Additional information

The following patch for magento/module-catalog-graph-ql seems to fix the issue.

--- a/Model/Resolver/Categories.php	2024-06-21 09:45:39.372791239 +0300
+++ b/Model/Resolver/Categories.php	2024-06-21 09:53:11.208634862 +0300
@@ -123,6 +123,7 @@
                 if (!$this->collection->isLoaded()) {
                     $that->attributesJoiner->join($info->fieldNodes[0], $this->collection, $info);
                     $this->collection->addIdFilter($this->categoryIds);
+                    $this->collection->addIsActiveFilter();
                 }
                 /** @var CategoryInterface | \Magento\Catalog\Model\Category $item */
                 foreach ($this->collection as $item) {

Release note

No response

Triage and priority

  • [ ] Severity: S0 - Affects critical data or functionality and leaves users without workaround.
  • [ ] Severity: S1 - Affects critical data or functionality and forces users to employ a workaround.
  • [X] Severity: S2 - Affects non-critical data or functionality and forces users to employ a workaround.
  • [ ] Severity: S3 - Affects non-critical data or functionality and does not force users to employ a workaround.
  • [ ] Severity: S4 - Affects aesthetics, professional look and feel, “quality” or “usability”.

edas11 avatar Jun 21 '24 09:06 edas11

Hi @edas11. Thank you for your report. To speed up processing of this issue, make sure that the issue is reproducible on the vanilla Magento instance following Steps to reproduce. To deploy vanilla Magento instance on our environment, Add a comment to the issue:


Join Magento Community Engineering Slack and ask your questions in #github channel. :warning: According to the Magento Contribution requirements, all issues must go through the Community Contributions Triage process. Community Contributions Triage is a public meeting. :clock10: You can find the schedule on the Magento Community Calendar page. :telephone_receiver: The triage of issues happens in the queue order. If you want to speed up the delivery of your contribution, join the Community Contributions Triage session to discuss the appropriate ticket.

m2-assistant[bot] avatar Jun 21 '24 09:06 m2-assistant[bot]

Hi @engcom-Delta. Thank you for working on this issue. In order to make sure that issue has enough information and ready for development, please read and check the following instruction: :point_down:

  • [ ] 1. Verify that issue has all the required information. (Preconditions, Steps to reproduce, Expected result, Actual result).
  • [ ] 2. Verify that issue has a meaningful description and provides enough information to reproduce the issue.
  • [ ] 3. Add Area: XXXXX label to the ticket, indicating the functional areas it may be related to.
  • [ ] 4. Verify that the issue is reproducible on 2.4-develop branch
    Details- Add the comment @magento give me 2.4-develop instance to deploy test instance on Magento infrastructure.
    - If the issue is reproducible on 2.4-develop branch, please, add the label Reproduced on 2.4.x.
    - If the issue is not reproducible, add your comment that issue is not reproducible and close the issue and stop verification process here!
  • [ ] 5. Add label Issue: Confirmed once verification is complete.
  • [ ] 6. Make sure that automatic system confirms that report has been added to the backlog.

m2-assistant[bot] avatar Jun 21 '24 10:06 m2-assistant[bot]

Hi @edas11 ,

Verified the issue on 2.4-develop and we are not able to reproduce this issue.

Preconditions and environment

Steps to reproduce:-

1.Assign a disabled category to a product. 2.Graphql query with $urlKey equal to the url key of product from step 1.

Actual result: The categories field in the response contains only disabled category.

product details

Screenshot 2024-06-27 at 11 00 13 PM Screenshot 2024-06-27 at 11 00 23 PM

product assigned to disabled category

Screenshot 2024-06-27 at 11 01 02 PM

Graphql result

Screenshot 2024-06-27 at 11 01 30 PM

Please refer the attached screenshots and let us know if we missed anything.

engcom-Delta avatar Jun 27 '24 17:06 engcom-Delta

Hi @edas11 ,

Awaiting your reply on this issue to move further.

Thanks,

engcom-Delta avatar Jul 04 '24 12:07 engcom-Delta

Hi @edas11,

We have noticed that this issue has not been updated since long time.
Hence we assume that this issue is fixed now, so we are closing it. Please feel to raise a fresh ticket or reopen this ticket if you need more assistance on this.

Thanks.

engcom-Bravo avatar Jul 09 '24 05:07 engcom-Bravo