Skip to content
This repository has been archived by the owner on Feb 23, 2024. It is now read-only.

Set the origin of custom templates to 'plugin' and fix plugin name on REST requests #5375

Merged
merged 2 commits into from
Dec 15, 2021

Conversation

Aljullu
Copy link
Contributor

@Aljullu Aljullu commented Dec 13, 2021

Fixes #5327.

Templates that had been edited by the user were considered as being theme templates even though they are plugin templates. This PR fixes that setting the origin to plugin in those cases.

This PR also fixes the plugin name, after some investigation I found it must be in the form woocommerce/woocommerce.

Manual Testing

  1. Go to Appearance > Site Editor > Templates.
  2. If you haven't edited any of the WooCommerce templates, edit one and go back to the Templates list.
  3. Verify the WooCommerce edited template has the plugin icon (plug) instead of the theme icon (icon of a webpage).
  4. Verify it shows the plugin name as WooCommerce instead of woocommerce (notice the capital letters).
  5. Verify there were no 404 calls made when loading the page.
Before After
imatge imatge

Note: This PR introduces a regression, the 'blue' circle on top of the icon indicating that it has been customized by the user does not appear when the origin is a plugin. I think that's a bug in Gutenberg and I created a PR in that repo: WordPress/gutenberg#37329.

User Facing Testing

These are steps for user testing (where "user" is someone interacting with this change that is not editing any code).

  • Same as above, or
  • See steps below.

Changelog

Site Editor template list: Fix wrong icon displayed on WooCommerce templates after they have been edited.

@Aljullu Aljullu self-assigned this Dec 13, 2021
@rubikuserbot rubikuserbot requested review from a team and dinhtungdu and removed request for a team December 13, 2021 14:18
@github-actions
Copy link
Contributor

github-actions bot commented Dec 13, 2021

Size Change: 0 B

Total Size: 819 kB

ℹ️ View Unchanged
Filename Size
build/active-filters-frontend.js 6.21 kB
build/active-filters.js 7.05 kB
build/all-products-frontend.js 18.6 kB
build/all-products.js 34.4 kB
build/all-reviews.js 8.35 kB
build/atomic-block-components/add-to-cart--atomic-block-components/button--atomic-block-components/image---a7e2bb9b.js 2.76 kB
build/atomic-block-components/add-to-cart--atomic-block-components/button.js 1.48 kB
build/atomic-block-components/add-to-cart-frontend.js 6.87 kB
build/atomic-block-components/add-to-cart.js 6.42 kB
build/atomic-block-components/button-frontend.js 1.48 kB
build/atomic-block-components/button.js 849 B
build/atomic-block-components/category-list-frontend.js 457 B
build/atomic-block-components/category-list.js 458 B
build/atomic-block-components/image-frontend.js 1.37 kB
build/atomic-block-components/image.js 1.05 kB
build/atomic-block-components/price-frontend.js 1.74 kB
build/atomic-block-components/price.js 1.69 kB
build/atomic-block-components/rating-frontend.js 552 B
build/atomic-block-components/rating.js 553 B
build/atomic-block-components/sale-badge-frontend.js 625 B
build/atomic-block-components/sale-badge.js 622 B
build/atomic-block-components/sku-frontend.js 386 B
build/atomic-block-components/sku.js 385 B
build/atomic-block-components/stock-indicator-frontend.js 584 B
build/atomic-block-components/stock-indicator.js 586 B
build/atomic-block-components/summary-frontend.js 872 B
build/atomic-block-components/summary.js 872 B
build/atomic-block-components/tag-list-frontend.js 458 B
build/atomic-block-components/tag-list.js 458 B
build/atomic-block-components/title-frontend.js 1.11 kB
build/atomic-block-components/title.js 1.1 kB
build/attribute-filter-frontend.js 16.3 kB
build/attribute-filter.js 12.7 kB
build/blocks-checkout.js 17.6 kB
build/cart-blocks/accepted-payment-methods-frontend.js 1.15 kB
build/cart-blocks/checkout-button-frontend.js 1.14 kB
build/cart-blocks/empty-cart-frontend.js 345 B
build/cart-blocks/express-payment-frontend.js 4.86 kB
build/cart-blocks/filled-cart-frontend.js 766 B
build/cart-blocks/items-frontend.js 298 B
build/cart-blocks/line-items-frontend.js 5.13 kB
build/cart-blocks/order-summary-frontend.js 8.98 kB
build/cart-blocks/totals-frontend.js 320 B
build/cart-frontend.js 45.6 kB
build/cart.js 44.2 kB
build/checkout-blocks/actions-frontend.js 1.44 kB
build/checkout-blocks/billing-address--checkout-blocks/shipping-address-frontend.js 4.24 kB
build/checkout-blocks/billing-address-frontend.js 884 B
build/checkout-blocks/contact-information-frontend.js 2.93 kB
build/checkout-blocks/express-payment-frontend.js 5.15 kB
build/checkout-blocks/fields-frontend.js 343 B
build/checkout-blocks/order-note-frontend.js 1.13 kB
build/checkout-blocks/order-summary-frontend.js 11.4 kB
build/checkout-blocks/payment-frontend.js 7.41 kB
build/checkout-blocks/shipping-address-frontend.js 971 B
build/checkout-blocks/shipping-methods-frontend.js 4.81 kB
build/checkout-blocks/terms-frontend.js 1.21 kB
build/checkout-blocks/totals-frontend.js 324 B
build/checkout-frontend.js 47.7 kB
build/checkout.js 47.1 kB
build/featured-category.js 8.55 kB
build/featured-product.js 9.9 kB
build/handpicked-products.js 7.32 kB
build/legacy-template.js 2.08 kB
build/mini-cart-component-frontend.js 14.2 kB
build/mini-cart-contents.js 3.46 kB
build/mini-cart-frontend.js 1.76 kB
build/mini-cart.js 6.65 kB
build/price-filter-frontend.js 12.4 kB
build/price-filter.js 8.6 kB
build/price-format.js 1.18 kB
build/product-best-sellers.js 7.51 kB
build/product-categories.js 3.47 kB
build/product-category.js 8.35 kB
build/product-new.js 7.66 kB
build/product-on-sale.js 8.05 kB
build/product-search.js 2.46 kB
build/product-tag.js 7.76 kB
build/product-top-rated.js 7.63 kB
build/products-by-attribute.js 8.48 kB
build/reviews-by-category.js 11.8 kB
build/reviews-by-product.js 12.9 kB
build/reviews-frontend.js 7.24 kB
build/single-product-frontend.js 22.1 kB
build/single-product.js 10.4 kB
build/stock-filter-frontend.js 6.81 kB
build/stock-filter.js 6.82 kB
build/vendors--atomic-block-components/add-to-cart--cart-blocks/order-summary--checkout-blocks/billing-ad--c5eb4dcd-frontend.js 18.9 kB
build/vendors--atomic-block-components/add-to-cart-frontend.js 6.82 kB
build/vendors--atomic-block-components/price--cart-blocks/line-items--cart-blocks/order-summary--checkout--8a3571de-frontend.js 5.71 kB
build/vendors--cart-blocks/line-items--checkout-blocks/order-summary-frontend.js 3.14 kB
build/vendors--cart-blocks/order-summary--checkout-blocks/billing-address--checkout-blocks/order-summary---eb4d2cec-frontend.js 4.75 kB
build/wc-blocks-data.js 8.84 kB
build/wc-blocks-editor-style-rtl.css 4.4 kB
build/wc-blocks-editor-style.css 4.4 kB
build/wc-blocks-google-analytics.js 1.56 kB
build/wc-blocks-middleware.js 949 B
build/wc-blocks-registry.js 2.7 kB
build/wc-blocks-shared-context.js 1.51 kB
build/wc-blocks-shared-hocs.js 1.14 kB
build/wc-blocks-style-rtl.css 21.6 kB
build/wc-blocks-style.css 21.6 kB
build/wc-blocks-vendors-style-rtl.css 1.28 kB
build/wc-blocks-vendors-style.css 1.28 kB
build/wc-blocks-vendors.js 65.5 kB
build/wc-blocks.js 2.96 kB
build/wc-payment-method-bacs.js 820 B
build/wc-payment-method-cheque.js 816 B
build/wc-payment-method-cod.js 912 B
build/wc-payment-method-paypal.js 838 B
build/wc-payment-method-stripe.js 11.1 kB
build/wc-settings.js 2.6 kB

