Please refer first to UPGRADE.md for the most important items that should be addressed before attempting to upgrade or during the upgrade of a vanilla Oro application.
The current file describes significant changes in the code that may affect the upgrade of your customizations.
- Added two additional permissions
RENAME_SHOPPING_LIST
andSET_AS_DEFAULT_SHOPPING_LIST
related to the ShoppingList entity management functionality. - Added the
oro_shopping_list_frontend_url
twig function which will help to display a link to the shopping list in accordance with user permissions.
- The shopping list page has been completely redesigned. Removed all layout config, styles, javascript, translations, etc. related to the old design.
oro_website_search.event.website_search_mapping.configuration
event dispatches withOro\Bundle\SearchBundle\Event\SearchMappingCollectEvent
event class that have configuration loaded from config files. So event have full access to configuration.- The merge of website search mapping config after the
oro_website_search.event.website_search_mapping.configuration
event was dispatched has been removed. At listeners please add full configuration that do not need additional processing with config processor.
- Removed long-unused
oro_customer_menu
layout import from all bundles.
- Removed the
oro_product.matrix_form_on_shopping_list
option from the system configuration.
- Method
Oro\Bundle\ShoppingListBundle\Entity\Repository\LineItemRepository::findDuplicate()
is removed, useOro\Bundle\ShoppingListBundle\Entity\Repository\LineItemRepository::findDuplicateInShoppingList()
instead. - Methods
Oro\Bundle\ShoppingListBundle\Entity\Repository\LineItemRepository::deleteItemsByShoppingListAndInventoryStatuses()
,Oro\Bundle\ShoppingListBundle\Entity\Repository\LineItemRepository::deleteDisabledItemsByShoppingList()
are removed, useOro\Bundle\ShoppingListBundle\Entity\Repository\LineItemRepository::deleteNotAllowedLineItemsFromShoppingList()
instead. - Removed the following layout block types:
shopping_list_owner_select_block
shopping_list_line_items_list
shopping_lists_menu
- Removed the following layout data providers:
oro_shopping_list_product_unit_code_visibility
shopping_list_form_availability_provider
oro_shopping_list_matrix_grid_shopping_list
oro_shopping_list_products_units
- Removed the
oro_shoppinglist_frontend_duplicate
operation. Theoro_shoppinglist_frontend_duplicate_action
operation is now used.
- Removed
Oro\Bundle\WebsiteSearchBundle\Event\WebsiteSearchMappingEvent
event class and usedOro\Bundle\SearchBundle\Event\SearchMappingCollectEvent
class instead of. - Removed
Oro\Bundle\WebsiteSearchBundle\Provider\WebsiteSearchMappingProvider
and used\Oro\Bundle\SearchBundle\Provider\SearchMappingProvider
class instead of.
- The name for
/admin/api/requests
REST API resource was changed to/admin/api/rfqs
. - The name for
/admin/api/requestproducts
REST API resource was changed to/admin/api/rfqproducts
. - The name for
/admin/api/requestproductitems
REST API resource was changed to/admin/api/rfqproductitems
. - The name for
/admin/api/requestadditionalnotes
REST API resource was changed to/admin/api/rfqadditionalnotes
. - The name for
/admin/api/rfpcustomerstatuses
REST API resource was changed to/admin/api/rfqcustomerstatuses
. - The name for
/admin/api/rfpinternalstatuses
REST API resource was changed to/admin/api/rfqinternalstatuses
.
- The
unique_job_slug
option was removed during sending the import price list MQ message.
*.class
parameters for all entities were removed from the dependency injection container. The entity class names should be used directly, e.g.'Oro\Bundle\EmailBundle\Entity\Email'
instead of'%oro_email.email.entity.class%'
(in service definitions, datagrid config files, placeholders, etc.), and\Oro\Bundle\EmailBundle\Entity\Email::class
instead of$container->getParameter('oro_email.email.entity.class')
(in PHP code).
- The trait
Oro\Component\Cache\Layout\DataProviderCacheTrait
was removed as it added additional complexity to cacheable layout data providers instead of simplify them. - The unneeded class
Oro\Component\Cache\Layout\DataProviderCacheCleaner
was removed.
- The
getName()
method was removed fromOro\Bundle\PricingBundle\SubtotalProcessor\Model\SubtotalProviderInterface
. Use thealias
attribute of theoro_pricing.subtotal_provider
DIC tag instead.
- The handling of
priority
attribute fororo_promotion.discount_context_converter
,oro_promotion.promotion_context_converter
andoro_promotion.discount_strategy
DIC tags was changed to correspond Symfony recommendations. If you have services with these tags, change the sign of the priority value for them. E.g.{ name: oro_promotion.discount_context_converter, priority: 100 }
should be changed to{ name: oro_promotion.discount_context_converter, priority: -100 }
- The
getProcessingClassName()
method was removed fromOro\Bundle\TaxBundle\Mapper\TaxMapperInterface
. Use theclass
attribute of theoro_tax.tax_mapper
DIC tag instead. - The
getName()
method was removed fromOro\Bundle\TaxBundle\Provider\TaxProviderInterface
. Use thealias
attribute of theoro_tax.tax_provider
DIC tag instead.
- Added WYSIWYG field to Entity Manager. Read more in documentation how to change TextArea field to WYSIWYG field
- Methods
getApiResourceClassName()
andgetApiResourceIdentifierDqlExpression()
were added toOro\Bundle\WebCatalogBundle\ContentVariantType\SystemPageContentVariantType
.
- A new "home-page-slider" content widget is added which makes possible to dynamically modify slider settings as well
as content of each slide. If you install application from a scratch new slider will be available out of the box. But
you should consider to upgrade custom slider while application update. For this you need to modify "home-page-slider"
widget to have same look as old one. And replace content of "home-page-slider" content block to
"{{ widget("home-page-slider") }}". It will render slider via widget.
- The
_web_content_scope
request attribute was removed. UseOro\Bundle\WebCatalogBundle\Provider\RequestWebContentScopeProvider
to get the current scope. This class loads the scope on demand. - The
_content_variant
request attribute was removed. UseOro\Bundle\WebCatalogBundle\Provider\RequestWebContentVariantProvider
to get the current content variant. This class loads the content variant on demand.
- The
current_website
request attribute was removed. To get the current website from HTTP requestOro\Bundle\WebsiteBundle\Provider\RequestWebsiteProvider
was added. This class loads the website on demand.
- The
removeProductFromViewAction
inOro\Bundle\ShoppingListBundle\Controller\Frontend\AjaxLineItemController
(oro_shopping_list_frontend_remove_product
route) now support onlyDELETE
method insteadofPOST
.
- Event
oro_payment.event.extract_line_item_options
will no longer be dispatched. Implementations ofOro\Bundle\PayPalBundle\OptionsProvider\OptionsProviderInterface
will be used instead. - Event
oro_payment.event.extract_address_options
will no longer be dispatched. ClassPaymentOrderShippingAddressOptionsProvider
will be used instead.
- In
Oro\Bundle\PaymentBundle\Controller\Api\Rest\PaymentMethodsConfigsRuleController::enableAction
(/paymentrules/{id}/enable
path) action the request method was changed to POST. - In
Oro\Bundle\PaymentBundle\Controller\Api\Rest\PaymentMethodsConfigsRuleController::disableAction
(/paymentrules/{id}/disable
path) action the request method was changed to POST.
- In
Oro\Bundle\PricingBundle\Controller\AjaxPriceListController::defaultAction
(oro_pricing_price_list_default
route) action the request method was changed to POST. - In
Oro\Bundle\PricingBundle\Controller\AjaxProductPriceController::deleteAction
(oro_pricing_price_list_default
route) action the request method was changed to DELETE.
- In
Oro\Bundle\SaleBundle\Controller\AjaxQuoteController::entryPointAction
(oro_quote_entry_point
route) action the request method was changed to POST.
- In
Oro\Bundle\ShippingBundle\Controller\Api\Rest\ShippingMethodsConfigsRuleController::enableAction
(/shippingrules/{id}/enable
path) action the request method was changed to POST. - In
Oro\Bundle\ShippingBundle\Controller\Api\Rest\ShippingMethodsConfigsRuleController::disableAction
(/shippingrules/{id}/disable
path) action the request method was changed to POST.
- In
Oro\Bundle\ShoppingListBundle\Controller\Frontend\AjaxLineItemController::addProductFromViewAction
(oro_shopping_list_frontend_add_product
route) action the request method was changed to POST.
- Introduced concept of import/export owner. Applied approach with role-based owner-based permissions to the export and import functionality.
- Option
--email
has become required fororo:import:price-list:file
command. Oro\Bundle\WebsiteSearchBundle\Attribute\Type\SearchAttributeTypeInterface
:- all methods from the removed
Oro\Bundle\WebsiteSearchBundle\Attribute\Type\SearchableAttributeTypeInterface
exceptgetFilterStorageFieldType
andgetFilterableFieldName
are moved to this interface.
- all methods from the removed
- Service
oro_website_search.async_messaging.search_message.processor.job_runner
was removed, that trigger duplicated messages to the message queue with topics:oro.website.search.indexer.save
oro.website.search.indexer.delete
oro.website.search.indexer.reset_index
oro.website.search.indexer.reindex
- Changes in
/admin/api/orderaddresses
REST API resource:- the attribute
created
was renamed tocreatedAt
- the attribute
updated
was renamed toupdatedAt
- the attribute
- Functionality related to the currently active shopping list was moved from
Oro\Bundle\ShoppingListBundle\Manager\ShoppingListManager
toOro\Bundle\ShoppingListBundle\Manager\CurrentShoppingListManager
. The service id for the CurrentShoppingListManager isoro_shopping_list.manager.current_shopping_list
. - Service
oro_shopping_list.shopping_list.manager
was renamed tooro_shopping_list.manager.shopping_list
.
- Method
validateReindexRequest
atOro\Bundle\WebsiteSearchBundle\Engine\IndexerInputValidator
was renamed tovalidateRequestParameters
- Added a listener to the
oro_product.display_simple_variations
config field that cleans the product and category layout cache when changes occur.
- Removed listener
oro_product.event_listener.restrict.display_product_variations
. The serviceoro_product.config.event_listener.display_simple_variations_listener
is used instead. - Removed listener
oro_product.event_listener.datagrid.frontend_product_search.display_product_variations
. The serviceoro_product.config.event_listener.display_simple_variations_listener
is used instead.
- Improved caching of home page, added
Oro\Component\Cache\Layout\DataProviderCacheTrait
to the following layout data providers:Oro\Bundle\CatalogBundle\Layout\DataProvider\CategoriesProductsProvider
(=data["featured_categories"].getAll()
)Oro\Bundle\CatalogBundle\Layout\DataProvider\FeaturedCategoriesProvider
(=data["categories_products"].getCountByCategories()
)
- Improved security of pricing rules cache, added hash to stored data to track consistency. Old caches will be recalculated automatically.
- Class
Oro\Bundle\PricingBundle\Cache\RuleCache
- method
__construct
added dependency onOro\Bundle\SecurityBundle\Encoder\SymmetricCrypterInterface
- method
- Class
Oro\Bundle\CatalogBundle\Model\ExtendProduct
:- method
setCategory
was added - method
getCategory
was added - property
category_id
was added
- method
- Improved security of segment products provider cache, added hash to stored data to track consistency. Old caches should me removed as inconsistent.
- Class
Oro\Bundle\ProductBundle\Layout\DataProvider\AbstractSegmentProductsProvider
- method
__construct
added dependency onOro\Bundle\SecurityBundle\Encoder\SymmetricCrypterInterface
- method
- Operation
oro_accept_quote
renamed tooro_sale_accept_quote
and moved toSaleBundle
- Layout data provider method
=data["featured_categories"].getAll()
returns data in format[['id' => %d, 'title' => %s, 'small_image' => %s], [...], ...]
- Relation between Category and Product has been changed from ManyToMany unidirectional with joining table to ManyToOne bidirectional.
- Class
Oro\Bundle\CatalogBundle\Entity\Category
:- method
setProducts
was moved toOro\Bundle\CatalogBundle\Model\ExtendCategory
- method
getProducts
was moved toOro\Bundle\CatalogBundle\Model\ExtendCategory
- method
addProduct
was moved toOro\Bundle\CatalogBundle\Model\ExtendCategory
- method
removeProducts
was moved toOro\Bundle\CatalogBundle\Model\ExtendCategory
- property
products
was moved toOro\Bundle\CatalogBundle\Model\ExtendCategory
- method
- Operation
oro_checkout_frontend_quote_submit_to_order
renamed tooro_sale_frontend_quote_submit_to_order
and moved toSaleBundle
- Now enabled tax provider in system config is a main point for tax calculation instead of TaxManager (look at the TaxProviderInterface). Read more in documentation how to setup custom tax provider.
- The
CategoryRepository::getCategoriesProductsCountQueryBuilder
is deprecated. Not using.
- Removed
oro_category_to_product
joining table.
- Added
CheckoutLineItem
andCheckoutSubtotal
entities. They will be used inCheckout
entity to store data. Previously for these purposes used line items and subtotals of Checkout source entity (ShoppingList
orQuoteDemand
entities).
- Added Previously purchased products functionality. Documentation
- Added new email template
request_create_confirmation
. It will be send when guest customer user create new request for quote. - Added new twig function
rfp_products
that returns list of request products (formatted) for current request for quote. Can be used in email templates.
- Added interface
Oro\Bundle\WebsiteSearchBundle\Attribute\Type\SearchableAttributeTypeInterface
that should be implemented in case new type of arguments added.
- Added interface
Oro\Bundle\RedirectBundle\Cache\UrlCacheInterface
that should be implemented by URL cache services. - Added interface
Oro\Bundle\RedirectBundle\Provider\SluggableUrlProviderInterface
that should be implemented by URL providers. - Added new URL caches:
key_value
andlocal
. Previous implementation was registered withstorage
key and was set by default. - Added Sluggable URL providers which are used by URL generator. This service encapsulate logic related to semantic URL retrieval.
Was added 2 provider implementations:
database
andcache
.database
is set by default. - Added DI parameter
oro_redirect.url_cache_type
for URL cache configuration - Added DI parameter
oro_redirect.url_provider_type
for URL provider configuration - Added DI parameter
oro_redirect.url_storage_cache.split_deep
for tuningstorage
cache
- Entity
Oro\Bundle\CheckoutBundle\Entity\Checkout
:- no longer implements
Oro\Bundle\PricingBundle\SubtotalProcessor\Model\LineItemsNotPricedAwareInterface
; - implements
Oro\Bundle\CurrencyBundle\Entity\CurrencyAwareInterface
.
- no longer implements
- Added Low Inventory Highlights functionality.Documentation
- Updated website search configuration file
Oro/Bundle/ProductBundle/Resources/config/oro/website_search.yml
:- removed configuration for next fields:
name_LOCALIZATION_ID
sku
new_arrival
short_description_LOCALIZATION_ID
inventory_status
- all of this fields will be added to website search index as configuration for related product attributes
- now in website search index some fields have new names:
name_LOCALIZATION_ID
=>names_LOCALIZATION_ID
new_arrival
=>newArrival
short_description_LOCALIZATION_ID
=>shortDescriptions_LOCALIZATION_ID
- removed configuration for next fields:
- Class
Oro\Bundle\PromotionBundle\Handler\CouponValidationHandler
- now extends from
Oro\Bundle\PromotionBundle\Handler\AbstractCouponHandler
- changes in constructor:
- dependency on
Oro\Bundle\PromotionBundle\ValidationService\CouponApplicabilityValidationService
moved tosetCouponApplicabilityValidationService
setter
- dependency on
- now extends from
- Filtration services are now skippable. More details can be found in documentation.
- Service
oro_redirect.url_cache
must be used insteadoro_redirect.url_storage_cache
- Interface
Oro\Bundle\RedirectBundle\Cache\UrlCacheInterface
must be used as dependency instead ofOro\Bundle\RedirectBundle\Cache\UrlStorageCache
- URL cache format for
storage
cache type was improved to decrease files size and speed up caches loading. Old caches should be recalculated. Old caches format is still supported to simplify migration, to be able to use existing URL caches setoro_redirect.url_storage_cache.split_deep
to 1. To improve page rendering speed and decrease memory usage recommended to recalculate caches withoro_redirect.url_storage_cache.split_deep
set to 2 (default value) or 3. Value depends on number of slugs in system - By default if there are no pre-calculated URLs in cache them will be fetched from database on the fly and put to cache.
- Interface
Oro\Bundle\ShippingBundle\Context\Builder\ShippingContextBuilderInterface
:- Interface lost his
addLineItem
method. All line item collection should be processed withsetLineItems
and related interfaceOro\Bundle\ShippingBundle\Context\LineItem\Collection\Factory\ShippingLineItemCollectionFactoryInterface
.
- Interface lost his
- Entity
Oro\Bundle\WebsiteSearchBundle\Entity\IndexDecimal
:- changed decimal field
value
:precision
changed from10
to21
.scale
changed from2
to6
.
- changed decimal field
- Implementation can decorate original implementation of interface
Oro\Bundle\EntityConfigBundle\Attribute\Type\AttributeTypeInterface
that as service with tagoro_entity_config.attribute_type
. - Class
Oro\Bundle\SearchBundle\Engine\OrmIndexer
- The construction signature of was changed and the constructor was updated -
DbalStorer $dbalStorer
parameter removed.
- The construction signature of was changed and the constructor was updated -
- Class
Oro\Bundle\CatalogBundle\EventListener\DatagridListener
:- method
addCategoryRelation
flagged as deprecated.
- method
- Class
BaseProductPriceRepository
[?] got an abstract method:getPriceListIdsByProduct(Product $product)
- that should return array of Price Lists identifiers which contains price for given product
- Api for
ProductPrice
[?] entity was added. In sharding mode product prices can't be managed withoutpriceList
field, that's why inget_list
actionpriceList
filter is required and in all actions ID of entities has formatProductPriceID-PriceListID
.- Class
PriceManagerDeleteHandler
[?] was added to correctly remove prices in sharding mode - Interface
PriceListIDContextStorageInterface
[?] was added to abstract the way of storing price list id in an api context - Class
PriceListIDInContextStorage
[?] was added as a storage of price list id - Class
EnableShardingOnConfigProcessor
[?] was added to set sharding query hints on config and 'price_list_id = :price_list_id' condition on query - Class
EnableShardingOnQueryProcessor
[?] was added to set sharding query hints and 'price_list_id = :price_list_id' condition on query - Class
LoadNormalizedProductPriceWithNormalizedIdProcessor
[?] was added to normalize an output of update/create requests - Class
NormalizeInputProductPriceIdProcessor
[?] was added to transform id from request in 'guid-priceListId' format to 'guid' and save 'priceListId' to context - Class
NormalizeOutputProductPriceIdProcessor
[?] was added to normalize entity ids that are returned in response - Class
SaveProductPriceProcessor
[?] was added to correctly save price in sharding mode - Class
StorePriceListInContextByFilterProcessor
[?] was added to save priceListId from filter to context - Class
StorePriceListInContextByProductPriceProcessor
[?] was added to save priceListId from ProductPrice entity to context - Interface
ProductPriceIDByContextNormalizerInterface
[?] was added to abstract the way of normalizing product price ids - Class
Oro\Component\ChainProcessor\ContextInterface\ProductPriceIDByPriceListIDNormalizer
was added to transform product price id toProductPriceID-PriceListID
format - Class
ResetPriceRuleFieldOnUpdateProcessor
[?] was added to reset product price rule when one of the fields:value
,quantity
,unit
,currency
changes
- Class
- Enabled API for ProductImage and ProductImageType and added documentation of usage in Product API.
- Added method to
SlugRepository
:getRawSlug
method to retrieve slug URL data
- Added new interface:
SluggableUrlProviderInterface
- Added new URL providers:
SluggableUrlCacheAwareProvider
takes slug URLs from persistent cacheSluggableUrlDatabaseAwareProvider
takes slug URLs from the database
- Form type
OrderDiscountItemType
[?] was changed for use in popup.
- Event
oro_payment.require_payment_redirect.PAYMENT_METHOD_IDENTIFIER
is no more specifically dispatched for each payment method. Use genericoro_payment.require_payment_redirect
event instead.
- Some inline underscore templates were moved to separate .html file for each template.
- Required option for layout block type 'product_prices' renamed from 'productUnitSelectionVisible' to 'isPriceUnitsVisible'
- Product images and unit information for the grid are now part of the search index. In order to see image changes, for example, immediate reindexation is required.
- Some inline underscore templates were moved to separate .html file for each template.
- Interface
DiscountInterface
[?] now is fluent, please make sure that all classes which implement it return$this
forsetPromotion
andsetMatchingProducts
methods
MatchedUrlDecisionMaker
class should be used instead ofFrontendHelper
to check that current URL should be processed by Slugable Url matcher or generator
- Class
FrontendProductDatagridListener
[?]- dependency on
RegistryInterface
will soon be removed.getProductRepository
andgetProductUnitRepository
flagged as deprecated.
- dependency on
- Form type
OrderDiscountItemsCollectionType
and relatedoroorder/js/app/views/discount-items-view
JS view were removed, newOrderDiscountCollectionTableType
[?] andoroorder/js/app/views/discount-collection-view
are introduced.
- Class
AppliedDiscountManager
- class removed, logic was moved to
AppliedPromotionManager
- service of this manager removed, new
oro_promotion.applied_promotion_manager
service was created
- class removed, logic was moved to
- Class
Router
[?]- removed method
setFrontendHelper
,setMatchedUrlDecisionMaker
method added instead.
- removed method
- new collection form type for schedule intervals was added
ScheduleIntervalsCollectionType
- new form type for schedule interval was added
ScheduleIntervalType
[?]
- added API for the following entities:
- added API processors:
HandlePriceListStatusChangeProcessor
[?] to handle price list status changesUpdatePriceListLexemesProcessor
[?] to update price rule lexemes while saving price listBuildCombinedPriceListOnScheduleDeleteListProcessor
[?] to rebuild combined price list while deleting list of price list schedulesBuildCombinedPriceListOnScheduleDeleteProcessor
[?] to rebuild combined price list while deleting single price list scheduleBuildCombinedPriceListOnScheduleSaveProcessor
[?] to rebuild combined price list while saving price list scheduleUpdatePriceListContainsScheduleOnScheduleDeleteListProcessor
[?] to change price list contains schedule field while deleting list of price list schedulesUpdatePriceListContainsScheduleOnScheduleDeleteProcessor
[?] to change price list contains schedule field while deleting single price list scheduleUpdateLexemesOnPriceRuleDeleteListProcessor
[?] to update price rule lexemes while deleting list of price rulesUpdateLexemesOnPriceRuleDeleteProcessor
[?] to update price rule lexemes while deleting single price ruleUpdateLexemesPriceRuleProcessor
[?] to update price rule lexemes while saving price rulePriceListRelationTriggerHandlerForWebsiteAndCustomerProcessor
to rebuild price lists when customer aware relational entities are modifiedPriceListRelationTriggerHandlerForWebsiteAndCustomerGroupProcessor
to rebuild price lists when customer group aware relational entities are modified
- added
AddSchedulesToPriceListApiFormSubscriber
[?] for adding currently created schedule to price list
- new class
VariantFieldProvider
[?] was added it introduces logic to fetch variant field for certain family callinggetVariantFields(AttributeFamily $attributeFamily)
method - Brand functionality to ProductBundle was added
- adding skuUppercase to Product entity - the read-only property that consists uppercase version of sku, used to improve performance of searching by SKU
- metaTitles for
Product
,Category
,Page
,WebCatalog
,Brand
were added. MetaTitle is displayed as default view page title.
- added Voter
FrontendQuotePermissionVoter
[?], Checks if given Quote contains internal status, triggered only for Commerce Application. - added Datagrid Listener
FrontendQuoteDatagridListener
[?], appends frontend datagrid query with proper frontend internal statuses. - added Subscriber
QuoteFormSubscriber
[?], discards price modifications and free form inputs, if there are no permissions for those operations - added new permission to
Quote
category- oro_quote_prices_override
- oro_quote_review_and_approve
- oro_quote_add_free_form_items
- added
BlankOneOf
[?] constraint andBlankOneOfValidator
[?] validator for validating that one of some fields in a group should be blank
- added
DefaultWebsiteSubscriber
to set Default website when not provided on form.
- AuthorizeNetBundle extracted to individual package. See https://github.com/orocommerce/OroAuthorizeNetBundle for details.
- inventory API has changed. Please, see documentation for more information.
- return value of method
Oro\Bundle\OrderBundle\Manager\AbstractAddressManager:getGroupedAddresses
changed fromarray
toTypedOrderAddressCollection
- class
PayflowIPCheckListener
[?]- property
$allowedIPs
changed fromprivate
toprotected
- property
- subtotal and currency of payment context and its line items are optional now:
- service
oro_pricing.listener.product_unit_precision
was changed fromdoctrine.event_listener
todoctrine.orm.entity_listener
- setter methods
setProductPriceClass
,setEventDispatcher
,setShardManager
were removed. To set properties, constructor used instead.
- setter methods
- class
BooleanVariantFieldValueHandler
[?]- changed signature of
__construct
method. New dependency onSymfony\Contracts\Translation\TranslatorInterface
was added.
- changed signature of
ProductPriceFormatter
methodformatProductPrice
changed to expectBaseProductPrice
attribute instead ofProductPrice
.
- service
oro_seo.event_listener.product_form_view
- dependency on
@request_stack
was removed - dependency on
@oro_entity.doctrine_helper
was removed
- dependency on
- service
oro_seo.event_listener.category_form_view
- dependency on
@request_stack
was removed - dependency on
@oro_entity.doctrine_helper
was removed
- dependency on
- service
oro_seo.event_listener.page_form_view
- dependency on
@request_stack
was removed - dependency on
@oro_entity.doctrine_helper
was removed
- dependency on
- service
oro_seo.event_listener.content_node_form_view
- dependency on
@request_stack
was removed - dependency on
@oro_entity.doctrine_helper
was removed
- dependency on
- updated entity
Quote
[?]- Added constant
FRONTEND_INTERNAL_STATUSES
that holds all available internal statuses for Commerce Application - Added new property
pricesChanged
, that indicates if prices were changed.
- Added constant
- following ACL permissions moved to
Quote
category- oro_quote_address_shipping_customer_use_any
- oro_quote_address_shipping_customer_use_any_backend
- oro_quote_address_shipping_customer_user_use_default
- oro_quote_address_shipping_customer_user_use_default_backend
- oro_quote_address_shipping_customer_user_use_any
- oro_quote_address_shipping_customer_user_use_any_backend
- oro_quote_address_shipping_allow_manual
- oro_quote_address_shipping_allow_manual_backend
- oro_quote_payment_term_customer_can_override
- redesign of Shipping Rule edit/create pages - changed Shipping Method Configurations block templates and functionality
- subtotal and currency of shipping context and its line items are optional now:
- layout
oro_payment_method_order_review
is deprecated since v1.3, will be removed in v1.6. Use 'oro_payment_method_order_submit' instead.
- class
CheckoutVoter
[?]- method
getSecurityFacade
was removed,getAuthorizationChecker
method was added instead
- method
- class
FlatRateMethodIdentifierGenerator
is removed in favor ofPrefixedIntegrationIdentifierGenerator
. - previously deprecated
FlatRateMethodFromChannelBuilder
[?] is removed now. UseFlatRateMethodFromChannelFactory
[?] instead.
- removed protected method
AbstractOrderAddressType::getDefaultAddressKey
[?]. Please, use methodTypedOrderAddressCollection::getDefaultAddressKey
instead
- class
Gateway
[?]- constants
PRODUCTION_HOST_ADDRESS
,PILOT_HOST_ADDRESS
,PRODUCTION_FORM_ACTION
,PILOT_FORM_ACTION
removed.
- constants
- previously deprecated
PayPalPasswordType
is removed. UseOroEncodedPlaceholderPasswordType
instead. - previously deprecated interface
CardTypesDataProviderInterface
[?] is removed. UseCreditCardTypesDataProviderInterface
[?] instead.
- previously deprecated class
PaymentMethodProvidersRegistry
[?] is removed,CompositePaymentMethodProvider
[?] should be used instead. - previously deprecated method
PaymentStatusProvider::computeStatus
[?] is removed. UsegetPaymentStatus
instead. - unused trait
CountryAwarePaymentConfigTrait
[?] was removed.
- form type
PriceListScheduleType
[?] was removed, useScheduleIntervalType
[?] instead - constraint
SchedulesIntersection
[?] was removed, useScheduleIntervalsIntersection
[?] instead - validator
SchedulesIntersectionValidator
[?] was removed, useScheduleIntervalsIntersectionValidator
[?] instead - js
oropricing/js/app/views/price-list-schedule-view
view was removed, useorocron/js/app/views/schedule-intervals-view
instead
- class
ProductStrategy
[?]- method
setSecurityFacade
was removed,setTokenAccessor
method was added instead
- method
- removed protected method
QuoteAddressType::getDefaultAddressKey
[?]. Please, use methodTypedOrderAddressCollection::getDefaultAddressKey
instead
- service
oro_shipping.shipping_method.registry
was removed, neworo_shipping.shipping_method_provider
service is used instead - class
ShippingMethodRegistry
was removed, logic was moved toCompositeShippingMethodProvider
[?]- method
getTrackingAwareShippingMethods
moved to classTrackingAwareShippingMethodsProvider
[?]
- method
- previously deprecated interface
IntegrationMethodIdentifierGeneratorInterface
is removed along with its implementations and usages. UseIntegrationIdentifierGeneratorInterface
instead. - previously deprecated
ShippingMethodsConfigsRuleRepository::getConfigsWithEnabledRuleAndMethod
method is removed now. UsegetEnabledRulesByMethod
method instead. - previously deprecated
AbstractIntegrationRemovalListener
is removed now. UseIntegrationRemovalListener
instead. OroShippingBundle:Form:type/result.html.twig
andOroShippingBundle:Form:type/selection.html.twig
- removed
- class
UPSMethodIdentifierGenerator
is removed in favor ofPrefixedIntegrationIdentifierGenerator
.
- class
ReindexDemoDataListener
[?] was removed,ReindexDemoDataFixturesListener
[?] class is used instead
- content Blocks functionality was added. Please, see documentation for more information.
CHARGE_AUTHORIZED_PAYMENTS
permission was added for possibility to charge payment transaction- capture button for payment authorize transactions was added in Payment History section, Capture button for order was removed
- if you have implemented a form that helps configure your custom shipping method (like the UPS integration form that is designed for the system UPS shipping method), you might need your custom shipping method validation. The
ShippingMethodValidatorInterface
[?] andoro_shipping.method_validator.basic
service were created to handle this. To add a custom logics, add a decorator for this service. Please refer tooro_shipping.method_validator.decorator.basic_enabled_shipping_methods_by_rules
example. - the
ShippingRuleViewMethodTemplateListener
[?] was created, and can be used for providing template of a shipping method on a shipping rule view page.
productUnitSelectionVisible
option of theProductPricesType
[?] is required now.
- the
CategoryRepository::getChildrenWithTitles
[?] was deprecated, useCategoryRepository::getChildren
[?] instead.
- the
FlatRateMethodFromChannelBuilder
[?] was deprecated, useFlatRateMethodFromChannelFactory
[?] instead.
- form type
PayPalPasswordType
[?] is deprecated, will be removed in v1.3. Please useOroEncodedPlaceholderPasswordType
instead. - interface
CardTypesDataProviderInterface
[?] is deprecated, will be removed in v1.3. UseCreditCardTypesDataProviderInterface
[?] instead.
- for supporting same approaches for working with payment methods,
PaymentMethodProvidersRegistryInterface
[?] and its implementation were deprecated. Related deprecation isPaymentMethodProvidersPass
[?].CompositePaymentMethodProvider
[?] which implementsPaymentMethodProviderInterface
[?] was added instead.
ShippingMethodsConfigsRuleRepository::getConfigsWithEnabledRuleAndMethod
[?] method deprecated because it completely duplicategetEnabledRulesByMethod
- the
IntegrationMethodIdentifierGeneratorInterface
[?] was deprecated, theIntegrationIdentifierGeneratorInterface
should be used instead.
- the class
MoneyOrder
[?] constantTYPE
was removed.
oro_order_capture
operation was removed,oro_order_payment_transaction_capture
should be used instead
- JS credit card validators were moved to
PaymentBundle
. List of moved components:oropaypal/js/lib/jquery-credit-card-validator
oropaypal/js/validator/credit-card-expiration-date
oropaypal/js/validator/credit-card-expiration-date-not-blank
oropaypal/js/validator/credit-card-number
oropaypal/js/validator/credit-card-type
oropaypal/js/adapter/credit-card-validator-adapter
- the
AjaxProductPriceController::getProductPricesByCustomer
[?] method was removed, logic was moved togetProductPricesByCustomerAction
- the
AjaxPriceListController::getPriceListCurrencyList
[?] method was removed, logic was moved togetPriceListCurrencyListAction
method
- the following methods in class
AjaxUPSController
[?] were renamed: - the following properties in class
UPSTransport
[?] were renamed:$testMode
[?] is removed, use$upsTestMode
instead$apiUser
[?] is removed, use$upsApiUser
instead$apiPassword
[?] is removed, use$upsApiPassword
instead$apiKey
[?] is removed, use$upsApiKey
instead$shippingAccountNumber
[?] is removed, use$upsShippingAccountNumber
instead$shippingAccountName
[?] is removed, use$upsShippingAccountName
instead$pickupType
[?] is removed, use$upsPickupType
instead$unitOfWeight
[?] is removed, use$upsUnitOfWeight
instead$country
[?] is removed, us$upsCountry
instead$invalidateCacheAt
[?] is removed, use$upsInvalidateCacheAt
instead
- the
CategoryBreadcrumbProvider
was added as a data provider for breadcrumbs.
commerce
configurable permission was added for View and Edit pages of the Customer Role in backend area (aka management console) (see configurable-permissions.md for details.commerce_frontend
configurable permission was added for View and Edit pages of the Customer Role in frontend area (aka front store)(see configurable-permissions.md for details.
- added implementation of payment through integration.
- based on the changes in
PaymentBundle
, the following classes were added:MoneyOrderMethodProvider
that provides Money Order payment methods.MoneyOrderMethodViewProvider
that provides Money Order payment method views.
- payment history section with payment transactions for current order was added to the order view page. The
VIEW_PAYMENT_HISTORY
permission was added for viewing payment history section.
- implementation was changed using IntegrationBundle (refer to PaymentBundle and IntegrationBundle for details):
- Class
PayPalSettings
[?] was created instead ofConfiguration
- Class
PayPalExpressCheckoutPaymentMethod
[?] was added instead of removed classesPayflowExpressCheckout
,PayPalPaymentsProExpressCheckout
- Class
PayPalCreditCardPaymentMethod
[?] was added instead of removed classesPayflowGateway
,PayPalPaymentsPro
- Class
PayPalExpressCheckoutPaymentMethodView
[?] was added instead of removed classesPayflowExpressCheckout
,PayPalPaymentsProExpressCheckout
- Class
PayPalCreditCardPaymentMethodView
[?] was added instead of removed classesPayflowGateway
,PayPalPaymentsPro
- Class
- according to changes in PaymentBundle were added:
CreditCardMethodProvider
[?] for providing PayPal Credit Card Payment MethodsCreditCardMethodViewProvider
[?] for providing PayPal Credit Card Payment Method ViewsExpressCheckoutMethodProvider
[?] for providing PayPal Express Checkout Payment MethodsExpressCheckoutMethodViewProvider
[?] for providing PayPal Express Checkout Payment Method Views
- added implementation of payment through integration.
- the organization ownership type was added for the
PaymentMethodsConfigsRule
entity. - in order to have possibility to create more than one payment method of the same type, the PaymentBundle was significantly changed with backward compatibility break:
- A new
PaymentMethodProviderInterface
interface was added. This interface should be implemented in any payment method provider class that is responsible for providing of any payment method. - A new
PaymentMethodViewProviderInterface
interface was added. This interface should be implemented in any payment method view provider class that is responsible for providing of any payment method view. - Any payment method provider should be registered in the service definitions with tag oro_payment.payment_method_provider.
- Any payment method view provider should be registered in the service definitions with tag oro_payment.payment_method_view_provider.
- Each payment method provider should provide one or more payment methods which should implement
PaymentMethodInterface
. - Each payment method view provider should provide one or more payment method views which should implement
PaymentMethodViewInterface
. - To aggregate the shared logic of all payment method providers, the
AbstractPaymentMethodProvider
was created. Any new payment method provider should extend this class. - To aggregate the shared logic of all payment method view providers, the
AbstractPaymentMethodViewProvider
was created. Any new payment method view provider should extend this class.
- A new
- added implementation of payment through integration.
- class
PaymentTermView
[?] now has two additional methods due to implementingPaymentMethodViewInterface
[?]- getAdminLabel() is used to display labels in admin panel
- getPaymentMethodIdentifier() used to properly display different methods in frontend
- added classes that can decorate
Product
[?] to have virtual fields:VirtualFieldsProductDecoratorFactory
[?] is the class that should be used to create a decoratedProduct
VirtualFieldsProductDecorator
[?] is the class that decoratesProduct
VirtualFieldsSelectQueryConverter
[?] this converter is used inside ofVirtualFieldsProductDecorator
VirtualFieldsProductQueryDesigner
[?] this query designer is used inside ofVirtualFieldsProductDecorator
- added
RuleInterface
[?] this interface should now be used for injection instead ofRule
in bundles that implementRuleBundle
functionality - added classes for handling enable/disable
Rule
actions - use them to define corresponding services - added
RuleActionsVisibilityProvider
that should be used to define action visibility configuration in datagrids withRule
entity fields
IntegrationRemovalListener
class was created to be used instead ofAbstractIntegrationRemovalListener
- Check UPS Connection button was added on UPS integration page. Please, see documentation for more information.
- new
WebCatalogAwareInterface
became available for entities which are aware ofWebCatalogs
. - new
WebCatalogUsageProviderInterface
interface:- provides information about assigned
WebCatalogs
to given entities (passed as an argument) - provides information about usage of
WebCatalog
by id
- provides information about assigned
- the
WebCatalogBreadcrumbDataProvider
class was created.getItems
method returns breadcrumbs array
- the
CategoryExtension
class changed:- The construction signature of was changed and the constructor was updated with the new
ContainerInterface $container
parameter.
- The construction signature of was changed and the constructor was updated with the new
- the bundle [?] was moved from the
OroCommerce
package into theOroCRM Customer Portal
package. - the
MenuExtension
class was updated with the following change:- The construction signature of was changed and the constructor accepts only one
ContainerInterface $container
parameter.
- The construction signature of was changed and the constructor accepts only one
-
the bundle moved from the
OroCommerce
package into theOroCRM Customer Portal
package. -
the
FrontendOwnerTreeProvider::_construct
method was added with the following signature:__construct( ManagerRegistry $doctrine, DatabaseChecker $databaseChecker, CacheProvider $cache, MetadataProviderInterface $ownershipMetadataProvider, TokenStorageInterface $tokenStorage )
-
the construction signature of the
CustomerExtension
class was changed and the constructor accepts only oneContainerInterface $container
parameter.
- the bundle [?] was renamed to
FlatRateShippingBundle
- the bundle [?] moved from the
OroCommerce
package into theOroCRM Customer Portal
package.
- the service definition for
oro_frontend_localization.extension.transtation_packages_provider
was updated in a following way:- the class changed to
UPSTransport
- the publicity set to
false
- the class changed to
- the bundle [?] implementation was changed using
IntegrationBundle
(refer toPaymentBundle
andIntegrationBundle
for details).
- implementation was changed using IntegrationBundle (refer to PaymentBundle and IntegrationBundle for details).
- implementation was changed using IntegrationBundle (refer to PaymentBundle and IntegrationBundle for details).
- PaymentTerm implementation was changed using IntegrationBundle (refer to PaymentBundle and IntegrationBundle for details).
- class
CombinedPriceListRepository
[?] changes:- changed the return type of
getCombinedPriceListsByPriceList
method fromBufferedQueryResultIterator
toBufferedQueryResultIteratorInterface
- changed the return type of
getCombinedPriceListsByPriceLists
method fromBufferedQueryResultIterator
toBufferedQueryResultIteratorInterface
- changed the return type of
getCPLsForPriceCollectByTimeOffset
method fromBufferedQueryResultIterator
toBufferedQueryResultIteratorInterface
- changed the return type of
- class
PriceListCustomerFallbackRepository
[?] changes:- changed the return type of
getCustomerIdentityByGroup
method fromBufferedQueryResultIterator
toBufferedQueryResultIteratorInterface
- changed the return type of
- class
PriceListCustomerGroupFallbackRepository
[?] changes:- changed the return type of
getCustomerIdentityByWebsite
method fromBufferedQueryResultIterator
toBufferedQueryResultIteratorInterface
- changed the return type of
- class
PriceListRepository
[?] changes:- changed the return type of
getPriceListsWithRules
method fromBufferedQueryResultIterator
toBufferedQueryResultIteratorInterface
- changed the return type of
- class
PriceListToCustomerGroupRepository
[?] changes:- changed the return type of
getCustomerGroupIteratorByDefaultFallback
method fromBufferedQueryResultIterator
toBufferedQueryResultIteratorInterface
- changed the return type of
getIteratorByPriceList
method fromBufferedQueryResultIterator
toBufferedQueryResultIteratorInterface
- changed the return type of
- class
PriceListToCustomerRepository
[?] changes:- changed the return type of
getCustomerIteratorByDefaultFallback
method fromBufferedQueryResultIterator
toBufferedQueryResultIteratorInterface
- changed the return type of
getCustomerWebsitePairsByCustomerGroupIterator
method fromBufferedQueryResultIterator
toBufferedQueryResultIteratorInterface
- changed the return type of
getIteratorByPriceList
method fromBufferedQueryResultIterator
toBufferedQueryResultIteratorInterface
- changed the return type of
- class
PriceListToWebsiteRepository
[?] changes:- changed the return type of
getWebsiteIteratorByDefaultFallback
method fromBufferedQueryResultIterator
toBufferedQueryResultIteratorInterface
- changed the return type of
- the following methods were updated:
AbstractTaxCode::setCreatedAt
(pass\DateTime
as a first argument of the method instead ofmixed
)AbstractTaxCode::setUpdatedAt
(pass\DateTime
as a first argument of the method instead ofmixed
)Tax::setCreatedAt
(pass\DateTime
as a first argument of the method instead ofmixed
)Tax::setUpdatedAt
(pass\DateTime
as a first argument of the method instead ofmixed
)TaxJurisdiction::setCreatedAt
(pass\DateTime
as a first argument of the method instead ofmixed
)TaxJurisdiction::setUpdatedAt
(pass\DateTime
as a first argument of the method instead ofmixed
)TaxRule::setCreatedAt
(pass\DateTime
as a first argument of the method instead ofmixed
)TaxRule::setUpdatedAt
(pass\DateTime
as a first argument of the method instead ofmixed
)ZipCode::setCreatedAt
(pass\DateTime
as a first argument of the method instead ofmixed
)ZipCode::setUpdatedAt
(pass\DateTime
as a first argument of the method instead ofmixed
)
- in
AbstractCustomerPartialUpdateDriver
, the return type of thegetCustomerVisibilityIterator
method changed fromBufferedQueryResultIterator
toBufferedQueryResultIteratorInterface
.
- the bundle [?] moved from the
OroCommerce
package into theOroCRM Customer Portal
package. - the
WebsiteBundle
moved from theOroCommerce
package into theOroCRM Customer Portal
package. - the
OroWebsiteExtension
class changed:- The construction signature of was changed and the constructor was updated to have only one parameter:
ContainerInterface $container
.
- The construction signature of was changed and the constructor was updated to have only one parameter:
- the
WebsitePathExtension
class changed:- The construction signature of was changed and the constructor was updated to have only one parameter:
ContainerInterface $container
.
- The construction signature of was changed and the constructor was updated to have only one parameter:
- the
Driver::writeItem
andDriver::flushWrites
should be used instead ofDriver::saveItems
- the
CategoryProvider::getBreadcrumbs
method is deprecated. Please use CategoryBreadcrumbProvider::getItems()` instead.
- in the
/api/inventorylevels
REST API resource, theproductUnitPrecision.unit.code
filter was marked as deprecated. TheproductUnitPrecision.unit.id
filter should be used instead.
AbstractIntegrationRemovalListener
was deprecated,IntegrationRemovalListener
was created instead.
- the
CategoryExtension::setContainer
method was removed. - the
CategoryExtension
class changed:- The
setContainer
method was removed.
- The
- the
CategoryPageVariantType
was removed and the logic moved toPageVariantTypeExtension
- the property
protected $securityProvider
was removed from theCustomerExtension
class. - the
FrontendCustomerUserRoleOptionsProvider
class was removed and replaced with:- FrontendCustomerUserRoleCapabilitySetOptionsProvider` for getting capability set options
FrontendCustomerUserRoleTabOptionsProvider
for getting tab options
- the
Configuration
class was removed. UseMoneyOrderSettings
entity that extends theTransport
class to store payment integration properties.
- implementation was changed using IntegrationBundle (refer to PaymentBundle and IntegrationBundle for details):
- Class
Configuration
was removed and insteadPayPalSettings
[?] was created - entity that implementsTransport
[?] to store paypal payment integration properties - Classes
PayflowExpressCheckoutConfig
,PayPalPaymentsProExpressCheckoutConfig
were removed and instead simple parameter bag objectPayPalExpressCheckoutConfig
[?] is being used for holding payment integration properties that are stored in PayPalSettings - Classes
PayflowGatewayConfig
,PayPalPaymentsProConfig
were removed and instead simple parameter bag objectPayPalCreditCardConfig
[?] is being used for holding payment integration properties that are stored in PayPalSettings - Classes
PayflowExpressCheckout
,PayPalPaymentsProExpressCheckout
were removed and instead was addedPayPalExpressCheckoutPaymentMethod
[?] - Classes
PayflowGateway
,PayPalPaymentsPro
were removed and instead was addedPayPalCreditCardPaymentMethod
[?] - Classes
PayflowExpressCheckout
,PayPalPaymentsProExpressCheckout
were removed and instead was addedPayPalExpressCheckoutPaymentMethodView
[?] - Classes
PayflowGateway
,PayPalPaymentsPro
were removed and instead was addedPayPalCreditCardPaymentMethodView
[?]
- Class
- in order to have possibility to create more than one payment method of same type PaymentBundle was significantly changed with breaking backwards compatibility.
- Class
PaymentMethodRegistry
was removed, logic was moved toPaymentMethodProvidersRegistry
[?] which implementsPaymentMethodProvidersRegistryInterface
[?] and this registry is responsible for collecting data from all payment method providers - Class
PaymentMethodViewRegistry
was removed, logic was moved toCompositePaymentMethodViewProvider
[?] which implementsPaymentMethodViewProviderInterface
[?] this composite provider is single point to provide data from all payment method view providers
- Class
- the following classes (that are related to the actions that disable/enable
PaymentMethodsConfigsRule
) were abstracted and moved to theRuleBundle
(see theRuleBundle
) section for more information):StatusDisableMassAction
(is replaced withStatusEnableMassAction
in theRuleBundle
)StatusEnableMassAction
(is replaced withStatusEnableMassAction
in theRuleBundle
)StatusMassActionHandler
(is replaced withStatusMassActionHandler
in theRuleBundle
)PaymentRuleActionsVisibilityProvider
(is replaced withPaymentRuleActionsVisibilityProvider
in theRuleBundle
)
- the following classes (that are related to decorating
Product
with virtual fields) were abstracted and moved to theProductBundle
(see theProductBundle
section for more information): - in order to have possibility to create more than one payment method of the same type, the PaymentBundle was significantly changed with backward compatibility break:
- The
PaymentMethodRegistry
class was replaced with thePaymentMethodProvidersRegistry
which implements aPaymentMethodProvidersRegistryInterface
and this registry is responsible for collecting data from all payment method providers. - The
PaymentMethodViewRegistry
class was replaced with theCompositePaymentMethodViewProvider
which implements aPaymentMethodViewProviderInterface
. This composite provider is a single point to provide data from all payment method view providers.
- The
- Class
Configuration
is removed,PaymentTermSettings
[?] was created instead - PaymentTerm implementation was changed using IntegrationBundle (refer to PaymentBundle and IntegrationBundle for details).
- Class
Configuration
was removed and insteadPaymentTermSettings
[?] was created - entity that implementsTransport
to store payment integration properties - Class
PaymentTermConfig
was removed and instead simple parameter bag objectParameterBagPaymentTermConfig
is used for holding payment integration properties that are stored in PaymentTermSettings
- Class
- class
PriceListConfigConverter
[?] changes:- constant
PRIORITY_KEY
was removed, useSORT_ORDER_KEY
instead
- constant
- class
BasePriceListRelation
[?] changes:- property
$priority
was removed, use$sortOrder
instead - methods
getPriority
andsetPriority
were removed, usegetSortOrder
andsetSortOrder
instead accordingly
- property
- class
PriceListConfig
[?] changes:- property
$priority
was removed, use$sortOrder
instead - methods
getPriority
andsetPriority
were removed, usegetSortOrder
andsetSortOrder
instead accordingly
- property
- interface
PriceListAwareInterface
[?] changes:- method
getPriority
was removed, usegetSortOrder
instead
- method
- class
PriceListSelectWithPriorityType
[?] changes:- field
priority
was removed. Field_position
fromSortableExtension
is used instead.
- field
- removed constructor of
ProductPageVariantType
[?].- corresponding logic moved to
PageVariantTypeExtension
[?]
- corresponding logic moved to
- removed property
website
in favour ofscopes
collection using fromRedirect
[?] class
- the following classes that are related to decorating
Product
with virtual fields) were abstracted and moved to theProductBundle
(see theProductBundle
section for more information):SelectQueryConverter
ShippingProductQueryDesigner
ProductDecorator
- In the
DecoratedProductLineItemFactory
class, the only dependency is nowVirtualFieldsProductDecoratorFactory
.
- the classes that are related to actions that disable/enable
ShippingMethodsConfigsRule
were abstracted and moved to theRuleBundle
(see theRuleBundle
) section for more information):- Removed
StatusDisableMassAction
and switched definition toStatusEnableMassAction
in theRuleBundle
StatusEnableMassAction
and switched definition toStatusEnableMassAction
in theRuleBundle
StatusMassActionHandler
and switched definition toStatusMassActionHandler
in theRuleBundle
ShippingRuleActionsVisibilityProvider
and switched definition toRuleActionsVisibilityProvider
in theRuleBundle
- Removed
- the class
InvalidateCacheScheduleCommand
was removed,InvalidateCacheScheduleCommand
should be used instead - the class
InvalidateCacheAtHandler
was removed,InvalidateCacheActionHandler
should be used instead - resource
invalidateCache.html.twig
was removed, use corresponding resource from CacheBundle - resource
invalidate-cache-button-component.js
was removed , use corresponding resource from CacheBundle
- the
protected $websiteManager
property was removed fromOroWebsiteExtension
- the
protected $websiteUrlResolver
property was removed fromWebsitePathExtension
- the following method
IndexationRequestListener::getEntitiesWithUpdatedIndexedFields
was removed