compressed-size-action

@Aljullu Aljullu force-pushed the fix/custom-templates-plugin-origin branch from 0007c48 to 63b0d93 Compare December 13, 2021 15:58
@Aljullu Aljullu added focus: FSE Work related to prepare WooCommerce for FSE. status: needs review focus: template Related to API powering block template functionality in the Site Editor labels Dec 13, 2021
@Aljullu Aljullu requested a review from gigitux December 13, 2021 16:07
@Aljullu Aljullu changed the title Set the origin of custom templates to 'plugin' Set the origin of custom templates to 'plugin' and fix plugin name on REST requests Dec 13, 2021
Copy link
Contributor

@gigitux gigitux left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

The only thing that is not clear to me: what does the theme variable represent?

@Aljullu
Copy link
Contributor Author

Aljullu commented Dec 15, 2021

Thanks for the review @gigitux!

The only thing that is not clear to me: what does the theme variable represent?

That's what Gutenberg uses to know what's the theme/plugin the template belongs to. I agree it's confusing using theme when the template belongs to a plugin. I opened an issue in Gutenberg to know their thoughts on that: WordPress/gutenberg#37401.

@Aljullu Aljullu merged commit 49943fd into trunk Dec 15, 2021
@Aljullu Aljullu deleted the fix/custom-templates-plugin-origin branch December 15, 2021 10:56
jonny-bull pushed a commit to jonny-bull/woocommerce-gutenberg-products-block that referenced this pull request Dec 16, 2021
… REST requests (woocommerce#5375)

* Set the origin of custom WC templates to 'plugin'

* Fix plugin name
This was referenced Dec 17, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
focus: FSE Work related to prepare WooCommerce for FSE. focus: template Related to API powering block template functionality in the Site Editor
Projects
None yet
Development

Successfully merging this pull request may close these issues.

WooCommerce templates: two 404 requests when loading the templates list
2 participants