diff --git a/.htaccess b/.htaccess index 2998f48f7addce87c68296ed33d68837bd439b6b..404488eb7ff0ecc6197ab8c100555c79eb1cf0ce 100644 --- a/.htaccess +++ b/.htaccess @@ -1,3 +1,8 @@ +############################################ +## uncomment the line below to enable developer mode + +# SetEnv MAGE_MODE developer + ############################################ ## uncomment these lines for CGI mode ## make sure to specify the correct cgi php binary file name @@ -167,6 +172,8 @@ ## http://developer.yahoo.com/performance/rules.html#expires ExpiresDefault "access plus 1 year" + ExpiresByType text/html A0 + ExpiresByType text/plain A0 </IfModule> diff --git a/.htaccess.sample b/.htaccess.sample index 3a19430211147f23f6e460addf435d771380b944..133ce7de2c59badd5df4a159bb921e8a99f05eb7 100644 --- a/.htaccess.sample +++ b/.htaccess.sample @@ -1,3 +1,8 @@ +############################################ +## uncomment the line below to enable developer mode + +# SetEnv MAGE_MODE developer + ############################################ ## uncomment these lines for CGI mode ## make sure to specify the correct cgi php binary file name @@ -164,6 +169,8 @@ ## http://developer.yahoo.com/performance/rules.html#expires ExpiresDefault "access plus 1 year" + ExpiresByType text/html A0 + ExpiresByType text/plain A0 </IfModule> diff --git a/CHANGELOG.md b/CHANGELOG.md index 31cb8dff708ee9dc46ba8a1d67159a8fe93f5269..338ab6cf7da11ec471acb79edb367b2fedddf175 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,174 @@ +0.74.0-beta1 +============= +* Various + * Inline JS code is eliminated + * Fixed XSS vulnerability issues + * "Last login time" functionality is moved from Magento_Log module to Magento_Customer module + * Implemented two-strategies JS translation + * Improved backend menu keyboard accessibility + * Accessibility improvements: WAI-ARIA in product item on category page and related products + * Checkout flow code can work with separate DB storage + * Unit tests moved to component directories + * Addressed naming inconsistencies in REST routes + * Added Advanced Developer Workflow for frontend developers +* Setup + * Utilized Magento error handler in Setup application to convert errors and warnings to exceptions + * Fixed error when private content handling doesn't work when HTML profiler and developer mode are on + * Fixed error with packages uninstall using Magento Composer Installer failed for the last package + * Fixed fatal error in Setup application, after ran composer install with --no-dev option + * Fixed JS error when expanding list of modules at "Customize Your Store" step in installation wizard + * Fixed JS error when going back to "Customize Your Store" step from "Create Admin Account" step in installation wizard +* Framework + * New module Magento_MediaStorage is created and holds components from Magento_Core module + * New module Magento_MediaStorage is created and holds components from Magento_Core module + * Implemented JS resources bundling (server side pre-processing) + * Zend_Locale replaced with Native PHP Implementation + * Zend_Date replaced with native PHP DateTime object/functions + * Magento\Framework\Exception\LocalizedException constructor is refactored + * Magento\Framework\Validator\ValidatorException is renamed + * Magento\Framework\Controller\Result\JSON is renamed to meet PSR standard + * Library oyejorge/less.php is updated to the latest version + * Refactored WebApi framework to support concrete types for custom attributes + * Version used in SOAP declarations is now taken from routes declared in webapi.xml + * Added ability to extend API data interfaces using extension attributes + * Magento_Core module is removed +* Web API Framework + * Factories are used instead of builders + * Removed auto generation of builders + * Made interfaceName a required parameter in Magento\Framework\Api\DataObjectHelper::populateWithArray method +* Performance + * Increased caching coverage of Magento storefront pages: Cart, Register, Login, My Account + * finished work around HHVM Compatibility + * Fixed EAV caching on storefront + * Optimized DI compilation for interception +* Design + * New design in Backend + * New messages design in Installation Wizard + * New design for MAP on Catalog Frontend Pages +* Fixed bugs + * Catch syntax error in module.xml files + * Profiling of cache operations was permanently disabled + * Session was not cleared when layout is cached + * Page cache was invalidated by cron jobs after reindexing, even in case nothing is changed + * Typo in method name in Adminhtml/Index/Grid.php + * Missing validation of table prefix in 'Step 2: Add a Database' of Web Setup wizard + * User hint of password strength validator in Web Setup wizard to be consistent with the algorithm used + * New Logger cannot format exception and debug info correctly + * Wrong styles structure + * Customer is redirected to shopping cart by clicking on mini shopping cart after adding product + * Gift Message information for Order level is not presented on frontend/backend orders + * Wrong "customer_id" value for GiftMessages created using API service + * No ability to place order for guest customer using API service + * Shopping Cart was displayed partly broken if contained a Product with an image as a custom option + * Impossible to add product to the shopping cart with Custom option of type="file" + * Adding to cart dialog widget with MSRP price on product page is broken + * Copy and Paste detector is run against test files that are blacklisted + * Displaying the wrong price on product page when selecting an option for configurable product + * Tax amount (tax on full shipping) is refunded, when partial shipping amount is refunded + * Tax Calculation Based On Shipping Address, when the discount coupon is applied + * Price (including tax) is shown on product page when configuration is set to display excluding tax + * FPT is not applied in shopping cart and order for registered user + * FPT not applied for registered users when FPC is disabled + * "All categoryName" menu link is absent, subcategories are shown on hover of parent category + * Horizontal scrolling appears when browser width is resized to mobile size + * Broken design for "select store" element in CMS grid filter + * Attribute value uniqueness isn't checked for custom product template + * Category tree is not displayed in conditions for Catalog Price Rules + * Remove hard coded IDs from catalog API code + * Bottom margin for "Wishlist Search" Widget + * Custom option image with limits view for frontend + * Category page displayed outdated prices after catalog price rule was deleted + * Cart quantity is more than in stock amount + * Page layout configuration: not being possible to extend/override on the theme level + * Page layout with custom set of containers causing fatal error + * Reset password e-mails requested from second store view has link and name of the first main store + * There is no ability to place order for virtual product with customer address attribute from backend + * Specified details for Bundle product are lost after adding to wishlist + * Customer address is set to non default after changing account information + * Unable to save newsletter subscription information of customer in backend + * Guest can't add product to wishlist while registering + * Cron job for Shipping + * Solution for issue with attributes with list of countries + * Unable to generate variations while creating configurable product + * Variations are created with Out of Stock status if configurable product has been switched from simple product + * Impossible search Downloadable product using file title + * Change order of loading integration tests (load config annotations before fixtures) + * Impossible to upload files in Configuration + * Creating shipment for an order + * Price displaying on product page for bundle product + * Display bug for tier prices + * Required marker is displayed on wrong line in Backend + * Categories' titles in Frontend navigation Menu overlap "expand" button on mobile + * Backend Login form alignment for ie9 + * JS loader position for Backend + * Display checkboxes on Update Attributes page via Mass Action + * Removed Test\Unit from cached DI configuration, as it brings performance degradation + * Impossible to place order with DHL EU shipping method + * Updates while tables recreation in setup process + * Pagination on downloadable products tab in customer account + * Adding existing attribute on New Product page + * "Manage Stock" is not saving for bundle product + * Filter did not work for Order Total report + * Error on reports for Order Totals if grouped by Year + * Customer can't find Order on Frontend + * Postal code is still mandatory for Non-US addresses that don't use it + * Price of simple product isn't recalculated after selecting options on product page + * Don't load bundle quantity from options on bundle page + * It's impossible to remove added row from "Minimum Qty Allowed in Shopping Cart" in config + * It's impossible to add Product with required Custom Options of "Field" and/or "Area" type to Shopping Cart + * Syntax error in New Shipment email template + * Removed admin only web service route for using customer user password reset tokens and setting new passwords + * Remove the relevant URL Rewrites configuration after removing a category + * Static obsolete code test did not recognize partial namespaces + * Magento breaks when set specific locale + * An error on Shipping Method page which appeared on MultiAddress Checkout + * Impossible to update Gift Message from backend + * Impossible to create configurable product + * Impossible to create new attribute through Product Creation page + * Product Template page did not work in IE9 and FF + * Product image could added only after double click in IE9 + * Inconsistent timestamp return for Magento admin panel timezone + * Few problems with HTML minification + * 404 page is displayed on any action with order that it viewed under guest + * "500 Internal Server Error" in case of excess "Maximum Qty Allowed in Shopping Cart" value + * MAP link is displayed for a product on category page after delete Catalog Price Rule + * Deploy script modifies LESS files with "@urls-resolved: true" + * Zip code field is missing in customers addresses on backend + * Impossible to add bundle product with required option to shopping cart without selecting all available options + * Empty email is sent when a registered user changes password in the front end + * Tabs widget does not initialize sometimes on Product Creation page + * Fatal error when trying to send notify customer by email about shipment +* Tests + * Fixed an issue with WebDriverException for iframes in functional tests + * Added functional test for backend menu navigation + * Replaced end-to-end test for online one-page checkout with injectable test + * Replaced end-to-end test for admin user with injectable test + * Replaced end-to-end test for catalog price rule with injectable test + * Replaced end-to-end test for store view with injectable test + * Increased integration tests coverage for Magento_Indexer module + * Increased unit test coverage for Magento_Cms, Magento_Email and Magento_Sales module +* GitHub issues and requests: + * [#533] (https://github.com/magento/magento2/issues/533) -- Remove Allow all access in .htaccess + * [#850] (https://github.com/magento/magento2/issues/850) -- HTML Profiler and pub/static Resources + * [#919] (https://github.com/magento/magento2/issues/919) -- System information error when error is fixed but page wasn't refreshed + * [#987] (https://github.com/magento/magento2/pull/987) -- Fix mod_expires for dynamic content + * [#1004] (https://github.com/magento/magento2/issues/1004) -- Problem with template luma + * [#1014] (https://github.com/magento/magento2/issues/1014) -- php index.php update - Class Magento\Store\Model\StoreManagerInterface does not exist + * [#1015] (https://github.com/magento/magento2/issues/1015) -- After success setup/index.php update - "Missing required argument $engines of Magento\Framework\View\TemplateEngineFactory" + * [#1016] (https://github.com/magento/magento2/issues/1016) -- Backend Javascript Errors (new instalation) + * [#1020] (https://github.com/magento/magento2/issues/1020) -- Bug generating Sitemap Cron expression + * [#1029] (https://github.com/magento/magento2/issues/1029) -- Admin dashboard Most Viewed Products Tab issue (without product list) + * [#1035] (https://github.com/magento/magento2/issues/1035) -- Bug in Magento\Framework\Simplexml\Element::appendChild + * [#1042] (https://github.com/magento/magento2/issues/1042) -- Lost catalog rewrite url after page/list-mode/limit changed + * [#1045] (https://github.com/magento/magento2/issues/1045) -- Bad rendering frontend category menu + * [#1048] (https://github.com/magento/magento2/pull/1048) -- Make possible to upload SVG logo by admin + * [#1052] (https://github.com/magento/magento2/pull/1052) -- Fix history cleanup for missed cron jobs + * [#1062] (https://github.com/magento/magento2/pull/1062) -- Add check to see if PHP > 5.6 and always_populate_raw_post_data = -1 + * [#1082] (https://github.com/magento/magento2/pull/1082) -- Fix incorrect variable name ($schema -> $scheme) + * [#1086] (https://github.com/magento/magento2/issues/1086) -- Email message containing non English character is displayed incorrectly on the receiver + * [#1088] (https://github.com/magento/magento2/pull/1088) -- Add developer mode example to .htaccess + * [#1107] (https://github.com/magento/magento2/issues/1107) -- Serious security issue in Customer Address edit section + 0.42.0-beta11 ============= * Various improvements: @@ -127,30 +298,30 @@ 0.42.0-beta7 ============= * Various improvements: - * Added Varnish 4 support - * Added CSS minification - * Improved the performance toolkit + * Added Varnish 4 support + * Added CSS minification + * Improved the performance toolkit * Fixed bugs: - * Fixed an issue where the compiler for the single tenant mode did not resolve Repositories - * Fixed an issue where the "Select all" mass action on the Customers page did not select all customers + * Fixed an issue where the compiler for the single tenant mode did not resolve Repositories + * Fixed an issue where the "Select all" mass action on the Customers page did not select all customers * Fixed an issue where values for a customer attribute of multiple-select type were not saved * Fixed an issue where the parental wakeup() method was not called in interceptors - * Fixed an issue where bundle products with the same configurations added from different pages were displayed in the wishlist as separate items + * Fixed an issue where bundle products with the same configurations added from different pages were displayed in the wishlist as separate items * Fixed an issue where the number of items added to the wishlist was not displayed on certain pages - * Fixed an issue where logging was broken - * Fixed an issue where it was impossible to use \Magento\Customer\Model\Resource\AddressRepository::getList with predefined direction(sortOrder) - * Fixed an issue where editing a product from wishlist led caused a fatal error - * Fixed an issue where the redirect link to continue shopping was absent in the success message after adding product to a wishlist + * Fixed an issue where logging was broken + * Fixed an issue where it was impossible to use \Magento\Customer\Model\Resource\AddressRepository::getList with predefined direction(sortOrder) + * Fixed an issue where editing a product from wishlist led caused a fatal error + * Fixed an issue where the redirect link to continue shopping was absent in the success message after adding product to a wishlist * Fixed an issue where HTML tags where displayed in product prices on the Customer's Wishlist page in Admin * Fixed an issue where the Name and Email fields were not automatically when creating an email using the Email to Friend functionality * Fixed an issue with the redirect after searching product in a customer wishlist in Admin * Fixed an issue where a configurable product did not go out of stock when last subitem of some option was sold * Fixed an issue with varnish config generation for multiple IPs in access list field * Fixed the wrong di.xml in the Magento_Developer module - * Fixed an issue where changes were not saved when default billing/shipping address was not selected in customer addresses + * Fixed an issue where changes were not saved when default billing/shipping address was not selected in customer addresses * Fixed the issue where the Update Qty button looked disabled during a partial invoice creation * Fixed an issue where the creation date was not displayed in invoices and credit memo grids - * Fixed an issue where it was impossible to install Magento_Quote on PHP 5.6 + * Fixed an issue where it was impossible to install Magento_Quote on PHP 5.6 * Fixed an issue that changes are not saved when default billing/shipping address is unchecked in customer addresses * Fixed an issue where "Update Qty" button looks disabled while creating partial invoice * Fixed an issue where date created column is not populated in invoices and credit memo grid @@ -158,9 +329,9 @@ * Fixed an issue with wrong link "File Permission Help" * Fixed an issue where dev/tools are broken when DI compiler is used due to skipped by the compiler dev/tools/Magento folder * Framework improvements: - * JavaScript testsuites divided into frontend, backend and lib suites + * JavaScript testsuites divided into frontend, backend and lib suites * Implemented image compression on server side upload - * Implemented frontend page resources sorting + * Implemented frontend page resources sorting * Removed the Magic __call method usage in templates * Introduced Jasmine + PhantomJS JavaScript testing infrastructure * Removed support of PHP 5.4 @@ -170,30 +341,30 @@ * GitHub requests : * [#593](https://github.com/magento/magento2/issues/593) -- Allow to use "0" as customer group * [#804](https://github.com/magento/magento2/issues/804) -- Comment about VAT number displayed under different field in Customer Configuration - + 0.42.0-beta6 ============= * Various improvements: - * Implemented caching for WebAPI configuration - * Improved tests coverage of the CurrencySymbol module - * Table catalogsearch_fulltext is setting up with ENGINE=InnoDB - * Improved unit test coverage of the Catalog related functionality - * Optimized JS dependencies - * Refactored controller actions in the Sales module - * Refactored controller actions in the Customer module - * Removed the assertion for the exact number of attributes in API-functional tests for customer metadata. - * Refactored API code for the CheckoutAgreements module - * Refactored API code for the GiftMessage module - * Refactored API for the Checkout module + * Implemented caching for WebAPI configuration + * Improved tests coverage of the CurrencySymbol module + * Table catalogsearch_fulltext is setting up with ENGINE=InnoDB + * Improved unit test coverage of the Catalog related functionality + * Optimized JS dependencies + * Refactored controller actions in the Sales module + * Refactored controller actions in the Customer module + * Removed the assertion for the exact number of attributes in API-functional tests for customer metadata. + * Refactored API code for the CheckoutAgreements module + * Refactored API code for the GiftMessage module + * Refactored API for the Checkout module * Fixed bugs: - * Fixed an where issue were WebAPI generated the wrong WSDL - * Fixed an issue where Catalog, Checkout, Customer API ACLs did not support AJAX use case(s) - * Fixed an issue where SOAP tests failed after upgrading to ZF 1.12.9 - * Fixed an issue where the 'There is no data for export' message was displayed permanently after invalid search - * Fixed an issue where there was no ability to set category position during creation it - * Fixed a CSS issue where certain images were absent on banners () + * Fixed an where issue were WebAPI generated the wrong WSDL + * Fixed an issue where Catalog, Checkout, Customer API ACLs did not support AJAX use case(s) + * Fixed an issue where SOAP tests failed after upgrading to ZF 1.12.9 + * Fixed an issue where the 'There is no data for export' message was displayed permanently after invalid search + * Fixed an issue where there was no ability to set category position during creation it + * Fixed a CSS issue where certain images were absent on banners () * Fixed an issue where the 'Date Of Birth' value was i reset to current date on the customer form) - * Fixed an issue where the behavior of the "Terms and Conditions" validation on multiple address checkout was different from the one for the onepage checkout + * Fixed an issue where the behavior of the "Terms and Conditions" validation on multiple address checkout was different from the one for the onepage checkout * Fixed an issue where it was impossible to checkout with multiple addresses * Fixed an issue where the 'This is a required field ' message was not displayed for "Terms and Conditions" if the latter was not selected * GitHub Requests: @@ -202,9 +373,9 @@ * [#866](https://github.com/magento/magento2/issues/866) -- Configurable product attribute scope * [#965](https://github.com/magento/magento2/pull/965) -- extra tests for current interception behavior * Service Contracts: - * The Downloadable module basic implementation + * The Downloadable module basic implementation * Framework improvements: - * Refactored and covered with tests the classes with high CRAP value (>50) + * Refactored and covered with tests the classes with high CRAP value (>50) * Moved Theme Management changes, Design changes, Design\Backend modules, and Observer components from the Core module to the Theme module * Moved Debug Hints models from the Core module to the newly added Developer module * Moved URL components, Factory, and EntityFactory from the Core module to the Magento Framework @@ -212,14 +383,14 @@ * Compressed and resized images * Added new base styles for the Admin re-design * Added the WAI-ARIA attributes are to the Search Autocomplete on the storefront - * Added visual style for the 'skip to content' attribute on the storefront - * Fixed the style of persistent login messages on the storefront for all themes - * Fixed the style of scrolling for Categories with long names in the Admin - * Fixed the "css/print.css" file path on the storefront pages for all themes + * Added visual style for the 'skip to content' attribute on the storefront + * Fixed the style of persistent login messages on the storefront for all themes + * Fixed the style of scrolling for Categories with long names in the Admin + * Fixed the "css/print.css" file path on the storefront pages for all themes * Tests improvements: - * Converted all fixtures/repositories for functional tests to .xml files + * Converted all fixtures/repositories for functional tests to .xml files * Improved interaction between webdriver and the new Magento JS forms - * Increased unit and integration tests coverage + * Increased unit and integration tests coverage 0.42.0-beta5 ============= diff --git a/app/code/Magento/AdminNotification/composer.json b/app/code/Magento/AdminNotification/composer.json index faf93f3ce5e415ba8c380067ee7504432d168f5c..26fe4843a27f037e11f00c3b6d2bbace9e0c9ba3 100644 --- a/app/code/Magento/AdminNotification/composer.json +++ b/app/code/Magento/AdminNotification/composer.json @@ -3,15 +3,15 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-store": "0.42.0-beta11", - "magento/module-backend": "0.42.0-beta11", - "magento/module-media-storage": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-store": "0.74.0-beta1", + "magento/module-backend": "0.74.0-beta1", + "magento/module-media-storage": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "lib-libxml": "*", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/Authorization/composer.json b/app/code/Magento/Authorization/composer.json index d2a5c21759bde47605eacd07ab2ac6abe67e69ea..77ff967c18683861bf28bd13b3dd7760bbc053aa 100644 --- a/app/code/Magento/Authorization/composer.json +++ b/app/code/Magento/Authorization/composer.json @@ -3,12 +3,12 @@ "description": "Authorization module provides access to Magento ACL functionality.", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-backend": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-backend": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/Backend/composer.json b/app/code/Magento/Backend/composer.json index 33daed277cc4b124fdeedafb5f54564493ceadf4..659cf679b5a1d1a927053f423a23a8ecf8b3bed1 100644 --- a/app/code/Magento/Backend/composer.json +++ b/app/code/Magento/Backend/composer.json @@ -3,27 +3,27 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-store": "0.42.0-beta11", - "magento/module-directory": "0.42.0-beta11", - "magento/module-developer": "0.42.0-beta11", - "magento/module-eav": "0.42.0-beta11", - "magento/module-cron": "0.42.0-beta11", - "magento/module-theme": "0.42.0-beta11", - "magento/module-reports": "0.42.0-beta11", - "magento/module-sales": "0.42.0-beta11", - "magento/module-quote": "0.42.0-beta11", - "magento/module-catalog": "0.42.0-beta11", - "magento/module-user": "0.42.0-beta11", - "magento/module-backup": "0.42.0-beta11", - "magento/module-customer": "0.42.0-beta11", - "magento/module-translation": "0.42.0-beta11", - "magento/module-require-js": "0.42.0-beta11", - "magento/module-config": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-store": "0.74.0-beta1", + "magento/module-directory": "0.74.0-beta1", + "magento/module-developer": "0.74.0-beta1", + "magento/module-eav": "0.74.0-beta1", + "magento/module-cron": "0.74.0-beta1", + "magento/module-theme": "0.74.0-beta1", + "magento/module-reports": "0.74.0-beta1", + "magento/module-sales": "0.74.0-beta1", + "magento/module-quote": "0.74.0-beta1", + "magento/module-catalog": "0.74.0-beta1", + "magento/module-user": "0.74.0-beta1", + "magento/module-backup": "0.74.0-beta1", + "magento/module-customer": "0.74.0-beta1", + "magento/module-translation": "0.74.0-beta1", + "magento/module-require-js": "0.74.0-beta1", + "magento/module-config": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/Backup/composer.json b/app/code/Magento/Backup/composer.json index 73c91afc1ebc3f09dcb1224d12f2cebc5340f79a..714e41e7aae2b3e55c16fc813238911341d8dcc0 100644 --- a/app/code/Magento/Backup/composer.json +++ b/app/code/Magento/Backup/composer.json @@ -3,14 +3,14 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-store": "0.42.0-beta11", - "magento/module-backend": "0.42.0-beta11", - "magento/module-cron": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-store": "0.74.0-beta1", + "magento/module-backend": "0.74.0-beta1", + "magento/module-cron": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/Bundle/Model/Resource/Indexer/Price.php b/app/code/Magento/Bundle/Model/Resource/Indexer/Price.php index decc168ec2ffff14ec7b2e01ede79d020bf7baf2..e4a7ceb99903b0987bbd38eebc3464895efe4d25 100644 --- a/app/code/Magento/Bundle/Model/Resource/Indexer/Price.php +++ b/app/code/Magento/Bundle/Model/Resource/Indexer/Price.php @@ -529,27 +529,6 @@ class Price extends \Magento\Catalog\Model\Resource\Product\Indexer\Price\Defaul $this->_prepareBundlePriceByType(\Magento\Bundle\Model\Product\Price::PRICE_TYPE_FIXED, $entityIds); $this->_prepareBundlePriceByType(\Magento\Bundle\Model\Product\Price::PRICE_TYPE_DYNAMIC, $entityIds); - /** - * Add possibility modify prices from external events - */ - $select = $this->_getWriteAdapter()->select()->join( - ['wd' => $this->_getWebsiteDateTable()], - 'i.website_id = wd.website_id', - [] - ); - $this->_eventManager->dispatch( - 'prepare_catalog_product_price_index_table', - [ - 'index_table' => ['i' => $this->_getBundlePriceTable()], - 'select' => $select, - 'entity_id' => 'i.entity_id', - 'customer_group_id' => 'i.customer_group_id', - 'website_id' => 'i.website_id', - 'website_date' => 'wd.website_date', - 'update_fields' => ['price', 'min_price', 'max_price'] - ] - ); - $this->_calculateBundleOptionPrice(); $this->_applyCustomOption(); diff --git a/app/code/Magento/Bundle/composer.json b/app/code/Magento/Bundle/composer.json index 69d80ed65073ba0ddc4bdb03c5ed47f769b3e569..bd5de2331605a8ed5e2ef03bceed9054d2dd995e 100644 --- a/app/code/Magento/Bundle/composer.json +++ b/app/code/Magento/Bundle/composer.json @@ -3,28 +3,28 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-store": "0.42.0-beta11", - "magento/module-catalog": "0.42.0-beta11", - "magento/module-tax": "0.42.0-beta11", - "magento/module-backend": "0.42.0-beta11", - "magento/module-sales": "0.42.0-beta11", - "magento/module-checkout": "0.42.0-beta11", - "magento/module-catalog-inventory": "0.42.0-beta11", - "magento/module-customer": "0.42.0-beta11", - "magento/module-catalog-rule": "0.42.0-beta11", - "magento/module-eav": "0.42.0-beta11", - "magento/module-config": "0.42.0-beta11", - "magento/module-gift-message": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", - "magento/module-quote": "0.42.0-beta11", - "magento/module-media-storage": "0.42.0-beta11", + "magento/module-store": "0.74.0-beta1", + "magento/module-catalog": "0.74.0-beta1", + "magento/module-tax": "0.74.0-beta1", + "magento/module-backend": "0.74.0-beta1", + "magento/module-sales": "0.74.0-beta1", + "magento/module-checkout": "0.74.0-beta1", + "magento/module-catalog-inventory": "0.74.0-beta1", + "magento/module-customer": "0.74.0-beta1", + "magento/module-catalog-rule": "0.74.0-beta1", + "magento/module-eav": "0.74.0-beta1", + "magento/module-config": "0.74.0-beta1", + "magento/module-gift-message": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", + "magento/module-quote": "0.74.0-beta1", + "magento/module-media-storage": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "suggest": { - "magento/module-webapi": "0.42.0-beta11" + "magento/module-webapi": "0.74.0-beta1" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/Bundle/view/frontend/templates/catalog/product/view/type/bundle/option/checkbox.phtml b/app/code/Magento/Bundle/view/frontend/templates/catalog/product/view/type/bundle/option/checkbox.phtml index 00938f3c70c0f58427e5b1302dc9c77f3ee6ed0c..505a554fe65a1a36a891522dcbc8e9e505efb825 100644 --- a/app/code/Magento/Bundle/view/frontend/templates/catalog/product/view/type/bundle/option/checkbox.phtml +++ b/app/code/Magento/Bundle/view/frontend/templates/catalog/product/view/type/bundle/option/checkbox.phtml @@ -29,7 +29,7 @@ <input class="bundle-option-<?php echo $_option->getId() ?> checkbox product bundle option change-container-classname" id="bundle-option-<?php echo $_option->getId() ?>-<?php echo $_selection->getSelectionId() ?>" type="checkbox" - <?php if ($_option->getRequired()) echo 'data-validate="{\'validate-one-required-by-name\':true}"'?> + <?php if ($_option->getRequired()) echo 'data-validate="{\'validate-one-required-by-name\':\'input[name^="bundle_option[' . $_option->getId() . ']"]:checked\'}"'?> name="bundle_option[<?php echo $_option->getId() ?>][<?php echo $_selection->getId() ?>]" <?php if ($block->isSelected($_selection)) echo ' checked="checked"' ?> <?php if (!$_selection->isSaleable()) echo ' disabled="disabled"' ?> diff --git a/app/code/Magento/Captcha/composer.json b/app/code/Magento/Captcha/composer.json index 8203866281b29e5ab54fd3ba2cc27d432c204766..a00471c9759f5616e89b021b324ccb5c5116bd67 100644 --- a/app/code/Magento/Captcha/composer.json +++ b/app/code/Magento/Captcha/composer.json @@ -3,15 +3,15 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-store": "0.42.0-beta11", - "magento/module-customer": "0.42.0-beta11", - "magento/module-checkout": "0.42.0-beta11", - "magento/module-backend": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-store": "0.74.0-beta1", + "magento/module-customer": "0.74.0-beta1", + "magento/module-checkout": "0.74.0-beta1", + "magento/module-backend": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/Catalog/Model/Resource/Product/Indexer/Price/DefaultPrice.php b/app/code/Magento/Catalog/Model/Resource/Product/Indexer/Price/DefaultPrice.php index 6d97bd9583af83f82f7dc3a904b13a105d9a000b..b0185bcf1397171d73550b750766a591ba08487b 100644 --- a/app/code/Magento/Catalog/Model/Resource/Product/Indexer/Price/DefaultPrice.php +++ b/app/code/Magento/Catalog/Model/Resource/Product/Indexer/Price/DefaultPrice.php @@ -318,28 +318,6 @@ class DefaultPrice extends \Magento\Catalog\Model\Resource\Product\Indexer\Abstr $query = $select->insertFromSelect($this->_getDefaultFinalPriceTable(), [], false); $write->query($query); - - /** - * Add possibility modify prices from external events - */ - $select = $write->select()->join( - ['wd' => $this->_getWebsiteDateTable()], - 'i.website_id = wd.website_id', - [] - ); - $this->_eventManager->dispatch( - 'prepare_catalog_product_price_index_table', - [ - 'index_table' => ['i' => $this->_getDefaultFinalPriceTable()], - 'select' => $select, - 'entity_id' => 'i.entity_id', - 'customer_group_id' => 'i.customer_group_id', - 'website_id' => 'i.website_id', - 'website_date' => 'wd.website_date', - 'update_fields' => ['price', 'min_price', 'max_price'] - ] - ); - return $this; } diff --git a/app/code/Magento/Catalog/composer.json b/app/code/Magento/Catalog/composer.json index f6e7adcc008d5c41bcffa81f1aad61c587900316..9a8170b92698efcd808b3e06769ad1fbf619ab8b 100644 --- a/app/code/Magento/Catalog/composer.json +++ b/app/code/Magento/Catalog/composer.json @@ -3,37 +3,37 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-store": "0.42.0-beta11", - "magento/module-eav": "0.42.0-beta11", - "magento/module-cms": "0.42.0-beta11", - "magento/module-indexer": "0.42.0-beta11", - "magento/module-customer": "0.42.0-beta11", - "magento/module-theme": "0.42.0-beta11", - "magento/module-checkout": "0.42.0-beta11", - "magento/module-log": "0.42.0-beta11", - "magento/module-backend": "0.42.0-beta11", - "magento/module-widget": "0.42.0-beta11", - "magento/module-wishlist": "0.42.0-beta11", - "magento/module-tax": "0.42.0-beta11", - "magento/module-msrp": "0.42.0-beta11", - "magento/module-catalog-inventory": "0.42.0-beta11", - "magento/module-directory": "0.42.0-beta11", - "magento/module-catalog-rule": "0.42.0-beta11", - "magento/module-product-alert": "0.42.0-beta11", - "magento/module-url-rewrite": "0.42.0-beta11", - "magento/module-catalog-url-rewrite": "0.42.0-beta11", - "magento/module-page-cache": "0.42.0-beta11", - "magento/module-quote": "0.42.0-beta11", - "magento/module-config": "0.42.0-beta11", - "magento/module-media-storage": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-store": "0.74.0-beta1", + "magento/module-eav": "0.74.0-beta1", + "magento/module-cms": "0.74.0-beta1", + "magento/module-indexer": "0.74.0-beta1", + "magento/module-customer": "0.74.0-beta1", + "magento/module-theme": "0.74.0-beta1", + "magento/module-checkout": "0.74.0-beta1", + "magento/module-log": "0.74.0-beta1", + "magento/module-backend": "0.74.0-beta1", + "magento/module-widget": "0.74.0-beta1", + "magento/module-wishlist": "0.74.0-beta1", + "magento/module-tax": "0.74.0-beta1", + "magento/module-msrp": "0.74.0-beta1", + "magento/module-catalog-inventory": "0.74.0-beta1", + "magento/module-directory": "0.74.0-beta1", + "magento/module-catalog-rule": "0.74.0-beta1", + "magento/module-product-alert": "0.74.0-beta1", + "magento/module-url-rewrite": "0.74.0-beta1", + "magento/module-catalog-url-rewrite": "0.74.0-beta1", + "magento/module-page-cache": "0.74.0-beta1", + "magento/module-quote": "0.74.0-beta1", + "magento/module-config": "0.74.0-beta1", + "magento/module-media-storage": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "suggest": { - "magento/module-cookie": "0.42.0-beta11" + "magento/module-cookie": "0.74.0-beta1" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/CatalogImportExport/composer.json b/app/code/Magento/CatalogImportExport/composer.json index e7d2be7e347536cbdbc8fa8e8074517cff30da15..3bb4b80527dc8989ba4ef59f37efcd9377882ab8 100644 --- a/app/code/Magento/CatalogImportExport/composer.json +++ b/app/code/Magento/CatalogImportExport/composer.json @@ -3,20 +3,20 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-catalog": "0.42.0-beta11", - "magento/module-eav": "0.42.0-beta11", - "magento/module-import-export": "0.42.0-beta11", - "magento/module-indexer": "0.42.0-beta11", - "magento/module-store": "0.42.0-beta11", - "magento/module-catalog-inventory": "0.42.0-beta11", - "magento/module-media-storage": "0.42.0-beta11", - "magento/module-customer": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-catalog": "0.74.0-beta1", + "magento/module-eav": "0.74.0-beta1", + "magento/module-import-export": "0.74.0-beta1", + "magento/module-indexer": "0.74.0-beta1", + "magento/module-store": "0.74.0-beta1", + "magento/module-catalog-inventory": "0.74.0-beta1", + "magento/module-media-storage": "0.74.0-beta1", + "magento/module-customer": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "ext-ctype": "*", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/CatalogInventory/composer.json b/app/code/Magento/CatalogInventory/composer.json index 1f8771b0c1708cb6290a8fb8202fe76a2b88f48c..a99f0c15c70591434e213c94bd370e5acc14c7b5 100644 --- a/app/code/Magento/CatalogInventory/composer.json +++ b/app/code/Magento/CatalogInventory/composer.json @@ -3,18 +3,18 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-config": "0.42.0-beta11", - "magento/module-store": "0.42.0-beta11", - "magento/module-catalog": "0.42.0-beta11", - "magento/module-customer": "0.42.0-beta11", - "magento/module-indexer": "0.42.0-beta11", - "magento/module-eav": "0.42.0-beta11", - "magento/module-quote": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-config": "0.74.0-beta1", + "magento/module-store": "0.74.0-beta1", + "magento/module-catalog": "0.74.0-beta1", + "magento/module-customer": "0.74.0-beta1", + "magento/module-indexer": "0.74.0-beta1", + "magento/module-eav": "0.74.0-beta1", + "magento/module-quote": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/CatalogRule/Model/Observer.php b/app/code/Magento/CatalogRule/Model/Observer.php index 88f24410e253ea30111561745a82532154f4952f..9d636b0ae60b1c9288526410b048c92e3c5de6d8 100644 --- a/app/code/Magento/CatalogRule/Model/Observer.php +++ b/app/code/Magento/CatalogRule/Model/Observer.php @@ -47,11 +47,6 @@ class Observer */ protected $_customerSession; - /** - * @var Price - */ - protected $_productPrice; - /** * @var \Magento\CatalogRule\Model\Resource\Rule\CollectionFactory */ @@ -86,7 +81,6 @@ class Observer * @param Resource\RuleFactory $resourceRuleFactory * @param Resource\Rule $resourceRule * @param Resource\Rule\CollectionFactory $ruleCollectionFactory - * @param Price $productPrice * @param StoreManagerInterface $storeManager * @param TimezoneInterface $localeDate * @param CustomerModelSession $customerSession @@ -100,7 +94,6 @@ class Observer Resource\RuleFactory $resourceRuleFactory, Resource\Rule $resourceRule, Resource\Rule\CollectionFactory $ruleCollectionFactory, - Rule\Product\Price $productPrice, StoreManagerInterface $storeManager, TimezoneInterface $localeDate, CustomerModelSession $customerSession, @@ -111,7 +104,6 @@ class Observer $this->_resourceRuleFactory = $resourceRuleFactory; $this->_resourceRule = $resourceRule; $this->_ruleCollectionFactory = $ruleCollectionFactory; - $this->_productPrice = $productPrice; $this->_storeManager = $storeManager; $this->_localeDate = $localeDate; $this->_customerSession = $customerSession; @@ -215,36 +207,6 @@ class Observer $this->_rulePrices = []; } - /** - * Calculate minimal final price with catalog rule price - * - * @param EventObserver $observer - * @return $this - */ - public function prepareCatalogProductPriceIndexTable(EventObserver $observer) - { - $select = $observer->getEvent()->getSelect(); - - $indexTable = $observer->getEvent()->getIndexTable(); - $entityId = $observer->getEvent()->getEntityId(); - $customerGroupId = $observer->getEvent()->getCustomerGroupId(); - $websiteId = $observer->getEvent()->getWebsiteId(); - $websiteDate = $observer->getEvent()->getWebsiteDate(); - $updateFields = $observer->getEvent()->getUpdateFields(); - - $this->_productPrice->applyPriceRuleToIndexTable( - $select, - $indexTable, - $entityId, - $customerGroupId, - $websiteId, - $updateFields, - $websiteDate - ); - - return $this; - } - /** * @param EventObserver $observer * @return $this diff --git a/app/code/Magento/CatalogRule/composer.json b/app/code/Magento/CatalogRule/composer.json index 6a4603978014cd24961f7b33ab1c3f97af727401..d7523d37ba568775f8fe18fabdb4585b482856fa 100644 --- a/app/code/Magento/CatalogRule/composer.json +++ b/app/code/Magento/CatalogRule/composer.json @@ -3,19 +3,19 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-store": "0.42.0-beta11", - "magento/module-rule": "0.42.0-beta11", - "magento/module-catalog": "0.42.0-beta11", - "magento/module-customer": "0.42.0-beta11", - "magento/module-backend": "0.42.0-beta11", - "magento/module-eav": "0.42.0-beta11", - "magento/module-indexer": "0.42.0-beta11", - "magento/module-import-export": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-store": "0.74.0-beta1", + "magento/module-rule": "0.74.0-beta1", + "magento/module-catalog": "0.74.0-beta1", + "magento/module-customer": "0.74.0-beta1", + "magento/module-backend": "0.74.0-beta1", + "magento/module-eav": "0.74.0-beta1", + "magento/module-indexer": "0.74.0-beta1", + "magento/module-import-export": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/CatalogRule/etc/events.xml b/app/code/Magento/CatalogRule/etc/events.xml deleted file mode 100644 index 646d1de75082550ea731b69746dde56286d45953..0000000000000000000000000000000000000000 --- a/app/code/Magento/CatalogRule/etc/events.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0"?> -<!-- -/** - * Copyright © 2015 Magento. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../lib/internal/Magento/Framework/Event/etc/events.xsd"> - <event name="prepare_catalog_product_price_index_table"> - <observer name="catalogrule" instance="Magento\CatalogRule\Model\Observer" method="prepareCatalogProductPriceIndexTable" /> - </event> -</config> diff --git a/app/code/Magento/CatalogSearch/composer.json b/app/code/Magento/CatalogSearch/composer.json index 6f18c48c09539f25b5ed88d00c92ed9b5334e7c4..9c69ab5a1b10fea15fa6fa4d44323e926a1b0c4c 100644 --- a/app/code/Magento/CatalogSearch/composer.json +++ b/app/code/Magento/CatalogSearch/composer.json @@ -3,20 +3,20 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-store": "0.42.0-beta11", - "magento/module-catalog": "0.42.0-beta11", - "magento/module-search": "0.42.0-beta11", - "magento/module-customer": "0.42.0-beta11", - "magento/module-directory": "0.42.0-beta11", - "magento/module-indexer": "0.42.0-beta11", - "magento/module-eav": "0.42.0-beta11", - "magento/module-backend": "0.42.0-beta11", - "magento/module-theme": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-store": "0.74.0-beta1", + "magento/module-catalog": "0.74.0-beta1", + "magento/module-search": "0.74.0-beta1", + "magento/module-customer": "0.74.0-beta1", + "magento/module-directory": "0.74.0-beta1", + "magento/module-indexer": "0.74.0-beta1", + "magento/module-eav": "0.74.0-beta1", + "magento/module-backend": "0.74.0-beta1", + "magento/module-theme": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/CatalogUrlRewrite/composer.json b/app/code/Magento/CatalogUrlRewrite/composer.json index 4a580fe66dccd16f87760604369c6f05f4256b19..de90f444789d867ebda8453f31af08074193e769 100644 --- a/app/code/Magento/CatalogUrlRewrite/composer.json +++ b/app/code/Magento/CatalogUrlRewrite/composer.json @@ -3,18 +3,18 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-backend": "0.42.0-beta11", - "magento/module-catalog": "0.42.0-beta11", - "magento/module-catalog-import-export": "0.42.0-beta11", - "magento/module-eav": "0.42.0-beta11", - "magento/module-import-export": "0.42.0-beta11", - "magento/module-store": "0.42.0-beta11", - "magento/module-url-rewrite": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-backend": "0.74.0-beta1", + "magento/module-catalog": "0.74.0-beta1", + "magento/module-catalog-import-export": "0.74.0-beta1", + "magento/module-eav": "0.74.0-beta1", + "magento/module-import-export": "0.74.0-beta1", + "magento/module-store": "0.74.0-beta1", + "magento/module-url-rewrite": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/CatalogWidget/composer.json b/app/code/Magento/CatalogWidget/composer.json index 38d68cb4be5b1f67ea0aa3462eca11d684c9b1a2..8b533a13e21623868e280a344d074c008b2c1098 100644 --- a/app/code/Magento/CatalogWidget/composer.json +++ b/app/code/Magento/CatalogWidget/composer.json @@ -3,19 +3,19 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-catalog": "0.42.0-beta11", - "magento/module-widget": "0.42.0-beta11", - "magento/module-backend": "0.42.0-beta11", - "magento/module-rule": "0.42.0-beta11", - "magento/module-eav": "0.42.0-beta11", - "magento/module-customer": "0.42.0-beta11", - "magento/module-store": "0.42.0-beta11", - "magento/module-wishlist": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-catalog": "0.74.0-beta1", + "magento/module-widget": "0.74.0-beta1", + "magento/module-backend": "0.74.0-beta1", + "magento/module-rule": "0.74.0-beta1", + "magento/module-eav": "0.74.0-beta1", + "magento/module-customer": "0.74.0-beta1", + "magento/module-store": "0.74.0-beta1", + "magento/module-wishlist": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/Centinel/composer.json b/app/code/Magento/Centinel/composer.json index 78cdf53ce4d7b9324bbad2319b41f85dde732814..2270659643400f47167fa405dd0219815331ce13 100644 --- a/app/code/Magento/Centinel/composer.json +++ b/app/code/Magento/Centinel/composer.json @@ -3,15 +3,15 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-store": "0.42.0-beta11", - "magento/module-checkout": "0.42.0-beta11", - "magento/module-backend": "0.42.0-beta11", - "magento/module-sales": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-store": "0.74.0-beta1", + "magento/module-checkout": "0.74.0-beta1", + "magento/module-backend": "0.74.0-beta1", + "magento/module-sales": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/Checkout/composer.json b/app/code/Magento/Checkout/composer.json index ed8f574a7005d5cf7aa498cff6670c9cf6027f40..6c15c5a46c36fabb60a805f4c8a2a8ca3bf0b75c 100644 --- a/app/code/Magento/Checkout/composer.json +++ b/app/code/Magento/Checkout/composer.json @@ -3,31 +3,31 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-store": "0.42.0-beta11", - "magento/module-sales": "0.42.0-beta11", - "magento/module-catalog-inventory": "0.42.0-beta11", - "magento/module-config": "0.42.0-beta11", - "magento/module-customer": "0.42.0-beta11", - "magento/module-catalog": "0.42.0-beta11", - "magento/module-payment": "0.42.0-beta11", - "magento/module-tax": "0.42.0-beta11", - "magento/module-directory": "0.42.0-beta11", - "magento/module-eav": "0.42.0-beta11", - "magento/module-gift-message": "0.42.0-beta11", - "magento/module-wishlist": "0.42.0-beta11", - "magento/module-page-cache": "0.42.0-beta11", - "magento/module-theme": "0.42.0-beta11", - "magento/module-msrp": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", - "magento/module-ui": "0.42.0-beta11", - "magento/module-quote": "0.42.0-beta11", + "magento/module-store": "0.74.0-beta1", + "magento/module-sales": "0.74.0-beta1", + "magento/module-catalog-inventory": "0.74.0-beta1", + "magento/module-config": "0.74.0-beta1", + "magento/module-customer": "0.74.0-beta1", + "magento/module-catalog": "0.74.0-beta1", + "magento/module-payment": "0.74.0-beta1", + "magento/module-tax": "0.74.0-beta1", + "magento/module-directory": "0.74.0-beta1", + "magento/module-eav": "0.74.0-beta1", + "magento/module-gift-message": "0.74.0-beta1", + "magento/module-wishlist": "0.74.0-beta1", + "magento/module-page-cache": "0.74.0-beta1", + "magento/module-theme": "0.74.0-beta1", + "magento/module-msrp": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", + "magento/module-ui": "0.74.0-beta1", + "magento/module-quote": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "suggest": { - "magento/module-cookie": "0.42.0-beta11" + "magento/module-cookie": "0.74.0-beta1" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/CheckoutAgreements/composer.json b/app/code/Magento/CheckoutAgreements/composer.json index 764b8b4e97b92f66fa7f711b7e08fc0ef22c057b..1597afb38007873a927009646947de57b7408854 100644 --- a/app/code/Magento/CheckoutAgreements/composer.json +++ b/app/code/Magento/CheckoutAgreements/composer.json @@ -3,14 +3,14 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-checkout": "0.42.0-beta11", - "magento/module-store": "0.42.0-beta11", - "magento/module-backend": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-checkout": "0.74.0-beta1", + "magento/module-store": "0.74.0-beta1", + "magento/module-backend": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/Cms/composer.json b/app/code/Magento/Cms/composer.json index 9384e914ed55cc731ca124669284e5432773b4b1..bb170a779ef25fc387efcdcb606f631f9dfcf0b5 100644 --- a/app/code/Magento/Cms/composer.json +++ b/app/code/Magento/Cms/composer.json @@ -3,20 +3,20 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-store": "0.42.0-beta11", - "magento/module-theme": "0.42.0-beta11", - "magento/module-widget": "0.42.0-beta11", - "magento/module-backend": "0.42.0-beta11", - "magento/module-catalog": "0.42.0-beta11", - "magento/module-email": "0.42.0-beta11", - "magento/module-ui": "0.42.0-beta11", - "magento/module-variable": "0.42.0-beta11", - "magento/module-media-storage": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-store": "0.74.0-beta1", + "magento/module-theme": "0.74.0-beta1", + "magento/module-widget": "0.74.0-beta1", + "magento/module-backend": "0.74.0-beta1", + "magento/module-catalog": "0.74.0-beta1", + "magento/module-email": "0.74.0-beta1", + "magento/module-ui": "0.74.0-beta1", + "magento/module-variable": "0.74.0-beta1", + "magento/module-media-storage": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/CmsUrlRewrite/composer.json b/app/code/Magento/CmsUrlRewrite/composer.json index 584c86836e4a91f043f8c863b54f64c1c73d0daa..7f4ce715dab58c3447aa8f84308990613b359ae1 100644 --- a/app/code/Magento/CmsUrlRewrite/composer.json +++ b/app/code/Magento/CmsUrlRewrite/composer.json @@ -3,14 +3,14 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-store": "0.42.0-beta11", - "magento/module-cms": "0.42.0-beta11", - "magento/module-url-rewrite": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-store": "0.74.0-beta1", + "magento/module-cms": "0.74.0-beta1", + "magento/module-url-rewrite": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/Config/composer.json b/app/code/Magento/Config/composer.json index 9fdfc97389801480818889a96c47d96ce1b2dd11..f67e70b620e702c1490466ca08f342f94db2da28 100644 --- a/app/code/Magento/Config/composer.json +++ b/app/code/Magento/Config/composer.json @@ -3,17 +3,17 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/framework": "0.42.0-beta11", - "magento/module-store": "0.42.0-beta11", - "magento/module-cron": "0.42.0-beta11", - "magento/module-email": "0.42.0-beta11", - "magento/module-directory": "0.42.0-beta11", - "magento/module-backend": "0.42.0-beta11", - "magento/module-media-storage": "0.42.0-beta11", + "magento/framework": "0.74.0-beta1", + "magento/module-store": "0.74.0-beta1", + "magento/module-cron": "0.74.0-beta1", + "magento/module-email": "0.74.0-beta1", + "magento/module-directory": "0.74.0-beta1", + "magento/module-backend": "0.74.0-beta1", + "magento/module-media-storage": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/ConfigurableImportExport/composer.json b/app/code/Magento/ConfigurableImportExport/composer.json index b7070263ad41b0cc8bce0435e0e341c80f7fe886..1144bb9390be0053eb5a529ccf54861e62a08172 100644 --- a/app/code/Magento/ConfigurableImportExport/composer.json +++ b/app/code/Magento/ConfigurableImportExport/composer.json @@ -3,16 +3,16 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-catalog": "0.42.0-beta11", - "magento/module-catalog-import-export": "0.42.0-beta11", - "magento/module-eav": "0.42.0-beta11", - "magento/module-import-export": "0.42.0-beta11", - "magento/module-configurable-product": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-catalog": "0.74.0-beta1", + "magento/module-catalog-import-export": "0.74.0-beta1", + "magento/module-eav": "0.74.0-beta1", + "magento/module-import-export": "0.74.0-beta1", + "magento/module-configurable-product": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/ConfigurableProduct/composer.json b/app/code/Magento/ConfigurableProduct/composer.json index 8e5ed6d41420f3511ea04f64c73aae01705a0d98..b5a49513dedb3ce1b0e367e796d92ba436d9c7e1 100644 --- a/app/code/Magento/ConfigurableProduct/composer.json +++ b/app/code/Magento/ConfigurableProduct/composer.json @@ -3,26 +3,26 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-store": "0.42.0-beta11", - "magento/module-catalog": "0.42.0-beta11", - "magento/module-catalog-inventory": "0.42.0-beta11", - "magento/module-sales": "0.42.0-beta11", - "magento/module-checkout": "0.42.0-beta11", - "magento/module-backend": "0.42.0-beta11", - "magento/module-eav": "0.42.0-beta11", - "magento/module-customer": "0.42.0-beta11", - "magento/module-catalog-rule": "0.42.0-beta11", - "magento/module-directory": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", - "magento/module-media-storage": "0.42.0-beta11", - "magento/module-quote": "0.42.0-beta11", + "magento/module-store": "0.74.0-beta1", + "magento/module-catalog": "0.74.0-beta1", + "magento/module-catalog-inventory": "0.74.0-beta1", + "magento/module-sales": "0.74.0-beta1", + "magento/module-checkout": "0.74.0-beta1", + "magento/module-backend": "0.74.0-beta1", + "magento/module-eav": "0.74.0-beta1", + "magento/module-customer": "0.74.0-beta1", + "magento/module-catalog-rule": "0.74.0-beta1", + "magento/module-directory": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", + "magento/module-media-storage": "0.74.0-beta1", + "magento/module-quote": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "suggest": { - "magento/module-webapi": "0.42.0-beta11" + "magento/module-webapi": "0.74.0-beta1" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/Contact/composer.json b/app/code/Magento/Contact/composer.json index 5cf852865c8884a34f1b0d5a7196170762fa292d..85af063ad24caf5edd01ce7305a966e184d28722 100644 --- a/app/code/Magento/Contact/composer.json +++ b/app/code/Magento/Contact/composer.json @@ -3,15 +3,15 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-config": "0.42.0-beta11", - "magento/module-store": "0.42.0-beta11", - "magento/module-customer": "0.42.0-beta11", - "magento/module-cms": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-config": "0.74.0-beta1", + "magento/module-store": "0.74.0-beta1", + "magento/module-customer": "0.74.0-beta1", + "magento/module-cms": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/Cookie/composer.json b/app/code/Magento/Cookie/composer.json index 677da5785a19e3b5091339135af9fdc2c7b6e7e5..d671460b9f065a3d80741d81be7bf1508060d346 100644 --- a/app/code/Magento/Cookie/composer.json +++ b/app/code/Magento/Cookie/composer.json @@ -3,15 +3,15 @@ "description": "N/A", "require": { "php": "~5.4.11|~5.5.0|~5.6.0", - "magento/module-store": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-store": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "suggest": { - "magento/module-backend": "0.42.0-beta11" + "magento/module-backend": "0.74.0-beta1" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/Cron/Model/Observer.php b/app/code/Magento/Cron/Model/Observer.php index 0c4330b236445e5158ced871f4c4de452a4d53e4..800e1e732710d455b0a12a728df25a01f486ba5f 100644 --- a/app/code/Magento/Cron/Model/Observer.php +++ b/app/code/Magento/Cron/Model/Observer.php @@ -345,6 +345,13 @@ class Observer return $this; } + // check how long the record should stay unprocessed before marked as MISSED + $scheduleLifetime = (int)$this->_scopeConfig->getValue( + 'system/cron/' . $groupId . '/' . self::XML_PATH_SCHEDULE_LIFETIME, + \Magento\Store\Model\ScopeInterface::SCOPE_STORE + ); + $scheduleLifetime = $scheduleLifetime * self::SECONDS_IN_MINUTE; + /** * @var \Magento\Cron\Model\Resource\Schedule\Collection $history */ @@ -370,7 +377,9 @@ class Observer $now = $this->timezone->scopeTimeStamp(); /** @var Schedule $record */ foreach ($history as $record) { - if (strtotime($record->getExecutedAt()) < $now - $historyLifetimes[$record->getStatus()]) { + $checkTime = $record->getExecutedAt() ? strtotime($record->getExecutedAt()) : + strtotime($record->getScheduledAt()) + $scheduleLifetime; + if ($checkTime < $now - $historyLifetimes[$record->getStatus()]) { $record->delete(); } } diff --git a/app/code/Magento/Cron/Test/Unit/Model/ObserverTest.php b/app/code/Magento/Cron/Test/Unit/Model/ObserverTest.php index 1b9c5cd798101a15d4fd8ab122dacc1afa67bba0..1f67cb67065623e9bc84a9e41c12baa9bb4a8ae7 100644 --- a/app/code/Magento/Cron/Test/Unit/Model/ObserverTest.php +++ b/app/code/Magento/Cron/Test/Unit/Model/ObserverTest.php @@ -5,6 +5,8 @@ */ namespace Magento\Cron\Test\Unit\Model; +use Magento\Cron\Model\Schedule; + /** * Class \Magento\Cron\Test\Unit\Model\ObserverTest * @SuppressWarnings(PHPMD.CouplingBetweenObjects) @@ -607,4 +609,84 @@ class ObserverTest extends \PHPUnit_Framework_TestCase $this->_observer->dispatch(''); } + + public function testMissedJobsCleanedInTime() + { + /* 1. Initialize dependencies of _generate() method which is called first */ + $jobConfig = [ + 'test_group' => ['test_job1' => ['instance' => 'CronJob', 'method' => 'execute']], + ]; + + // This item was scheduled 2 days ago + $schedule1 = $this->getMockBuilder( + 'Magento\Cron\Model\Schedule' + )->disableOriginalConstructor()->setMethods( + ['getExecutedAt', 'getScheduledAt', 'getStatus', 'delete', '__wakeup'] + )->getMock(); + $schedule1->expects($this->any())->method('getExecutedAt')->will($this->returnValue(null)); + $schedule1->expects($this->any())->method('getScheduledAt')->will($this->returnValue('-2 day -1 hour')); + $schedule1->expects($this->any())->method('getStatus')->will($this->returnValue(Schedule::STATUS_MISSED)); + //we expect this job be deleted from the list + $schedule1->expects($this->once())->method('delete')->will($this->returnValue(true)); + + // This item was scheduled 1 day ago + $schedule2 = $this->getMockBuilder( + 'Magento\Cron\Model\Schedule' + )->disableOriginalConstructor()->setMethods( + ['getExecutedAt', 'getScheduledAt', 'getStatus', 'delete', '__wakeup'] + )->getMock(); + $schedule2->expects($this->any())->method('getExecutedAt')->will($this->returnValue(null)); + $schedule2->expects($this->any())->method('getScheduledAt')->will($this->returnValue('-1 day')); + $schedule2->expects($this->any())->method('getStatus')->will($this->returnValue(Schedule::STATUS_MISSED)); + //we don't expect this job be deleted from the list + $schedule2->expects($this->never())->method('delete'); + + $this->_collection->addItem($schedule1); + $this->_config->expects($this->once())->method('getJobs')->will($this->returnValue($jobConfig)); + + //get configuration value CACHE_KEY_LAST_HISTORY_CLEANUP_AT in the "_generate()" + $this->_cache->expects($this->at(0))->method('load')->will($this->returnValue(time() + 10000000)); + //get configuration value CACHE_KEY_LAST_HISTORY_CLEANUP_AT in the "_cleanup()" + $this->_cache->expects($this->at(1))->method('load')->will($this->returnValue(time() - 10000000)); + + $this->_scopeConfig->expects($this->at(0))->method('getValue') + ->with($this->equalTo('system/cron/test_group/use_separate_process')) + ->will($this->returnValue(0)); + $this->_scopeConfig->expects($this->at(1))->method('getValue') + ->with($this->equalTo('system/cron/test_group/schedule_generate_every')) + ->will($this->returnValue(0)); + $this->_scopeConfig->expects($this->at(2))->method('getValue') + ->with($this->equalTo('system/cron/test_group/history_cleanup_every')) + ->will($this->returnValue(0)); + $this->_scopeConfig->expects($this->at(3))->method('getValue') + ->with($this->equalTo('system/cron/test_group/schedule_lifetime')) + ->will($this->returnValue(2*24*60)); + $this->_scopeConfig->expects($this->at(4))->method('getValue') + ->with($this->equalTo('system/cron/test_group/history_success_lifetime')) + ->will($this->returnValue(0)); + $this->_scopeConfig->expects($this->at(5))->method('getValue') + ->with($this->equalTo('system/cron/test_group/history_failure_lifetime')) + ->will($this->returnValue(0)); + + /* 2. Initialize dependencies of _cleanup() method which is called second */ + $scheduleMock = $this->getMockBuilder('Magento\Cron\Model\Schedule')->disableOriginalConstructor()->getMock(); + $scheduleMock->expects($this->any())->method('getCollection')->will($this->returnValue($this->_collection)); + $this->_scheduleFactory->expects($this->at(0))->method('create')->will($this->returnValue($scheduleMock)); + + $collection = $this->getMockBuilder( + 'Magento\Cron\Model\Resource\Schedule\Collection' + )->setMethods( + ['addFieldToFilter', 'load', '__wakeup'] + )->disableOriginalConstructor()->getMock(); + $collection->expects($this->any())->method('addFieldToFilter')->will($this->returnSelf()); + $collection->expects($this->any())->method('load')->will($this->returnSelf()); + $collection->addItem($schedule1); + $collection->addItem($schedule2); + + $scheduleMock = $this->getMockBuilder('Magento\Cron\Model\Schedule')->disableOriginalConstructor()->getMock(); + $scheduleMock->expects($this->any())->method('getCollection')->will($this->returnValue($collection)); + $this->_scheduleFactory->expects($this->at(1))->method('create')->will($this->returnValue($scheduleMock)); + + $this->_observer->dispatch(''); + } } diff --git a/app/code/Magento/Cron/composer.json b/app/code/Magento/Cron/composer.json index 537fc35fcb0e7e8782c198e2172a8725acc286ca..58c67083c1b1c0d7580e5de643fed7716ad1424f 100644 --- a/app/code/Magento/Cron/composer.json +++ b/app/code/Magento/Cron/composer.json @@ -3,13 +3,13 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-config": "0.42.0-beta11", - "magento/module-store": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-config": "0.74.0-beta1", + "magento/module-store": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/CurrencySymbol/composer.json b/app/code/Magento/CurrencySymbol/composer.json index cf12bc45c09290b14863a145c89b8c52c6d09814..3c4206446733865d0afe6c82bfc3255463db6ac2 100644 --- a/app/code/Magento/CurrencySymbol/composer.json +++ b/app/code/Magento/CurrencySymbol/composer.json @@ -3,16 +3,16 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-config": "0.42.0-beta11", - "magento/module-store": "0.42.0-beta11", - "magento/module-page-cache": "0.42.0-beta11", - "magento/module-directory": "0.42.0-beta11", - "magento/module-backend": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-config": "0.74.0-beta1", + "magento/module-store": "0.74.0-beta1", + "magento/module-page-cache": "0.74.0-beta1", + "magento/module-directory": "0.74.0-beta1", + "magento/module-backend": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/Customer/Model/AccountManagement.php b/app/code/Magento/Customer/Model/AccountManagement.php index 129f46990118ab34ef0bd442198d93f5a5d325c3..59fbcb7f9f09fd5e28a2bc50faaff02255938ecc 100644 --- a/app/code/Magento/Customer/Model/AccountManagement.php +++ b/app/code/Magento/Customer/Model/AccountManagement.php @@ -839,6 +839,7 @@ class AccountManagement implements AccountManagementInterface $storeId = $this->getWebsiteStoreId($customer); } + $customerEmailData = $this->getFullCustomerObject($customer); /** @var \Magento\Framework\Mail\TransportInterface $transport */ $transport = $this->transportBuilder->setTemplateIdentifier( $this->scopeConfig->getValue( @@ -849,7 +850,7 @@ class AccountManagement implements AccountManagementInterface )->setTemplateOptions( ['area' => \Magento\Framework\App\Area::AREA_FRONTEND, 'store' => $storeId] )->setTemplateVars( - ['customer' => $customer, 'store' => $this->storeManager->getStore($storeId)] + ['customer' => $customerEmailData, 'store' => $this->storeManager->getStore($storeId)] )->setFrom( $this->scopeConfig->getValue( self::XML_PATH_FORGOT_EMAIL_IDENTITY, diff --git a/app/code/Magento/Customer/composer.json b/app/code/Magento/Customer/composer.json index fac52511ebdd845a9b76fbb26ffa8acccbc2a5b6..c7fe524a9cd1af4ecf0af22154559c3006ce9bdf 100644 --- a/app/code/Magento/Customer/composer.json +++ b/app/code/Magento/Customer/composer.json @@ -3,33 +3,33 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-store": "0.42.0-beta11", - "magento/module-eav": "0.42.0-beta11", - "magento/module-directory": "0.42.0-beta11", - "magento/module-catalog": "0.42.0-beta11", - "magento/module-newsletter": "0.42.0-beta11", - "magento/module-sales": "0.42.0-beta11", - "magento/module-checkout": "0.42.0-beta11", - "magento/module-wishlist": "0.42.0-beta11", - "magento/module-theme": "0.42.0-beta11", - "magento/module-backend": "0.42.0-beta11", - "magento/module-review": "0.42.0-beta11", - "magento/module-tax": "0.42.0-beta11", - "magento/module-page-cache": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", - "magento/module-authorization": "0.42.0-beta11", - "magento/module-integration": "0.42.0-beta11", - "magento/module-media-storage": "0.42.0-beta11", - "magento/module-ui": "0.42.0-beta11", - "magento/module-config": "0.42.0-beta11", - "magento/module-quote": "0.42.0-beta11", + "magento/module-store": "0.74.0-beta1", + "magento/module-eav": "0.74.0-beta1", + "magento/module-directory": "0.74.0-beta1", + "magento/module-catalog": "0.74.0-beta1", + "magento/module-newsletter": "0.74.0-beta1", + "magento/module-sales": "0.74.0-beta1", + "magento/module-checkout": "0.74.0-beta1", + "magento/module-wishlist": "0.74.0-beta1", + "magento/module-theme": "0.74.0-beta1", + "magento/module-backend": "0.74.0-beta1", + "magento/module-review": "0.74.0-beta1", + "magento/module-tax": "0.74.0-beta1", + "magento/module-page-cache": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", + "magento/module-authorization": "0.74.0-beta1", + "magento/module-integration": "0.74.0-beta1", + "magento/module-media-storage": "0.74.0-beta1", + "magento/module-ui": "0.74.0-beta1", + "magento/module-config": "0.74.0-beta1", + "magento/module-quote": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "suggest": { - "magento/module-cookie": "0.42.0-beta11" + "magento/module-cookie": "0.74.0-beta1" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/Customer/etc/data_source/customer_address.xml b/app/code/Magento/Customer/etc/data_source/customer_address.xml index 3f3cdd4b0e30a273062e46dcf0fd9c770cd3a14f..e3e88b578a12604b97419639750b8317019d0e51 100644 --- a/app/code/Magento/Customer/etc/data_source/customer_address.xml +++ b/app/code/Magento/Customer/etc/data_source/customer_address.xml @@ -49,7 +49,7 @@ </field> <field name="region" source="eav" formElement="input" visible="false"/> - <field name="postcode" source="eav" formElement="post_code_fix" > + <field name="postcode" source="eav" formElement="post_code" > <constraints> <validate name="required-entry"/> </constraints> diff --git a/app/code/Magento/CustomerImportExport/composer.json b/app/code/Magento/CustomerImportExport/composer.json index 13e08d12eaa476831a6bcff80b833a797c93be2b..45ff4fa4dc755ae1e1c81d7f170153189125ac44 100644 --- a/app/code/Magento/CustomerImportExport/composer.json +++ b/app/code/Magento/CustomerImportExport/composer.json @@ -3,17 +3,17 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-store": "0.42.0-beta11", - "magento/module-backend": "0.42.0-beta11", - "magento/module-customer": "0.42.0-beta11", - "magento/module-eav": "0.42.0-beta11", - "magento/module-import-export": "0.42.0-beta11", - "magento/module-directory": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-store": "0.74.0-beta1", + "magento/module-backend": "0.74.0-beta1", + "magento/module-customer": "0.74.0-beta1", + "magento/module-eav": "0.74.0-beta1", + "magento/module-import-export": "0.74.0-beta1", + "magento/module-directory": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/DesignEditor/composer.json b/app/code/Magento/DesignEditor/composer.json index b586021a18a00604aae4aafaf79715569e724084..7d56ea7bf7d9fb4675bf40b8e6b4de2b07f09c46 100644 --- a/app/code/Magento/DesignEditor/composer.json +++ b/app/code/Magento/DesignEditor/composer.json @@ -3,18 +3,18 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-store": "0.42.0-beta11", - "magento/module-theme": "0.42.0-beta11", - "magento/module-backend": "0.42.0-beta11", - "magento/module-eav": "0.42.0-beta11", - "magento/module-translation": "0.42.0-beta11", - "magento/module-config": "0.42.0-beta11", - "magento/module-media-storage": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-store": "0.74.0-beta1", + "magento/module-theme": "0.74.0-beta1", + "magento/module-backend": "0.74.0-beta1", + "magento/module-eav": "0.74.0-beta1", + "magento/module-translation": "0.74.0-beta1", + "magento/module-config": "0.74.0-beta1", + "magento/module-media-storage": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/Developer/Model/Less/FileGenerator/PublicationDecorator.php b/app/code/Magento/Developer/Model/Less/FileGenerator/PublicationDecorator.php new file mode 100644 index 0000000000000000000000000000000000000000..d99f32d515e38db2784169e6f21c5fa0fe4034ed --- /dev/null +++ b/app/code/Magento/Developer/Model/Less/FileGenerator/PublicationDecorator.php @@ -0,0 +1,49 @@ +<?php +/** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ +namespace Magento\Developer\Model\Less\FileGenerator; + +use Magento\Framework\Less\FileGenerator\RelatedGenerator; +use Magento\Framework\View\Asset\LocalInterface; + +/** + * Class PublicationDecorator + * Decorates generator of related assets and publishes them + * + * @package Magento\Developer\Model\Less\FileGenerator + */ +class PublicationDecorator extends RelatedGenerator +{ + /** + * @var \Magento\Framework\App\View\Asset\Publisher + */ + private $publisher; + + /** + * @param \Magento\Framework\Filesystem $filesystem + * @param \Magento\Framework\View\Asset\Repository $assetRepo + * @param \Magento\Framework\Less\File\Temporary $temporaryFile + * @param \Magento\Framework\App\View\Asset\Publisher $publisher + */ + public function __construct( + \Magento\Framework\Filesystem $filesystem, + \Magento\Framework\View\Asset\Repository $assetRepo, + \Magento\Framework\Less\File\Temporary $temporaryFile, + \Magento\Framework\App\View\Asset\Publisher $publisher + ) { + parent::__construct($filesystem, $assetRepo, $temporaryFile); + $this->publisher = $publisher; + } + + /** + * {inheritdoc} + */ + protected function generateRelatedFile($relatedFileId, LocalInterface $asset) + { + $relatedAsset = parent::generateRelatedFile($relatedFileId, $asset); + $this->publisher->publish($relatedAsset); + return $relatedAsset; + } +} diff --git a/app/code/Magento/Developer/composer.json b/app/code/Magento/Developer/composer.json index 97d4a9ab9538d681a73400e500b4c4f8b002dc75..11372d7006e1095473b280e83646581040a1cd43 100644 --- a/app/code/Magento/Developer/composer.json +++ b/app/code/Magento/Developer/composer.json @@ -3,12 +3,12 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-store": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-store": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/Dhl/composer.json b/app/code/Magento/Dhl/composer.json index 6c64a3d0f59f0196fa54970d40fb641cf582323c..3318cc573a782ab25fd78bfa1255db5569a0348c 100644 --- a/app/code/Magento/Dhl/composer.json +++ b/app/code/Magento/Dhl/composer.json @@ -3,22 +3,22 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-config": "0.42.0-beta11", - "magento/module-store": "0.42.0-beta11", - "magento/module-shipping": "0.42.0-beta11", - "magento/module-backend": "0.42.0-beta11", - "magento/module-directory": "0.42.0-beta11", - "magento/module-sales": "0.42.0-beta11", - "magento/module-checkout": "0.42.0-beta11", - "magento/module-catalog": "0.42.0-beta11", - "magento/module-catalog-inventory": "0.42.0-beta11", - "magento/module-quote": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-config": "0.74.0-beta1", + "magento/module-store": "0.74.0-beta1", + "magento/module-shipping": "0.74.0-beta1", + "magento/module-backend": "0.74.0-beta1", + "magento/module-directory": "0.74.0-beta1", + "magento/module-sales": "0.74.0-beta1", + "magento/module-checkout": "0.74.0-beta1", + "magento/module-catalog": "0.74.0-beta1", + "magento/module-catalog-inventory": "0.74.0-beta1", + "magento/module-quote": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "lib-libxml": "*", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/Directory/composer.json b/app/code/Magento/Directory/composer.json index d13968038ae92aa7d937ba680efeaaf6f043de8f..27c2fd01b7b7e449f5ada161f5c5af47b6b6caa3 100644 --- a/app/code/Magento/Directory/composer.json +++ b/app/code/Magento/Directory/composer.json @@ -3,15 +3,15 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-config": "0.42.0-beta11", - "magento/module-store": "0.42.0-beta11", - "magento/module-backend": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-config": "0.74.0-beta1", + "magento/module-store": "0.74.0-beta1", + "magento/module-backend": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "lib-libxml": "*", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/Downloadable/composer.json b/app/code/Magento/Downloadable/composer.json index bc329ac59326dfd8271a8a56d34c5fed9634adf1..e56b7b434fa6573d1bd8dfa7179fa98014f606e0 100644 --- a/app/code/Magento/Downloadable/composer.json +++ b/app/code/Magento/Downloadable/composer.json @@ -3,28 +3,28 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-store": "0.42.0-beta11", - "magento/module-catalog": "0.42.0-beta11", - "magento/module-customer": "0.42.0-beta11", - "magento/module-tax": "0.42.0-beta11", - "magento/module-theme": "0.42.0-beta11", - "magento/module-eav": "0.42.0-beta11", - "magento/module-backend": "0.42.0-beta11", - "magento/module-sales": "0.42.0-beta11", - "magento/module-checkout": "0.42.0-beta11", - "magento/module-directory": "0.42.0-beta11", - "magento/module-wishlist": "0.42.0-beta11", - "magento/module-gift-message": "0.42.0-beta11", - "magento/module-catalog-inventory": "0.42.0-beta11", - "magento/module-msrp": "0.42.0-beta11", - "magento/module-config": "0.42.0-beta11", - "magento/module-media-storage": "0.42.0-beta11", - "magento/module-quote": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-store": "0.74.0-beta1", + "magento/module-catalog": "0.74.0-beta1", + "magento/module-customer": "0.74.0-beta1", + "magento/module-tax": "0.74.0-beta1", + "magento/module-theme": "0.74.0-beta1", + "magento/module-eav": "0.74.0-beta1", + "magento/module-backend": "0.74.0-beta1", + "magento/module-sales": "0.74.0-beta1", + "magento/module-checkout": "0.74.0-beta1", + "magento/module-directory": "0.74.0-beta1", + "magento/module-wishlist": "0.74.0-beta1", + "magento/module-gift-message": "0.74.0-beta1", + "magento/module-catalog-inventory": "0.74.0-beta1", + "magento/module-msrp": "0.74.0-beta1", + "magento/module-config": "0.74.0-beta1", + "magento/module-media-storage": "0.74.0-beta1", + "magento/module-quote": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/Eav/composer.json b/app/code/Magento/Eav/composer.json index 4c271cf979449080663ef1781112db155a6cc3e7..68d77c9d3a8ca314c5c4d98e04ac1d0f1d476e3e 100644 --- a/app/code/Magento/Eav/composer.json +++ b/app/code/Magento/Eav/composer.json @@ -3,16 +3,16 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-store": "0.42.0-beta11", - "magento/module-backend": "0.42.0-beta11", - "magento/module-catalog": "0.42.0-beta11", - "magento/module-config": "0.42.0-beta11", - "magento/module-media-storage": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-store": "0.74.0-beta1", + "magento/module-backend": "0.74.0-beta1", + "magento/module-catalog": "0.74.0-beta1", + "magento/module-config": "0.74.0-beta1", + "magento/module-media-storage": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/Email/composer.json b/app/code/Magento/Email/composer.json index cf75e8fdd529bb89688f2cc12bdd4d92efc527f0..bf8f13e936765f2463b88d78cd116045af005df0 100644 --- a/app/code/Magento/Email/composer.json +++ b/app/code/Magento/Email/composer.json @@ -3,16 +3,16 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-config": "0.42.0-beta11", - "magento/module-store": "0.42.0-beta11", - "magento/module-cms": "0.42.0-beta11", - "magento/module-backend": "0.42.0-beta11", - "magento/module-variable": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-config": "0.74.0-beta1", + "magento/module-store": "0.74.0-beta1", + "magento/module-cms": "0.74.0-beta1", + "magento/module-backend": "0.74.0-beta1", + "magento/module-variable": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/Fedex/composer.json b/app/code/Magento/Fedex/composer.json index 8997dc97ac88704304a484e44b7062d5a0399953..39dea42bc6425365ab31299c40337bf852d7d535 100644 --- a/app/code/Magento/Fedex/composer.json +++ b/app/code/Magento/Fedex/composer.json @@ -3,20 +3,20 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-store": "0.42.0-beta11", - "magento/module-shipping": "0.42.0-beta11", - "magento/module-directory": "0.42.0-beta11", - "magento/module-catalog": "0.42.0-beta11", - "magento/module-sales": "0.42.0-beta11", - "magento/module-catalog-inventory": "0.42.0-beta11", - "magento/module-quote": "0.42.0-beta11", - "magento/module-config": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-store": "0.74.0-beta1", + "magento/module-shipping": "0.74.0-beta1", + "magento/module-directory": "0.74.0-beta1", + "magento/module-catalog": "0.74.0-beta1", + "magento/module-sales": "0.74.0-beta1", + "magento/module-catalog-inventory": "0.74.0-beta1", + "magento/module-quote": "0.74.0-beta1", + "magento/module-config": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "lib-libxml": "*", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/GiftMessage/composer.json b/app/code/Magento/GiftMessage/composer.json index 575d83a28cc8e0fd75f7b8262697cfe213d19845..a63693d4131512cdb0481b073b7d0f1184852a2d 100644 --- a/app/code/Magento/GiftMessage/composer.json +++ b/app/code/Magento/GiftMessage/composer.json @@ -3,20 +3,20 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-store": "0.42.0-beta11", - "magento/module-catalog": "0.42.0-beta11", - "magento/module-checkout": "0.42.0-beta11", - "magento/module-multishipping": "0.42.0-beta11", - "magento/module-sales": "0.42.0-beta11", - "magento/module-backend": "0.42.0-beta11", - "magento/module-customer": "0.42.0-beta11", - "magento/module-eav": "0.42.0-beta11", - "magento/module-quote": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-store": "0.74.0-beta1", + "magento/module-catalog": "0.74.0-beta1", + "magento/module-checkout": "0.74.0-beta1", + "magento/module-multishipping": "0.74.0-beta1", + "magento/module-sales": "0.74.0-beta1", + "magento/module-backend": "0.74.0-beta1", + "magento/module-customer": "0.74.0-beta1", + "magento/module-eav": "0.74.0-beta1", + "magento/module-quote": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/GoogleAdwords/composer.json b/app/code/Magento/GoogleAdwords/composer.json index 26d64df002ac0cb033536d6d4a34405ad24a2160..dfdd67b7d169a12dc7507775559a32d52819a135 100644 --- a/app/code/Magento/GoogleAdwords/composer.json +++ b/app/code/Magento/GoogleAdwords/composer.json @@ -3,13 +3,13 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-store": "0.42.0-beta11", - "magento/module-sales": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-store": "0.74.0-beta1", + "magento/module-sales": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/GoogleAnalytics/composer.json b/app/code/Magento/GoogleAnalytics/composer.json index 3891893165ee1636f560dc84798d312323a3aae3..9b0de3cf5ba2cfde61f55022eedbba4bb6397f6a 100644 --- a/app/code/Magento/GoogleAnalytics/composer.json +++ b/app/code/Magento/GoogleAnalytics/composer.json @@ -3,14 +3,14 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-store": "0.42.0-beta11", - "magento/module-sales": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", - "magento/module-cookie": "0.42.0-beta11", + "magento/module-store": "0.74.0-beta1", + "magento/module-sales": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", + "magento/module-cookie": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/GoogleOptimizer/composer.json b/app/code/Magento/GoogleOptimizer/composer.json index d2a1b785709773c230e05a27869321d6daeec8c8..bf30fc297c18a97ac57c2195c922bef52b1834f7 100644 --- a/app/code/Magento/GoogleOptimizer/composer.json +++ b/app/code/Magento/GoogleOptimizer/composer.json @@ -3,16 +3,16 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-store": "0.42.0-beta11", - "magento/module-google-analytics": "0.42.0-beta11", - "magento/module-catalog": "0.42.0-beta11", - "magento/module-cms": "0.42.0-beta11", - "magento/module-backend": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-store": "0.74.0-beta1", + "magento/module-google-analytics": "0.74.0-beta1", + "magento/module-catalog": "0.74.0-beta1", + "magento/module-cms": "0.74.0-beta1", + "magento/module-backend": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/GoogleShopping/composer.json b/app/code/Magento/GoogleShopping/composer.json index fdf25142814a5a9ad5a9024dc353b862885674c8..0e87a23f1e6c976f0621cf7680bb03ec2678829d 100644 --- a/app/code/Magento/GoogleShopping/composer.json +++ b/app/code/Magento/GoogleShopping/composer.json @@ -3,18 +3,18 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-store": "0.42.0-beta11", - "magento/module-backend": "0.42.0-beta11", - "magento/module-catalog": "0.42.0-beta11", - "magento/module-customer": "0.42.0-beta11", - "magento/module-directory": "0.42.0-beta11", - "magento/module-eav": "0.42.0-beta11", - "magento/module-tax": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-store": "0.74.0-beta1", + "magento/module-backend": "0.74.0-beta1", + "magento/module-catalog": "0.74.0-beta1", + "magento/module-customer": "0.74.0-beta1", + "magento/module-directory": "0.74.0-beta1", + "magento/module-eav": "0.74.0-beta1", + "magento/module-tax": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/GroupedImportExport/composer.json b/app/code/Magento/GroupedImportExport/composer.json index b260194c32c4a107dc06e237a66b3cf0852fb696..4d0479944ea3bc8b3b98cce893d5c3f725f66b1a 100644 --- a/app/code/Magento/GroupedImportExport/composer.json +++ b/app/code/Magento/GroupedImportExport/composer.json @@ -3,16 +3,16 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-catalog": "0.42.0-beta11", - "magento/module-import-export": "0.42.0-beta11", - "magento/module-catalog-import-export": "0.42.0-beta11", - "magento/module-grouped-product": "0.42.0-beta11", - "magento/module-eav": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-catalog": "0.74.0-beta1", + "magento/module-import-export": "0.74.0-beta1", + "magento/module-catalog-import-export": "0.74.0-beta1", + "magento/module-grouped-product": "0.74.0-beta1", + "magento/module-eav": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/GroupedProduct/composer.json b/app/code/Magento/GroupedProduct/composer.json index 66be65aaa588bba8e18420a2d2bf973a27555ecd..ccf2adcab0a397ae21a800994d374e0caa1805a9 100644 --- a/app/code/Magento/GroupedProduct/composer.json +++ b/app/code/Magento/GroupedProduct/composer.json @@ -3,22 +3,22 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-store": "0.42.0-beta11", - "magento/module-catalog": "0.42.0-beta11", - "magento/module-catalog-inventory": "0.42.0-beta11", - "magento/module-sales": "0.42.0-beta11", - "magento/module-checkout": "0.42.0-beta11", - "magento/module-backend": "0.42.0-beta11", - "magento/module-eav": "0.42.0-beta11", - "magento/module-customer": "0.42.0-beta11", - "magento/module-media-storage": "0.42.0-beta11", - "magento/module-msrp": "0.42.0-beta11", - "magento/module-quote": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-store": "0.74.0-beta1", + "magento/module-catalog": "0.74.0-beta1", + "magento/module-catalog-inventory": "0.74.0-beta1", + "magento/module-sales": "0.74.0-beta1", + "magento/module-checkout": "0.74.0-beta1", + "magento/module-backend": "0.74.0-beta1", + "magento/module-eav": "0.74.0-beta1", + "magento/module-customer": "0.74.0-beta1", + "magento/module-media-storage": "0.74.0-beta1", + "magento/module-msrp": "0.74.0-beta1", + "magento/module-quote": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/ImportExport/composer.json b/app/code/Magento/ImportExport/composer.json index 910e6c723cf186716ac5069324d63cb8800f60c2..eaaecbe071b0fb5f992db1889de661bb60cb8f33 100644 --- a/app/code/Magento/ImportExport/composer.json +++ b/app/code/Magento/ImportExport/composer.json @@ -3,17 +3,17 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-store": "0.42.0-beta11", - "magento/module-backend": "0.42.0-beta11", - "magento/module-eav": "0.42.0-beta11", - "magento/module-indexer": "0.42.0-beta11", - "magento/module-media-storage": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-store": "0.74.0-beta1", + "magento/module-backend": "0.74.0-beta1", + "magento/module-eav": "0.74.0-beta1", + "magento/module-indexer": "0.74.0-beta1", + "magento/module-media-storage": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "ext-ctype": "*", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/Indexer/composer.json b/app/code/Magento/Indexer/composer.json index f11f09d8331950e9a9068f1e2b082bd9034d94b7..31d4298885d34cf0ae7bcd3225dd0ba71eb4c191 100644 --- a/app/code/Magento/Indexer/composer.json +++ b/app/code/Magento/Indexer/composer.json @@ -3,13 +3,13 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-backend": "0.42.0-beta11", - "magento/module-page-cache": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-backend": "0.74.0-beta1", + "magento/module-page-cache": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/Integration/composer.json b/app/code/Magento/Integration/composer.json index 72465a630aff983bc73eb2ab9053a79902b4652e..3a163437da5817ff3ba602c11bb398364c030198 100644 --- a/app/code/Magento/Integration/composer.json +++ b/app/code/Magento/Integration/composer.json @@ -3,16 +3,16 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-store": "0.42.0-beta11", - "magento/module-backend": "0.42.0-beta11", - "magento/module-customer": "0.42.0-beta11", - "magento/module-user": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", - "magento/module-authorization": "0.42.0-beta11", + "magento/module-store": "0.74.0-beta1", + "magento/module-backend": "0.74.0-beta1", + "magento/module-customer": "0.74.0-beta1", + "magento/module-user": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", + "magento/module-authorization": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/LayeredNavigation/composer.json b/app/code/Magento/LayeredNavigation/composer.json index ed080fb84e1d4d63980ef1581cd6d78fd42c74d5..6ce4ba9dde72193798efbb730fafc2208ad76889 100644 --- a/app/code/Magento/LayeredNavigation/composer.json +++ b/app/code/Magento/LayeredNavigation/composer.json @@ -3,13 +3,13 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-config": "0.42.0-beta11", - "magento/module-catalog": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-config": "0.74.0-beta1", + "magento/module-catalog": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/Log/composer.json b/app/code/Magento/Log/composer.json index ea86b5146ee38d3ff25628fee70ab424a47258de..889b0c8bc36410ab007e4de7dfe7f14f1540939e 100644 --- a/app/code/Magento/Log/composer.json +++ b/app/code/Magento/Log/composer.json @@ -3,15 +3,15 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-store": "0.42.0-beta11", - "magento/module-customer": "0.42.0-beta11", - "magento/module-eav": "0.42.0-beta11", - "magento/module-backend": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-store": "0.74.0-beta1", + "magento/module-customer": "0.74.0-beta1", + "magento/module-eav": "0.74.0-beta1", + "magento/module-backend": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/MediaStorage/composer.json b/app/code/Magento/MediaStorage/composer.json index ccc5a944717a31326fcdcb7af0248c7781ab14ce..051e531f2c7bfcb7bd1aa1141477d66a09b1505c 100644 --- a/app/code/Magento/MediaStorage/composer.json +++ b/app/code/Magento/MediaStorage/composer.json @@ -3,14 +3,14 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-store": "0.42.0-beta11", - "magento/module-backend": "0.42.0-beta11", - "magento/module-config": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-store": "0.74.0-beta1", + "magento/module-backend": "0.74.0-beta1", + "magento/module-config": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/Msrp/composer.json b/app/code/Magento/Msrp/composer.json index 1202688cb167fa8727bb7d384c12ab4c3307ec11..003e4b9a9910ef6eaf7b1aa0f40303fd0328e621 100644 --- a/app/code/Magento/Msrp/composer.json +++ b/app/code/Magento/Msrp/composer.json @@ -3,19 +3,19 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-store": "0.42.0-beta11", - "magento/module-bundle": "0.42.0-beta11", - "magento/module-catalog": "0.42.0-beta11", - "magento/module-downloadable": "0.42.0-beta11", - "magento/module-eav": "0.42.0-beta11", - "magento/module-grouped-product": "0.42.0-beta11", - "magento/module-tax": "0.42.0-beta11", - "magento/module-quote": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-store": "0.74.0-beta1", + "magento/module-bundle": "0.74.0-beta1", + "magento/module-catalog": "0.74.0-beta1", + "magento/module-downloadable": "0.74.0-beta1", + "magento/module-eav": "0.74.0-beta1", + "magento/module-grouped-product": "0.74.0-beta1", + "magento/module-tax": "0.74.0-beta1", + "magento/module-quote": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/Multishipping/composer.json b/app/code/Magento/Multishipping/composer.json index fb450ad1bb22b553d05a1a25f15b75d9c31805b9..0f052635d1a77f4b7ebedeeee5290907881d2316 100644 --- a/app/code/Magento/Multishipping/composer.json +++ b/app/code/Magento/Multishipping/composer.json @@ -3,19 +3,19 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-store": "0.42.0-beta11", - "magento/module-checkout": "0.42.0-beta11", - "magento/module-sales": "0.42.0-beta11", - "magento/module-payment": "0.42.0-beta11", - "magento/module-tax": "0.42.0-beta11", - "magento/module-customer": "0.42.0-beta11", - "magento/module-theme": "0.42.0-beta11", - "magento/module-quote": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-store": "0.74.0-beta1", + "magento/module-checkout": "0.74.0-beta1", + "magento/module-sales": "0.74.0-beta1", + "magento/module-payment": "0.74.0-beta1", + "magento/module-tax": "0.74.0-beta1", + "magento/module-customer": "0.74.0-beta1", + "magento/module-theme": "0.74.0-beta1", + "magento/module-quote": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/Newsletter/composer.json b/app/code/Magento/Newsletter/composer.json index 53c62793ddf40a1c9e4bf44cd7337543382fcfba..a68b7906027c84a47ebd74e70f09f2613e4f7057 100644 --- a/app/code/Magento/Newsletter/composer.json +++ b/app/code/Magento/Newsletter/composer.json @@ -3,20 +3,20 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-store": "0.42.0-beta11", - "magento/module-customer": "0.42.0-beta11", - "magento/module-widget": "0.42.0-beta11", - "magento/module-backend": "0.42.0-beta11", - "magento/module-cms": "0.42.0-beta11", - "magento/module-email": "0.42.0-beta11", - "magento/module-cron": "0.42.0-beta11", - "magento/module-eav": "0.42.0-beta11", - "magento/module-require-js": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-store": "0.74.0-beta1", + "magento/module-customer": "0.74.0-beta1", + "magento/module-widget": "0.74.0-beta1", + "magento/module-backend": "0.74.0-beta1", + "magento/module-cms": "0.74.0-beta1", + "magento/module-email": "0.74.0-beta1", + "magento/module-cron": "0.74.0-beta1", + "magento/module-eav": "0.74.0-beta1", + "magento/module-require-js": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/OfflinePayments/composer.json b/app/code/Magento/OfflinePayments/composer.json index a0a478d5a64a0dcd7eaf19ac75ebd453fa518abe..d7df360aa89dfd2ca358ced5c1cb7da97a33c91b 100644 --- a/app/code/Magento/OfflinePayments/composer.json +++ b/app/code/Magento/OfflinePayments/composer.json @@ -3,12 +3,12 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-payment": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-payment": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/OfflineShipping/composer.json b/app/code/Magento/OfflineShipping/composer.json index 4ee66ff206e4409ba571eb0acb02c1ec6da28caf..8e0d5b7c01e48d18bdaeffa50a0ae4d41a2101ce 100644 --- a/app/code/Magento/OfflineShipping/composer.json +++ b/app/code/Magento/OfflineShipping/composer.json @@ -3,21 +3,21 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-config": "0.42.0-beta11", - "magento/module-store": "0.42.0-beta11", - "magento/module-backend": "0.42.0-beta11", - "magento/module-shipping": "0.42.0-beta11", - "magento/module-catalog": "0.42.0-beta11", - "magento/module-sales": "0.42.0-beta11", - "magento/module-sales-rule": "0.42.0-beta11", - "magento/module-directory": "0.42.0-beta11", - "magento/module-checkout": "0.42.0-beta11", - "magento/module-quote": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-config": "0.74.0-beta1", + "magento/module-store": "0.74.0-beta1", + "magento/module-backend": "0.74.0-beta1", + "magento/module-shipping": "0.74.0-beta1", + "magento/module-catalog": "0.74.0-beta1", + "magento/module-sales": "0.74.0-beta1", + "magento/module-sales-rule": "0.74.0-beta1", + "magento/module-directory": "0.74.0-beta1", + "magento/module-checkout": "0.74.0-beta1", + "magento/module-quote": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/PageCache/composer.json b/app/code/Magento/PageCache/composer.json index b0cd589086158448b674bb60c2e7ecae4ed14959..7176399192439e013fc28d958b519948121c73d1 100644 --- a/app/code/Magento/PageCache/composer.json +++ b/app/code/Magento/PageCache/composer.json @@ -3,14 +3,14 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-config": "0.42.0-beta11", - "magento/module-store": "0.42.0-beta11", - "magento/module-backend": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-config": "0.74.0-beta1", + "magento/module-store": "0.74.0-beta1", + "magento/module-backend": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/Payment/composer.json b/app/code/Magento/Payment/composer.json index 70a4a9d5af4b13076668fe3c222c99ae589850cd..ed4c8488d654f6a435fc44c2b2fc58e340a2c99b 100644 --- a/app/code/Magento/Payment/composer.json +++ b/app/code/Magento/Payment/composer.json @@ -3,17 +3,17 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-config": "0.42.0-beta11", - "magento/module-store": "0.42.0-beta11", - "magento/module-sales": "0.42.0-beta11", - "magento/module-centinel": "0.42.0-beta11", - "magento/module-checkout": "0.42.0-beta11", - "magento/module-quote": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-config": "0.74.0-beta1", + "magento/module-store": "0.74.0-beta1", + "magento/module-sales": "0.74.0-beta1", + "magento/module-centinel": "0.74.0-beta1", + "magento/module-checkout": "0.74.0-beta1", + "magento/module-quote": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/Persistent/composer.json b/app/code/Magento/Persistent/composer.json index b09e1e6d7eec9a649f3e9e4f1a69bc5d773dd4ab..11767647b31449cc627a8372c3606319dea190b0 100644 --- a/app/code/Magento/Persistent/composer.json +++ b/app/code/Magento/Persistent/composer.json @@ -3,17 +3,17 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-store": "0.42.0-beta11", - "magento/module-checkout": "0.42.0-beta11", - "magento/module-customer": "0.42.0-beta11", - "magento/module-cron": "0.42.0-beta11", - "magento/module-page-cache": "0.42.0-beta11", - "magento/module-quote": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-store": "0.74.0-beta1", + "magento/module-checkout": "0.74.0-beta1", + "magento/module-customer": "0.74.0-beta1", + "magento/module-cron": "0.74.0-beta1", + "magento/module-page-cache": "0.74.0-beta1", + "magento/module-quote": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/ProductAlert/composer.json b/app/code/Magento/ProductAlert/composer.json index 1e456b79f57b23b5b2356e8fc24ac8b82dd0a03f..be38ece6573145e27a836b060d26807eac683370 100644 --- a/app/code/Magento/ProductAlert/composer.json +++ b/app/code/Magento/ProductAlert/composer.json @@ -3,14 +3,14 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-store": "0.42.0-beta11", - "magento/module-catalog": "0.42.0-beta11", - "magento/module-customer": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-store": "0.74.0-beta1", + "magento/module-catalog": "0.74.0-beta1", + "magento/module-customer": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/Quote/Model/Quote.php b/app/code/Magento/Quote/Model/Quote.php index ef130e2e6597203b74b35e6066678fedc712ac20..1f9fb10d01a1df5eded433b519aae09a7025e7c5 100644 --- a/app/code/Magento/Quote/Model/Quote.php +++ b/app/code/Magento/Quote/Model/Quote.php @@ -2042,9 +2042,7 @@ class Quote extends AbstractExtensibleModel implements \Magento\Quote\Api\Data\C return $this; } - if (is_string($message)) { - $message = $this->messageFactory->create(\Magento\Framework\Message\MessageInterface::TYPE_ERROR, $message); - } + $message = $this->messageFactory->create(\Magento\Framework\Message\MessageInterface::TYPE_ERROR, $message); $messages[$index] = $message; $this->setData('messages', $messages); diff --git a/app/code/Magento/Quote/composer.json b/app/code/Magento/Quote/composer.json index 9bc1150e18b91d45761812d46b1cee3690428a46..afc1734fbd94cd125ff2cddcb2fee917123f0605 100644 --- a/app/code/Magento/Quote/composer.json +++ b/app/code/Magento/Quote/composer.json @@ -3,23 +3,23 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-store": "0.42.0-beta11", - "magento/module-catalog": "0.42.0-beta11", - "magento/module-catalog-rule": "0.42.0-beta11", - "magento/module-customer": "0.42.0-beta11", - "magento/module-authorization": "0.42.0-beta11", - "magento/module-payment": "0.42.0-beta11", - "magento/module-sales": "0.42.0-beta11", - "magento/module-backend": "0.42.0-beta11", - "magento/module-directory": "0.42.0-beta11", - "magento/module-eav": "0.42.0-beta11", - "magento/module-tax": "0.42.0-beta11", - "magento/module-catalog-inventory": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-store": "0.74.0-beta1", + "magento/module-catalog": "0.74.0-beta1", + "magento/module-catalog-rule": "0.74.0-beta1", + "magento/module-customer": "0.74.0-beta1", + "magento/module-authorization": "0.74.0-beta1", + "magento/module-payment": "0.74.0-beta1", + "magento/module-sales": "0.74.0-beta1", + "magento/module-backend": "0.74.0-beta1", + "magento/module-directory": "0.74.0-beta1", + "magento/module-eav": "0.74.0-beta1", + "magento/module-tax": "0.74.0-beta1", + "magento/module-catalog-inventory": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/Reports/composer.json b/app/code/Magento/Reports/composer.json index 1292a424044d2e91517b7831717a5675abac4228..c11dd26ace010719356a7de27f8059d7d96f8d53 100644 --- a/app/code/Magento/Reports/composer.json +++ b/app/code/Magento/Reports/composer.json @@ -3,28 +3,28 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-config": "0.42.0-beta11", - "magento/module-store": "0.42.0-beta11", - "magento/module-eav": "0.42.0-beta11", - "magento/module-customer": "0.42.0-beta11", - "magento/module-catalog": "0.42.0-beta11", - "magento/module-sales": "0.42.0-beta11", - "magento/module-cms": "0.42.0-beta11", - "magento/module-backend": "0.42.0-beta11", - "magento/module-widget": "0.42.0-beta11", - "magento/module-log": "0.42.0-beta11", - "magento/module-wishlist": "0.42.0-beta11", - "magento/module-review": "0.42.0-beta11", - "magento/module-catalog-inventory": "0.42.0-beta11", - "magento/module-tax": "0.42.0-beta11", - "magento/module-downloadable": "0.42.0-beta11", - "magento/module-sales-rule": "0.42.0-beta11", - "magento/module-quote": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-config": "0.74.0-beta1", + "magento/module-store": "0.74.0-beta1", + "magento/module-eav": "0.74.0-beta1", + "magento/module-customer": "0.74.0-beta1", + "magento/module-catalog": "0.74.0-beta1", + "magento/module-sales": "0.74.0-beta1", + "magento/module-cms": "0.74.0-beta1", + "magento/module-backend": "0.74.0-beta1", + "magento/module-widget": "0.74.0-beta1", + "magento/module-log": "0.74.0-beta1", + "magento/module-wishlist": "0.74.0-beta1", + "magento/module-review": "0.74.0-beta1", + "magento/module-catalog-inventory": "0.74.0-beta1", + "magento/module-tax": "0.74.0-beta1", + "magento/module-downloadable": "0.74.0-beta1", + "magento/module-sales-rule": "0.74.0-beta1", + "magento/module-quote": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/RequireJs/composer.json b/app/code/Magento/RequireJs/composer.json index 59c62378ebb104a16e2aa878a789eb4de35fbeba..2475e1bae2fe98fa634e68912d9f55ebb07f9d0a 100644 --- a/app/code/Magento/RequireJs/composer.json +++ b/app/code/Magento/RequireJs/composer.json @@ -3,11 +3,11 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/framework": "0.42.0-beta11", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/Review/composer.json b/app/code/Magento/Review/composer.json index 3ac2d8c5deab3948d3df18d6cea4946bdac565c4..fe9732c3832fe5da41ac0dbe2ca73e37207e9e0d 100644 --- a/app/code/Magento/Review/composer.json +++ b/app/code/Magento/Review/composer.json @@ -3,22 +3,22 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-store": "0.42.0-beta11", - "magento/module-catalog": "0.42.0-beta11", - "magento/module-customer": "0.42.0-beta11", - "magento/module-eav": "0.42.0-beta11", - "magento/module-theme": "0.42.0-beta11", - "magento/module-backend": "0.42.0-beta11", - "magento/module-newsletter": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", - "magento/module-ui": "0.42.0-beta11", + "magento/module-store": "0.74.0-beta1", + "magento/module-catalog": "0.74.0-beta1", + "magento/module-customer": "0.74.0-beta1", + "magento/module-eav": "0.74.0-beta1", + "magento/module-theme": "0.74.0-beta1", + "magento/module-backend": "0.74.0-beta1", + "magento/module-newsletter": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", + "magento/module-ui": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "suggest": { - "magento/module-cookie": "0.42.0-beta11" + "magento/module-cookie": "0.74.0-beta1" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/Rss/composer.json b/app/code/Magento/Rss/composer.json index d69a3857b7bdba6599ee06ec74351de028f6b779..57d61c78416508948b9db84bf98c21b072ef9c0f 100644 --- a/app/code/Magento/Rss/composer.json +++ b/app/code/Magento/Rss/composer.json @@ -3,14 +3,14 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-store": "0.42.0-beta11", - "magento/module-backend": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", - "magento/module-customer": "0.42.0-beta11", + "magento/module-store": "0.74.0-beta1", + "magento/module-backend": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", + "magento/module-customer": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/Rule/composer.json b/app/code/Magento/Rule/composer.json index 4f9861088d42dec7d27ebaed53058b9948c2c4f5..1325db3409841ea31efe8eda0424cc1ac1e8c019 100644 --- a/app/code/Magento/Rule/composer.json +++ b/app/code/Magento/Rule/composer.json @@ -3,16 +3,16 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-store": "0.42.0-beta11", - "magento/module-eav": "0.42.0-beta11", - "magento/module-catalog": "0.42.0-beta11", - "magento/module-backend": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-store": "0.74.0-beta1", + "magento/module-eav": "0.74.0-beta1", + "magento/module-catalog": "0.74.0-beta1", + "magento/module-backend": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "lib-libxml": "*", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/Sales/Controller/AbstractController/View.php b/app/code/Magento/Sales/Controller/AbstractController/View.php index ebc5d087cdd833344c01d3b8a1e508835bf518b3..cd851bc94b9d9001a01552dfc047fa1d09453a9f 100644 --- a/app/code/Magento/Sales/Controller/AbstractController/View.php +++ b/app/code/Magento/Sales/Controller/AbstractController/View.php @@ -52,6 +52,7 @@ abstract class View extends Action\Action $resultPage = $this->resultPageFactory->create(); $resultPage->getLayout()->initMessages(); + /** @var \Magento\Framework\View\Element\Html\Links $navigationBlock */ $navigationBlock = $resultPage->getLayout()->getBlock('customer_account_navigation'); if ($navigationBlock) { $navigationBlock->setActive('sales/order/history'); diff --git a/app/code/Magento/Sales/Controller/Guest/PrintAction.php b/app/code/Magento/Sales/Controller/Guest/PrintAction.php index cf94ab2f5ffb91a0ec7572169e4125440513e185..7bd563475048da88eda89e2873af3f5471e5ed98 100644 --- a/app/code/Magento/Sales/Controller/Guest/PrintAction.php +++ b/app/code/Magento/Sales/Controller/Guest/PrintAction.php @@ -6,6 +6,21 @@ */ namespace Magento\Sales\Controller\Guest; +use Magento\Framework\App\Action\Context; +use Magento\Framework\View\Result\PageFactory; + class PrintAction extends \Magento\Sales\Controller\AbstractController\PrintAction { + /** + * @param Context $context + * @param OrderLoader $orderLoader + * @param PageFactory $resultPageFactory + */ + public function __construct( + Context $context, + \Magento\Sales\Controller\Guest\OrderLoader $orderLoader, + PageFactory $resultPageFactory + ) { + parent::__construct($context, $orderLoader, $resultPageFactory); + } } diff --git a/app/code/Magento/Sales/Controller/Guest/Reorder.php b/app/code/Magento/Sales/Controller/Guest/Reorder.php index 745351dc652b4c3799139ab6f00819d01736bfd3..202ceb99a222bddd847be92e32e55942bf1e1d3a 100644 --- a/app/code/Magento/Sales/Controller/Guest/Reorder.php +++ b/app/code/Magento/Sales/Controller/Guest/Reorder.php @@ -6,6 +6,23 @@ */ namespace Magento\Sales\Controller\Guest; +use Magento\Framework\App\Action; +use Magento\Framework\Controller\Result\RedirectFactory; + class Reorder extends \Magento\Sales\Controller\AbstractController\Reorder { + /** + * @param Action\Context $context + * @param \Magento\Sales\Controller\Guest\OrderLoader $orderLoader + * @param \Magento\Framework\Registry $registry + * @param \Magento\Framework\Controller\Result\RedirectFactory $resultRedirectFactory + */ + public function __construct( + Action\Context $context, + \Magento\Sales\Controller\Guest\OrderLoader $orderLoader, + \Magento\Framework\Registry $registry, + RedirectFactory $resultRedirectFactory + ) { + parent::__construct($context, $orderLoader, $registry, $resultRedirectFactory); + } } diff --git a/app/code/Magento/Sales/composer.json b/app/code/Magento/Sales/composer.json index 465eb57a56a4b961e16b9fdd415b4b6365bf7339..422223e5139f617720e275ad5d5e0e50d2e5896a 100644 --- a/app/code/Magento/Sales/composer.json +++ b/app/code/Magento/Sales/composer.json @@ -3,34 +3,34 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-store": "0.42.0-beta11", - "magento/module-catalog": "0.42.0-beta11", - "magento/module-customer": "0.42.0-beta11", - "magento/module-authorization": "0.42.0-beta11", - "magento/module-payment": "0.42.0-beta11", - "magento/module-checkout": "0.42.0-beta11", - "magento/module-theme": "0.42.0-beta11", - "magento/module-sales-rule": "0.42.0-beta11", - "magento/module-backend": "0.42.0-beta11", - "magento/module-widget": "0.42.0-beta11", - "magento/module-directory": "0.42.0-beta11", - "magento/module-eav": "0.42.0-beta11", - "magento/module-tax": "0.42.0-beta11", - "magento/module-gift-message": "0.42.0-beta11", - "magento/module-reports": "0.42.0-beta11", - "magento/module-catalog-inventory": "0.42.0-beta11", - "magento/module-wishlist": "0.42.0-beta11", - "magento/module-email": "0.42.0-beta11", - "magento/module-shipping": "0.42.0-beta11", - "magento/module-config": "0.42.0-beta11", - "magento/module-media-storage": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", - "magento/module-ui": "0.42.0-beta11", - "magento/module-quote": "0.42.0-beta11", + "magento/module-store": "0.74.0-beta1", + "magento/module-catalog": "0.74.0-beta1", + "magento/module-customer": "0.74.0-beta1", + "magento/module-authorization": "0.74.0-beta1", + "magento/module-payment": "0.74.0-beta1", + "magento/module-checkout": "0.74.0-beta1", + "magento/module-theme": "0.74.0-beta1", + "magento/module-sales-rule": "0.74.0-beta1", + "magento/module-backend": "0.74.0-beta1", + "magento/module-widget": "0.74.0-beta1", + "magento/module-directory": "0.74.0-beta1", + "magento/module-eav": "0.74.0-beta1", + "magento/module-tax": "0.74.0-beta1", + "magento/module-gift-message": "0.74.0-beta1", + "magento/module-reports": "0.74.0-beta1", + "magento/module-catalog-inventory": "0.74.0-beta1", + "magento/module-wishlist": "0.74.0-beta1", + "magento/module-email": "0.74.0-beta1", + "magento/module-shipping": "0.74.0-beta1", + "magento/module-config": "0.74.0-beta1", + "magento/module-media-storage": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", + "magento/module-ui": "0.74.0-beta1", + "magento/module-quote": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/SalesRule/composer.json b/app/code/Magento/SalesRule/composer.json index 0ffa29cf56722aab51fffb2e2809d2e8af908eb2..7b6dabaf938042fa2b51407057005cace699102d 100644 --- a/app/code/Magento/SalesRule/composer.json +++ b/app/code/Magento/SalesRule/composer.json @@ -3,26 +3,26 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-config": "0.42.0-beta11", - "magento/module-store": "0.42.0-beta11", - "magento/module-rule": "0.42.0-beta11", - "magento/module-catalog": "0.42.0-beta11", - "magento/module-sales": "0.42.0-beta11", - "magento/module-eav": "0.42.0-beta11", - "magento/module-backend": "0.42.0-beta11", - "magento/module-customer": "0.42.0-beta11", - "magento/module-directory": "0.42.0-beta11", - "magento/module-shipping": "0.42.0-beta11", - "magento/module-payment": "0.42.0-beta11", - "magento/module-reports": "0.42.0-beta11", - "magento/module-catalog-rule": "0.42.0-beta11", - "magento/module-widget": "0.42.0-beta11", - "magento/module-quote": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-config": "0.74.0-beta1", + "magento/module-store": "0.74.0-beta1", + "magento/module-rule": "0.74.0-beta1", + "magento/module-catalog": "0.74.0-beta1", + "magento/module-sales": "0.74.0-beta1", + "magento/module-eav": "0.74.0-beta1", + "magento/module-backend": "0.74.0-beta1", + "magento/module-customer": "0.74.0-beta1", + "magento/module-directory": "0.74.0-beta1", + "magento/module-shipping": "0.74.0-beta1", + "magento/module-payment": "0.74.0-beta1", + "magento/module-reports": "0.74.0-beta1", + "magento/module-catalog-rule": "0.74.0-beta1", + "magento/module-widget": "0.74.0-beta1", + "magento/module-quote": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/Search/composer.json b/app/code/Magento/Search/composer.json index 86fa6587ca018261a4b044ace8c47f182d7b1cd8..415447e9acbc405a7c005793b35d0e22a614f5f5 100644 --- a/app/code/Magento/Search/composer.json +++ b/app/code/Magento/Search/composer.json @@ -3,15 +3,15 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/framework": "0.42.0-beta11", - "magento/module-backend": "0.42.0-beta11", - "magento/module-catalog-search": "0.42.0-beta11", - "magento/module-store": "0.42.0-beta11", - "magento/module-reports": "0.42.0-beta11", + "magento/framework": "0.74.0-beta1", + "magento/module-backend": "0.74.0-beta1", + "magento/module-catalog-search": "0.74.0-beta1", + "magento/module-store": "0.74.0-beta1", + "magento/module-reports": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/Sendfriend/composer.json b/app/code/Magento/Sendfriend/composer.json index d21e58d9379cc82c66c8aedf50fe91b493192c65..79ff1d7a327d2abc552ae245dab2ec19f579653f 100644 --- a/app/code/Magento/Sendfriend/composer.json +++ b/app/code/Magento/Sendfriend/composer.json @@ -3,15 +3,15 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-store": "0.42.0-beta11", - "magento/module-catalog": "0.42.0-beta11", - "magento/module-customer": "0.42.0-beta11", - "magento/module-theme": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-store": "0.74.0-beta1", + "magento/module-catalog": "0.74.0-beta1", + "magento/module-customer": "0.74.0-beta1", + "magento/module-theme": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/Shipping/Controller/Adminhtml/Order/Shipment/AddComment.php b/app/code/Magento/Shipping/Controller/Adminhtml/Order/Shipment/AddComment.php index 8e8662624c7776b8c7878fd32779b9f25880efd2..70310d404c6fa4273b42a117d9d705fd0fd2d9e2 100644 --- a/app/code/Magento/Shipping/Controller/Adminhtml/Order/Shipment/AddComment.php +++ b/app/code/Magento/Shipping/Controller/Adminhtml/Order/Shipment/AddComment.php @@ -8,6 +8,7 @@ namespace Magento\Shipping\Controller\Adminhtml\Order\Shipment; use Magento\Sales\Model\Order\Email\Sender\ShipmentSender; use Magento\Backend\App\Action; +use Magento\Framework\View\Result\LayoutFactory; class AddComment extends \Magento\Backend\App\Action { @@ -21,18 +22,26 @@ class AddComment extends \Magento\Backend\App\Action */ protected $shipmentSender; + /** + * @var LayoutFactory + */ + protected $resultLayoutFactory; + /** * @param Action\Context $context * @param \Magento\Shipping\Controller\Adminhtml\Order\ShipmentLoader $shipmentLoader * @param ShipmentSender $shipmentSender + * @param LayoutFactory $resultLayoutFactory */ public function __construct( Action\Context $context, \Magento\Shipping\Controller\Adminhtml\Order\ShipmentLoader $shipmentLoader, - ShipmentSender $shipmentSender + ShipmentSender $shipmentSender, + LayoutFactory $resultLayoutFactory ) { $this->shipmentLoader = $shipmentLoader; $this->shipmentSender = $shipmentSender; + $this->resultLayoutFactory = $resultLayoutFactory; parent::__construct($context); } @@ -72,10 +81,9 @@ class AddComment extends \Magento\Backend\App\Action $this->shipmentSender->send($shipment, !empty($data['is_customer_notified']), $data['comment']); $shipment->save(); - - $this->_view->loadLayout(false); - $this->_view->getPage()->getConfig()->getTitle()->prepend(__('Shipments')); - $response = $this->_view->getLayout()->getBlock('shipment_comments')->toHtml(); + $resultLayout = $this->resultLayoutFactory->create(); + $resultLayout->addDefaultHandle(); + $response = $resultLayout->getLayout()->getBlock('shipment_comments')->toHtml(); } catch (\Magento\Framework\Exception\LocalizedException $e) { $response = ['error' => true, 'message' => $e->getMessage()]; } catch (\Exception $e) { diff --git a/app/code/Magento/Shipping/Test/Unit/Controller/Adminhtml/Order/Shipment/AddCommentTest.php b/app/code/Magento/Shipping/Test/Unit/Controller/Adminhtml/Order/Shipment/AddCommentTest.php index 80749ec0001723fc287a435a806f6988324e331b..4bc12ca36516585e31b7e146693ef2641dcbe5b7 100644 --- a/app/code/Magento/Shipping/Test/Unit/Controller/Adminhtml/Order/Shipment/AddCommentTest.php +++ b/app/code/Magento/Shipping/Test/Unit/Controller/Adminhtml/Order/Shipment/AddCommentTest.php @@ -30,21 +30,11 @@ class AddCommentTest extends \PHPUnit_Framework_TestCase */ protected $responseMock; - /** - * @var \Magento\Framework\View\Page\Title|\PHPUnit_Framework_MockObject_MockObject - */ - protected $titleMock; - /** * @var \PHPUnit_Framework_MockObject_MockObject */ protected $resultPageMock; - /** - * @var \PHPUnit_Framework_MockObject_MockObject - */ - protected $pageConfigMock; - /** * @var \Magento\Sales\Model\Order\Shipment|\PHPUnit_Framework_MockObject_MockObject */ @@ -55,6 +45,11 @@ class AddCommentTest extends \PHPUnit_Framework_TestCase */ protected $viewInterfaceMock; + /** + * @var \Magento\Framework\View\Result\LayoutFactory|\PHPUnit_Framework_MockObject_MockObject + */ + protected $resultLayoutFactoryMock; + /** * @var \Magento\Framework\ObjectManagerInterface|\PHPUnit_Framework_MockObject_MockObject */ @@ -95,9 +90,9 @@ class AddCommentTest extends \PHPUnit_Framework_TestCase '', false ); - $this->titleMock = $this->getMock( - 'Magento\Framework\View\Page\Title', - ['prepend', '__wakeup'], + $this->resultLayoutFactoryMock = $this->getMock( + 'Magento\Framework\View\Result\LayoutFactory', + ['create'], [], '', false @@ -106,9 +101,6 @@ class AddCommentTest extends \PHPUnit_Framework_TestCase $this->resultPageMock = $this->getMockBuilder('Magento\Framework\View\Result\Page') ->disableOriginalConstructor() ->getMock(); - $this->pageConfigMock = $this->getMockBuilder('Magento\Framework\View\Page\Config') - ->disableOriginalConstructor() - ->getMock(); $this->shipmentMock = $this->getMock( 'Magento\Sales\Model\Order\Shipment', @@ -136,15 +128,9 @@ class AddCommentTest extends \PHPUnit_Framework_TestCase $this->viewInterfaceMock->expects($this->any())->method('getPage')->will( $this->returnValue($this->resultPageMock) ); - $this->resultPageMock->expects($this->any())->method('getConfig')->will( - $this->returnValue($this->pageConfigMock) - ); - - $this->pageConfigMock->expects($this->any())->method('getTitle')->will($this->returnValue($this->titleMock)); $contextMock->expects($this->any())->method('getRequest')->will($this->returnValue($this->requestMock)); $contextMock->expects($this->any())->method('getResponse')->will($this->returnValue($this->responseMock)); - $contextMock->expects($this->any())->method('getTitle')->will($this->returnValue($this->titleMock)); $contextMock->expects($this->any())->method('getView')->will($this->returnValue($this->viewInterfaceMock)); $contextMock->expects($this->any()) ->method('getObjectManager') @@ -153,7 +139,8 @@ class AddCommentTest extends \PHPUnit_Framework_TestCase $this->controller = new \Magento\Shipping\Controller\Adminhtml\Order\Shipment\AddComment( $contextMock, $this->shipmentLoaderMock, - $this->shipmentSenderMock + $this->shipmentSenderMock, + $this->resultLayoutFactoryMock ); } @@ -189,15 +176,19 @@ class AddCommentTest extends \PHPUnit_Framework_TestCase $shipment = []; $tracking = []; - $layoutMock = $this->getMock('Magento\Framework\View\Layout', ['getBlock'], [], '', false); - $blockMock = $this->getMock('Magento\Shipping\Block\Adminhtml\View\Comments', ['toHtml'], [], '', false); + $resultLayoutMock = $this->getMock( + 'Magento\Framework\View\Result\Layout', + ['getBlock', 'getDefaultLayoutHandle', 'addDefaultHandle', 'getLayout'], + [], + '', + false + ); $this->requestMock->expects($this->once())->method('setParam')->with('shipment_id', $shipmentId); $this->requestMock->expects($this->once()) ->method('getPost') ->with('comment') ->will($this->returnValue($data)); - $this->titleMock->expects($this->once())->method('prepend'); $this->requestMock->expects($this->any()) ->method('getParam') ->will( @@ -221,10 +212,15 @@ class AddCommentTest extends \PHPUnit_Framework_TestCase $this->shipmentMock->expects($this->once())->method('addComment'); $this->shipmentSenderMock->expects($this->once())->method('send'); $this->shipmentMock->expects($this->once())->method('save'); - $this->viewInterfaceMock->expects($this->once())->method('loadLayout')->with(false); - $this->viewInterfaceMock->expects($this->once())->method('getLayout')->will($this->returnValue($layoutMock)); - $layoutMock->expects($this->once())->method('getBlock')->will($this->returnValue($blockMock)); - $blockMock->expects($this->once())->method('toHtml')->will($this->returnValue($result)); + $layoutMock = $this->getMock('Magento\Framework\View\Layout', ['getBlock'], [], '', false); + $blockMock = $this->getMock('Magento\Shipping\Block\Adminhtml\View\Comments', ['toHtml'], [], '', false); + $blockMock->expects($this->once())->method('toHtml')->willReturn($result); + $layoutMock->expects($this->once())->method('getBlock') + ->with('shipment_comments')->willReturn($blockMock); + $resultLayoutMock->expects($this->once())->method('getLayout')->willReturn($layoutMock); + $resultLayoutMock->expects($this->once())->method('addDefaultHandle'); + $this->resultLayoutFactoryMock->expects($this->once())->method('create') + ->will($this->returnValue($resultLayoutMock)); $this->responseMock->expects($this->once())->method('setBody')->with($result); $this->assertNull($this->controller->execute()); diff --git a/app/code/Magento/Shipping/composer.json b/app/code/Magento/Shipping/composer.json index 66635a57e11490fdb313c17fdb36376181e5787f..4b7d996aa9f690da7d3cc9e16022535c30e4810d 100644 --- a/app/code/Magento/Shipping/composer.json +++ b/app/code/Magento/Shipping/composer.json @@ -3,27 +3,27 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-store": "0.42.0-beta11", - "magento/module-catalog": "0.42.0-beta11", - "magento/module-sales": "0.42.0-beta11", - "magento/module-backend": "0.42.0-beta11", - "magento/module-directory": "0.42.0-beta11", - "magento/module-contact": "0.42.0-beta11", - "magento/module-customer": "0.42.0-beta11", - "magento/module-payment": "0.42.0-beta11", - "magento/module-tax": "0.42.0-beta11", - "magento/module-catalog-inventory": "0.42.0-beta11", - "magento/module-quote": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-store": "0.74.0-beta1", + "magento/module-catalog": "0.74.0-beta1", + "magento/module-sales": "0.74.0-beta1", + "magento/module-backend": "0.74.0-beta1", + "magento/module-directory": "0.74.0-beta1", + "magento/module-contact": "0.74.0-beta1", + "magento/module-customer": "0.74.0-beta1", + "magento/module-payment": "0.74.0-beta1", + "magento/module-tax": "0.74.0-beta1", + "magento/module-catalog-inventory": "0.74.0-beta1", + "magento/module-quote": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "ext-gd": "*", "magento/magento-composer-installer": "*" }, "suggest": { - "magento/module-fedex": "0.42.0-beta11", - "magento/module-ups": "0.42.0-beta11" + "magento/module-fedex": "0.74.0-beta1", + "magento/module-ups": "0.74.0-beta1" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/Sitemap/composer.json b/app/code/Magento/Sitemap/composer.json index fbbf4562d2ee614b21f2746865145e0133155cdf..12eb36220dca7a48017263c5cbec95585753bd00 100644 --- a/app/code/Magento/Sitemap/composer.json +++ b/app/code/Magento/Sitemap/composer.json @@ -3,18 +3,18 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-store": "0.42.0-beta11", - "magento/module-catalog": "0.42.0-beta11", - "magento/module-eav": "0.42.0-beta11", - "magento/module-cms": "0.42.0-beta11", - "magento/module-backend": "0.42.0-beta11", - "magento/module-catalog-url-rewrite": "0.42.0-beta11", - "magento/module-media-storage": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-store": "0.74.0-beta1", + "magento/module-catalog": "0.74.0-beta1", + "magento/module-eav": "0.74.0-beta1", + "magento/module-cms": "0.74.0-beta1", + "magento/module-backend": "0.74.0-beta1", + "magento/module-catalog-url-rewrite": "0.74.0-beta1", + "magento/module-media-storage": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/Store/composer.json b/app/code/Magento/Store/composer.json index c991778c00e9d67dbc1dd0ae36810f0a49009e7a..23428c023c772aee7985533b95f22e38f7a75674 100644 --- a/app/code/Magento/Store/composer.json +++ b/app/code/Magento/Store/composer.json @@ -3,15 +3,15 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-directory": "0.42.0-beta11", - "magento/module-ui": "0.42.0-beta11", - "magento/module-config": "0.42.0-beta11", - "magento/module-media-storage": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-directory": "0.74.0-beta1", + "magento/module-ui": "0.74.0-beta1", + "magento/module-config": "0.74.0-beta1", + "magento/module-media-storage": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/Tax/composer.json b/app/code/Magento/Tax/composer.json index 941aaa559321007cdeb08ced1ca2ad7854b5c10b..aadd9667575528ba6c8ca55d3799b21cc02bfb4b 100644 --- a/app/code/Magento/Tax/composer.json +++ b/app/code/Magento/Tax/composer.json @@ -3,23 +3,23 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-config": "0.42.0-beta11", - "magento/module-store": "0.42.0-beta11", - "magento/module-catalog": "0.42.0-beta11", - "magento/module-customer": "0.42.0-beta11", - "magento/module-backend": "0.42.0-beta11", - "magento/module-directory": "0.42.0-beta11", - "magento/module-checkout": "0.42.0-beta11", - "magento/module-shipping": "0.42.0-beta11", - "magento/module-eav": "0.42.0-beta11", - "magento/module-sales": "0.42.0-beta11", - "magento/module-reports": "0.42.0-beta11", - "magento/module-quote": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-config": "0.74.0-beta1", + "magento/module-store": "0.74.0-beta1", + "magento/module-catalog": "0.74.0-beta1", + "magento/module-customer": "0.74.0-beta1", + "magento/module-backend": "0.74.0-beta1", + "magento/module-directory": "0.74.0-beta1", + "magento/module-checkout": "0.74.0-beta1", + "magento/module-shipping": "0.74.0-beta1", + "magento/module-eav": "0.74.0-beta1", + "magento/module-sales": "0.74.0-beta1", + "magento/module-reports": "0.74.0-beta1", + "magento/module-quote": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/TaxImportExport/composer.json b/app/code/Magento/TaxImportExport/composer.json index 73cee1c7822a2a2a9bb68c783313e0436eec3188..5691c9d7310bbfd52bc0c717b997878258788548 100644 --- a/app/code/Magento/TaxImportExport/composer.json +++ b/app/code/Magento/TaxImportExport/composer.json @@ -3,15 +3,15 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-tax": "0.42.0-beta11", - "magento/module-backend": "0.42.0-beta11", - "magento/module-directory": "0.42.0-beta11", - "magento/module-store": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-tax": "0.74.0-beta1", + "magento/module-backend": "0.74.0-beta1", + "magento/module-directory": "0.74.0-beta1", + "magento/module-store": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/Theme/composer.json b/app/code/Magento/Theme/composer.json index 55d1d0974c5e76385343b32781bfc3a5bf2e2784..054b5be09cb89b6af480f563d49084c47d61356f 100644 --- a/app/code/Magento/Theme/composer.json +++ b/app/code/Magento/Theme/composer.json @@ -3,23 +3,23 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-store": "0.42.0-beta11", - "magento/module-customer": "0.42.0-beta11", - "magento/module-backend": "0.42.0-beta11", - "magento/module-cms": "0.42.0-beta11", - "magento/module-eav": "0.42.0-beta11", - "magento/module-widget": "0.42.0-beta11", - "magento/module-config": "0.42.0-beta11", - "magento/module-media-storage": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", - "magento/module-require-js": "0.42.0-beta11", + "magento/module-store": "0.74.0-beta1", + "magento/module-customer": "0.74.0-beta1", + "magento/module-backend": "0.74.0-beta1", + "magento/module-cms": "0.74.0-beta1", + "magento/module-eav": "0.74.0-beta1", + "magento/module-widget": "0.74.0-beta1", + "magento/module-config": "0.74.0-beta1", + "magento/module-media-storage": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", + "magento/module-require-js": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "suggest": { - "magento/module-translation": "0.42.0-beta11" + "magento/module-translation": "0.74.0-beta1" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/Translation/composer.json b/app/code/Magento/Translation/composer.json index 8aa8d22d709a163f64f191c0a0f3a6e0fcc80938..2b6b99c5a5b6684b0dd40ae7c719d2155a199496 100644 --- a/app/code/Magento/Translation/composer.json +++ b/app/code/Magento/Translation/composer.json @@ -3,15 +3,15 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-backend": "0.42.0-beta11", - "magento/module-developer": "0.42.0-beta11", - "magento/module-store": "0.42.0-beta11", - "magento/module-theme": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-backend": "0.74.0-beta1", + "magento/module-developer": "0.74.0-beta1", + "magento/module-store": "0.74.0-beta1", + "magento/module-theme": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/Ui/composer.json b/app/code/Magento/Ui/composer.json index 303f152dda5dd73a90eb7292cfb11315ea3af158..b0982298f12b05511723d258d7c814e1a1dcb972 100644 --- a/app/code/Magento/Ui/composer.json +++ b/app/code/Magento/Ui/composer.json @@ -3,13 +3,13 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-backend": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", - "magento/module-eav": "0.42.0-beta11", + "magento/module-backend": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", + "magento/module-eav": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/Ups/composer.json b/app/code/Magento/Ups/composer.json index 1e20507397b78fe31ab080f62960d85d064aa0b3..3ade1437142271516c30b3e9e6bb535b66243fde 100644 --- a/app/code/Magento/Ups/composer.json +++ b/app/code/Magento/Ups/composer.json @@ -3,18 +3,18 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-store": "0.42.0-beta11", - "magento/module-backend": "0.42.0-beta11", - "magento/module-sales": "0.42.0-beta11", - "magento/module-shipping": "0.42.0-beta11", - "magento/module-directory": "0.42.0-beta11", - "magento/module-catalog-inventory": "0.42.0-beta11", - "magento/module-quote": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-store": "0.74.0-beta1", + "magento/module-backend": "0.74.0-beta1", + "magento/module-sales": "0.74.0-beta1", + "magento/module-shipping": "0.74.0-beta1", + "magento/module-directory": "0.74.0-beta1", + "magento/module-catalog-inventory": "0.74.0-beta1", + "magento/module-quote": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/UrlRewrite/composer.json b/app/code/Magento/UrlRewrite/composer.json index d19f73d7c5f28a6076bbed9b094aa0bbc790fe7d..0f6cc4c40641bbbf39e21818263d2b6e59ce3c2d 100644 --- a/app/code/Magento/UrlRewrite/composer.json +++ b/app/code/Magento/UrlRewrite/composer.json @@ -3,17 +3,17 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-catalog": "0.42.0-beta11", - "magento/module-store": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", - "magento/module-backend": "0.42.0-beta11", - "magento/module-catalog-url-rewrite": "0.42.0-beta11", - "magento/module-cms": "0.42.0-beta11", - "magento/module-cms-url-rewrite": "0.42.0-beta11", + "magento/module-catalog": "0.74.0-beta1", + "magento/module-store": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", + "magento/module-backend": "0.74.0-beta1", + "magento/module-catalog-url-rewrite": "0.74.0-beta1", + "magento/module-cms": "0.74.0-beta1", + "magento/module-cms-url-rewrite": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/User/composer.json b/app/code/Magento/User/composer.json index b8b8c082c03e2b723ec7e1b596ec2606cacdad6c..d38aaa90c87b16997210056787a35102cb2950f6 100644 --- a/app/code/Magento/User/composer.json +++ b/app/code/Magento/User/composer.json @@ -3,15 +3,15 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-store": "0.42.0-beta11", - "magento/module-authorization": "0.42.0-beta11", - "magento/module-backend": "0.42.0-beta11", - "magento/module-integration": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-store": "0.74.0-beta1", + "magento/module-authorization": "0.74.0-beta1", + "magento/module-backend": "0.74.0-beta1", + "magento/module-integration": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/Usps/composer.json b/app/code/Magento/Usps/composer.json index 41c06f2dbd0461bc65cb25993b566acbf0530d30..68f18c23eb633ccde6f5164311a0780751b46aef 100644 --- a/app/code/Magento/Usps/composer.json +++ b/app/code/Magento/Usps/composer.json @@ -3,20 +3,20 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-store": "0.42.0-beta11", - "magento/module-shipping": "0.42.0-beta11", - "magento/module-directory": "0.42.0-beta11", - "magento/module-catalog": "0.42.0-beta11", - "magento/module-sales": "0.42.0-beta11", - "magento/module-catalog-inventory": "0.42.0-beta11", - "magento/module-quote": "0.42.0-beta11", - "magento/module-config": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-store": "0.74.0-beta1", + "magento/module-shipping": "0.74.0-beta1", + "magento/module-directory": "0.74.0-beta1", + "magento/module-catalog": "0.74.0-beta1", + "magento/module-sales": "0.74.0-beta1", + "magento/module-catalog-inventory": "0.74.0-beta1", + "magento/module-quote": "0.74.0-beta1", + "magento/module-config": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "lib-libxml": "*", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/Variable/composer.json b/app/code/Magento/Variable/composer.json index c848657430cf42d75dafbb323b7f74f08014e694..6d7b619e65727bd62962c50a4ca9ab2159acde5d 100644 --- a/app/code/Magento/Variable/composer.json +++ b/app/code/Magento/Variable/composer.json @@ -3,14 +3,14 @@ "description": "N/A", "require": { "php": "~5.4.11|~5.5.0|~5.6.0", - "magento/module-backend": "0.42.0-beta11", - "magento/module-email": "0.42.0-beta11", - "magento/module-store": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-backend": "0.74.0-beta1", + "magento/module-email": "0.74.0-beta1", + "magento/module-store": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/Version/composer.json b/app/code/Magento/Version/composer.json index 54446a457a44db3bc812496b1de1885e3bb3fc63..9b9831759083c9a51158378d524d2f5a07dd0769 100644 --- a/app/code/Magento/Version/composer.json +++ b/app/code/Magento/Version/composer.json @@ -3,11 +3,11 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/framework": "0.42.0-beta11", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/Webapi/composer.json b/app/code/Magento/Webapi/composer.json index 17d31417ad16d2641472039e26e30ee44d650469..0136c7bdf532b9264ec783b69f5e64a269f03cb9 100644 --- a/app/code/Magento/Webapi/composer.json +++ b/app/code/Magento/Webapi/composer.json @@ -3,18 +3,18 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-store": "0.42.0-beta11", - "magento/module-authorization": "0.42.0-beta11", - "magento/module-integration": "0.42.0-beta11", - "magento/module-backend": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-store": "0.74.0-beta1", + "magento/module-authorization": "0.74.0-beta1", + "magento/module-integration": "0.74.0-beta1", + "magento/module-backend": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "suggest": { - "magento/module-user": "0.42.0-beta11" + "magento/module-user": "0.74.0-beta1" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/Weee/composer.json b/app/code/Magento/Weee/composer.json index b68a250e2dc813a378e0c4f395ddaf8c3fc8f9af..8480dfcfa5fe338a9c6fdceeb566ecb024f8554f 100644 --- a/app/code/Magento/Weee/composer.json +++ b/app/code/Magento/Weee/composer.json @@ -3,20 +3,20 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-store": "0.42.0-beta11", - "magento/module-catalog": "0.42.0-beta11", - "magento/module-tax": "0.42.0-beta11", - "magento/module-sales": "0.42.0-beta11", - "magento/module-backend": "0.42.0-beta11", - "magento/module-directory": "0.42.0-beta11", - "magento/module-eav": "0.42.0-beta11", - "magento/module-customer": "0.42.0-beta11", - "magento/module-quote": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/module-store": "0.74.0-beta1", + "magento/module-catalog": "0.74.0-beta1", + "magento/module-tax": "0.74.0-beta1", + "magento/module-sales": "0.74.0-beta1", + "magento/module-backend": "0.74.0-beta1", + "magento/module-directory": "0.74.0-beta1", + "magento/module-eav": "0.74.0-beta1", + "magento/module-customer": "0.74.0-beta1", + "magento/module-quote": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/Widget/composer.json b/app/code/Magento/Widget/composer.json index e2d2a842edd068dd2c92f4e42bfe93e8c691523c..0aa395f85c8c85205b03bea4407a46211ae5801f 100644 --- a/app/code/Magento/Widget/composer.json +++ b/app/code/Magento/Widget/composer.json @@ -3,17 +3,17 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-store": "0.42.0-beta11", - "magento/module-cms": "0.42.0-beta11", - "magento/module-backend": "0.42.0-beta11", - "magento/module-catalog": "0.42.0-beta11", - "magento/module-theme": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", - "magento/module-variable": "0.42.0-beta11", + "magento/module-store": "0.74.0-beta1", + "magento/module-cms": "0.74.0-beta1", + "magento/module-backend": "0.74.0-beta1", + "magento/module-catalog": "0.74.0-beta1", + "magento/module-theme": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", + "magento/module-variable": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/Wishlist/Test/Unit/Controller/Shared/AllcartTest.php b/app/code/Magento/Wishlist/Test/Unit/Controller/Shared/AllcartTest.php new file mode 100644 index 0000000000000000000000000000000000000000..fbd2ce5f641ac78949c061f63885d182daaad5c9 --- /dev/null +++ b/app/code/Magento/Wishlist/Test/Unit/Controller/Shared/AllcartTest.php @@ -0,0 +1,163 @@ +<?php +/** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ + +namespace Magento\Wishlist\Test\Unit\Controller\Shared; + +class AllcartTest extends \PHPUnit_Framework_TestCase +{ + /** + * @var \Magento\Wishlist\Controller\Shared\WishlistProvider|\PHPUnit_Framework_MockObject_MockObject + */ + protected $wishlistProvider; + + /** + * @var \Magento\Framework\App\Request\Http|\PHPUnit_Framework_MockObject_MockObject + */ + protected $request; + + /** + * @var \Magento\Wishlist\Model\ItemCarrier|\PHPUnit_Framework_MockObject_MockObject + */ + protected $itemCarrier; + + /** + * @var \Magento\Framework\App\Response\Http|\PHPUnit_Framework_MockObject_MockObject + */ + protected $response; + + /** + * @var \Magento\Framework\App\Action\Context|\PHPUnit_Framework_MockObject_MockObject + */ + protected $context; + + protected function setUp() + { + $this->wishlistProvider = $this->getMock( + '\Magento\Wishlist\Controller\Shared\WishlistProvider', + [], + [], + '', + false + ); + $this->request = $this->getMock('Magento\Framework\App\Request\Http', [], [], '', false); + $this->itemCarrier = $this->getMock('Magento\Wishlist\Model\ItemCarrier', [], [], '', false); + $this->context = $this->getMock('Magento\Framework\App\Action\Context', [], [], '', false); + $this->response = $this->getMock('Magento\Framework\App\Response\Http', [], [], '', false); + } + + protected function prepareContext() + { + $om = $this->getMock('Magento\Framework\App\ObjectManager', [], [], '', false); + $eventManager = $this->getMock('Magento\Framework\Event\Manager', null, [], '', false); + $url = $this->getMock('Magento\Framework\Url', [], [], '', false); + $actionFlag = $this->getMock('Magento\Framework\App\ActionFlag', [], [], '', false); + $redirect = $this->getMock('\Magento\Store\App\Response\Redirect', [], [], '', false); + $view = $this->getMock('Magento\Framework\App\View', [], [], '', false); + $messageManager = $this->getMock('Magento\Framework\Message\Manager', [], [], '', false); + + $this->context + ->expects($this->any()) + ->method('getObjectManager') + ->will($this->returnValue($om)); + $this->context + ->expects($this->any()) + ->method('getRequest') + ->will($this->returnValue($this->request)); + $this->context + ->expects($this->any()) + ->method('getResponse') + ->will($this->returnValue($this->response)); + $this->context + ->expects($this->any()) + ->method('getEventManager') + ->will($this->returnValue($eventManager)); + $this->context + ->expects($this->any()) + ->method('getUrl') + ->will($this->returnValue($url)); + $this->context + ->expects($this->any()) + ->method('getActionFlag') + ->will($this->returnValue($actionFlag)); + $this->context + ->expects($this->any()) + ->method('getRedirect') + ->will($this->returnValue($redirect)); + $this->context + ->expects($this->any()) + ->method('getView') + ->will($this->returnValue($view)); + $this->context + ->expects($this->any()) + ->method('getMessageManager') + ->will($this->returnValue($messageManager)); + } + + public function getController() + { + $this->prepareContext(); + return new \Magento\Wishlist\Controller\Shared\Allcart( + $this->context, + $this->wishlistProvider, + $this->itemCarrier + ); + } + + public function testExecuteWithNoWishlist() + { + $this->wishlistProvider->expects($this->once()) + ->method('getWishlist') + ->willReturn(false); + + $this->request + ->expects($this->once()) + ->method('initForward') + ->will($this->returnValue(true)); + $this->request + ->expects($this->once()) + ->method('setActionName') + ->with('noroute') + ->will($this->returnValue(true)); + $this->request + ->expects($this->once()) + ->method('setDispatched') + ->with(false) + ->will($this->returnValue(true)); + + $controller = $this->getController(); + $controller->execute(); + } + + public function testExecuteWithWishlist() + { + $wishlist = $this->getMockBuilder('Magento\Wishlist\Model\Wishlist') + ->disableOriginalConstructor() + ->getMock(); + $this->wishlistProvider->expects($this->once()) + ->method('getWishlist') + ->willReturn($wishlist); + + $this->request + ->expects($this->once()) + ->method('getParam') + ->with('qty') + ->will($this->returnValue(2)); + + $this->itemCarrier + ->expects($this->once()) + ->method('moveAllToCart') + ->with($wishlist, 2) + ->will($this->returnValue('http://redirect-url.com')); + + $this->response + ->expects($this->once()) + ->method('setRedirect') + ->will($this->returnValue('http://redirect-url.com')); + + $controller = $this->getController(); + $controller->execute(); + } +} diff --git a/app/code/Magento/Wishlist/Test/Unit/Helper/RssTest.php b/app/code/Magento/Wishlist/Test/Unit/Helper/RssTest.php new file mode 100644 index 0000000000000000000000000000000000000000..5a4959ba7e961db3e220fb274bc261f932a5de05 --- /dev/null +++ b/app/code/Magento/Wishlist/Test/Unit/Helper/RssTest.php @@ -0,0 +1,252 @@ +<?php +/** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ +namespace Magento\Wishlist\Test\Unit\Helper; + +class RssTest extends \PHPUnit_Framework_TestCase +{ + /** + * @var \Magento\Wishlist\Helper\Rss + */ + protected $model; + + /** + * @var \Magento\Wishlist\Model\WishlistFactory|\PHPUnit_Framework_MockObject_MockObject + */ + protected $wishlistFactoryMock; + + /** + * @var \Magento\Framework\App\RequestInterface|\PHPUnit_Framework_MockObject_MockObject + */ + protected $requestMock; + + /** + * @var \Magento\Framework\Url\DecoderInterface|\PHPUnit_Framework_MockObject_MockObject + */ + protected $urlDecoderMock; + + /** + * @var \Magento\Customer\Api\Data\CustomerInterfaceFactory|\PHPUnit_Framework_MockObject_MockObject + */ + protected $customerFactoryMock; + + /** + * @var \Magento\Customer\Model\Session|\PHPUnit_Framework_MockObject_MockObject + */ + protected $customerSessionMock; + + /** + * @var \Magento\Customer\Api\CustomerRepositoryInterface|\PHPUnit_Framework_MockObject_MockObject + */ + protected $customerRepositoryMock; + + /** + * @var \Magento\Framework\Module\Manager|\PHPUnit_Framework_MockObject_MockObject + */ + protected $moduleManagerMock; + + /** + * @var \Magento\Framework\App\Config\ScopeConfigInterface|\PHPUnit_Framework_MockObject_MockObject + */ + protected $scopeConfigMock; + + public function setUp() + { + $this->wishlistFactoryMock = $this->getMockBuilder('Magento\Wishlist\Model\WishlistFactory') + ->disableOriginalConstructor() + ->setMethods(['create']) + ->getMock(); + + $this->requestMock = $this->getMockBuilder('Magento\Framework\App\RequestInterface') + ->getMock(); + + $this->urlDecoderMock = $this->getMockBuilder('Magento\Framework\Url\DecoderInterface') + ->getMock(); + + $this->customerFactoryMock = $this->getMockBuilder('Magento\Customer\Api\Data\CustomerInterfaceFactory') + ->disableOriginalConstructor() + ->getMock(); + + $this->customerSessionMock = $this->getMockBuilder('Magento\Customer\Model\Session') + ->disableOriginalConstructor() + ->getMock(); + + $this->customerRepositoryMock = $this->getMockBuilder('Magento\Customer\Api\CustomerRepositoryInterface') + ->getMock(); + + $this->moduleManagerMock = $this->getMockBuilder('Magento\Framework\Module\Manager') + ->disableOriginalConstructor() + ->getMock(); + + $this->scopeConfigMock = $this->getMockBuilder('Magento\Framework\App\Config\ScopeConfigInterface') + ->getMock(); + + $objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this); + + $this->model = $objectManager->getObject( + 'Magento\Wishlist\Helper\Rss', + [ + 'wishlistFactory' => $this->wishlistFactoryMock, + 'httpRequest' => $this->requestMock, + 'urlDecoder' => $this->urlDecoderMock, + 'customerFactory' => $this->customerFactoryMock, + 'customerSession' => $this->customerSessionMock, + 'customerRepository' => $this->customerRepositoryMock, + 'moduleManager' => $this->moduleManagerMock, + 'scopeConfig' => $this->scopeConfigMock, + ] + ); + } + + public function testGetWishlistWithWishlistId() + { + $wishlistId = 1; + + $wishlist = $this->getMockBuilder('Magento\Wishlist\Model\Wishlist') + ->disableOriginalConstructor() + ->getMock(); + $this->wishlistFactoryMock->expects($this->once()) + ->method('create') + ->with([]) + ->willReturn($wishlist); + + $this->requestMock->expects($this->once()) + ->method('getParam') + ->with('wishlist_id', null) + ->willReturn($wishlistId); + + $wishlist->expects($this->once()) + ->method('load') + ->with($wishlistId, null) + ->willReturnSelf(); + + $this->assertEquals($wishlist, $this->model->getWishlist()); + // Check that wishlist is cached + $this->assertSame($wishlist, $this->model->getWishlist()); + } + + public function testGetWishlistWithCustomerId() + { + $customerId = 1; + $data = $customerId . ',2'; + + $wishlist = $this->getMockBuilder('Magento\Wishlist\Model\Wishlist') + ->disableOriginalConstructor() + ->getMock(); + $this->wishlistFactoryMock->expects($this->once()) + ->method('create') + ->with([]) + ->willReturn($wishlist); + + $this->requestMock->expects($this->at(0)) + ->method('getParam') + ->with('wishlist_id', null) + ->willReturn(''); + + $this->urlDecoderMock->expects($this->any()) + ->method('decode') + ->willReturnArgument(0); + + $this->requestMock->expects($this->at(1)) + ->method('getParam') + ->with('data', null) + ->willReturn($data); + + $this->customerSessionMock->expects($this->once()) + ->method('getCustomerId') + ->willReturn(0); + + $customer = $this->getMockBuilder('Magento\Customer\Api\Data\CustomerInterface') + ->disableOriginalConstructor() + ->getMock(); + $this->customerFactoryMock->expects($this->once()) + ->method('create') + ->with([]) + ->willReturn($customer); + + $this->customerRepositoryMock->expects($this->never()) + ->method('getById'); + + $customer->expects($this->exactly(2)) + ->method('getId') + ->willReturn($customerId); + + $wishlist->expects($this->once()) + ->method('loadByCustomerId') + ->with($customerId, false) + ->willReturnSelf(); + + $this->assertEquals($wishlist, $this->model->getWishlist()); + } + + public function testGetCustomerWithSession() + { + $customerId = 1; + $data = $customerId . ',2'; + + $this->urlDecoderMock->expects($this->any()) + ->method('decode') + ->willReturnArgument(0); + + $this->requestMock->expects($this->once()) + ->method('getParam') + ->with('data', null) + ->willReturn($data); + + $this->customerSessionMock->expects($this->once()) + ->method('getCustomerId') + ->willReturn($customerId); + + $customer = $this->getMockBuilder('Magento\Customer\Api\Data\CustomerInterface') + ->disableOriginalConstructor() + ->getMock(); + + $this->customerRepositoryMock->expects($this->once()) + ->method('getById') + ->with($customerId) + ->willReturn($customer); + + $this->customerFactoryMock->expects($this->never()) + ->method('create'); + + $this->assertEquals($customer, $this->model->getCustomer()); + // Check that customer is cached + $this->assertSame($customer, $this->model->getCustomer()); + } + + /** + * @param bool $isModuleEnabled + * @param bool $isWishlistActive + * @param bool $result + * @dataProvider dataProviderIsRssAllow + */ + public function testIsRssAllow($isModuleEnabled, $isWishlistActive, $result) + { + $this->moduleManagerMock->expects($this->once()) + ->method('isEnabled') + ->with('Magento_Rss') + ->willReturn($isModuleEnabled); + + $this->scopeConfigMock->expects($this->any()) + ->method('isSetFlag') + ->with('rss/wishlist/active', \Magento\Store\Model\ScopeInterface::SCOPE_STORE) + ->willReturn($isWishlistActive); + + $this->assertEquals($result, $this->model->isRssAllow()); + } + + /** + * @return array + */ + public function dataProviderIsRssAllow() + { + return [ + [false, false, false], + [true, false, false], + [false, true, false], + [true, true, true], + ]; + } +} diff --git a/app/code/Magento/Wishlist/composer.json b/app/code/Magento/Wishlist/composer.json index 2c765b3762ba323cef4aaaebb924fd2a43965287..004b28a9a14d3769dcf3dc22f7af500a5da4e2c6 100644 --- a/app/code/Magento/Wishlist/composer.json +++ b/app/code/Magento/Wishlist/composer.json @@ -3,28 +3,28 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/module-store": "0.42.0-beta11", - "magento/module-customer": "0.42.0-beta11", - "magento/module-catalog": "0.42.0-beta11", - "magento/module-checkout": "0.42.0-beta11", - "magento/module-theme": "0.42.0-beta11", - "magento/module-catalog-inventory": "0.42.0-beta11", - "magento/module-rss": "0.42.0-beta11", - "magento/module-backend": "0.42.0-beta11", - "magento/module-sales": "0.42.0-beta11", - "magento/module-grouped-product": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", - "magento/module-ui": "0.42.0-beta11", + "magento/module-store": "0.74.0-beta1", + "magento/module-customer": "0.74.0-beta1", + "magento/module-catalog": "0.74.0-beta1", + "magento/module-checkout": "0.74.0-beta1", + "magento/module-theme": "0.74.0-beta1", + "magento/module-catalog-inventory": "0.74.0-beta1", + "magento/module-rss": "0.74.0-beta1", + "magento/module-backend": "0.74.0-beta1", + "magento/module-sales": "0.74.0-beta1", + "magento/module-grouped-product": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", + "magento/module-ui": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "suggest": { - "magento/module-configurable-product": "0.42.0-beta11", - "magento/module-downloadable": "0.42.0-beta11", - "magento/module-bundle": "0.42.0-beta11", - "magento/module-cookie": "0.42.0-beta11" + "magento/module-configurable-product": "0.74.0-beta1", + "magento/module-downloadable": "0.74.0-beta1", + "magento/module-bundle": "0.74.0-beta1", + "magento/module-cookie": "0.74.0-beta1" }, "type": "magento2-module", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/code/Magento/Wishlist/i18n/de_DE.csv b/app/code/Magento/Wishlist/i18n/de_DE.csv index 364939cebbb084d7898b300060311b23bf45dab1..7d170fb8ee8f5702e701cfb9e889fbfdd62e6c8b 100644 --- a/app/code/Magento/Wishlist/i18n/de_DE.csv +++ b/app/code/Magento/Wishlist/i18n/de_DE.csv @@ -1,5 +1,5 @@ Back,Zurück -Product,Produkt +Product Name,Produkt Quantity,Quantity Configure,Configure "You added %1 to your shopping cart.","You added %1 to your shopping cart." @@ -101,5 +101,5 @@ Message,Nachricht "My Wish List Link","My Wish List Link" "Display Wish List Summary","Display Wish List Summary" "No Items Found","No Items Found" -"User description","Anwender Beschreibung" +"User Description","Anwender Beschreibung" "Product Details and Comment","Produktangaben und Kommentare" diff --git a/app/code/Magento/Wishlist/i18n/en_US.csv b/app/code/Magento/Wishlist/i18n/en_US.csv index 125f7266ade2bd3d8df8223912d3dc8cd51e02c8..032419a9e0618024eb892ffb4f2478c25bcb0e12 100644 --- a/app/code/Magento/Wishlist/i18n/en_US.csv +++ b/app/code/Magento/Wishlist/i18n/en_US.csv @@ -1,5 +1,5 @@ Back,Back -Product,Product +Product Name,Product Name Quantity,Quantity Configure,Configure "You added %1 to your shopping cart.","You added %1 to your shopping cart." @@ -101,5 +101,5 @@ Message,Message "My Wish List Link","My Wish List Link" "Display Wish List Summary","Display Wish List Summary" "No Items Found","No Items Found" -"User description","User description" +"User Description","User Description" "Product Details and Comment","Product Details and Comment" diff --git a/app/code/Magento/Wishlist/i18n/es_ES.csv b/app/code/Magento/Wishlist/i18n/es_ES.csv index cd8aab6a37915de181661717949dc201d3bf84fa..0c3d383c19eb5b00384fb9278a46f6c6a864dc28 100644 --- a/app/code/Magento/Wishlist/i18n/es_ES.csv +++ b/app/code/Magento/Wishlist/i18n/es_ES.csv @@ -1,5 +1,5 @@ Back,Volver -Product,Producto +Product Name,Producto Quantity,Quantity Configure,Configure "You added %1 to your shopping cart.","You added %1 to your shopping cart." @@ -101,5 +101,5 @@ Message,Mensaje "My Wish List Link","My Wish List Link" "Display Wish List Summary","Display Wish List Summary" "No Items Found","No Items Found" -"User description","Descripción del usuario" +"User Description","Descripción del usuario" "Product Details and Comment","Detalles del producto y comentarios" diff --git a/app/code/Magento/Wishlist/i18n/fr_FR.csv b/app/code/Magento/Wishlist/i18n/fr_FR.csv index 512c6ad4ec38dca4642b48a2142c82c82f112175..393bd7ad11c2455ddb548f10a17cb532ea4c10d1 100644 --- a/app/code/Magento/Wishlist/i18n/fr_FR.csv +++ b/app/code/Magento/Wishlist/i18n/fr_FR.csv @@ -1,5 +1,5 @@ Back,Retour -Product,Produit +Product Name,Produit Quantity,Quantity Configure,Configure "You added %1 to your shopping cart.","You added %1 to your shopping cart." @@ -101,5 +101,5 @@ Message,Message "My Wish List Link","My Wish List Link" "Display Wish List Summary","Display Wish List Summary" "No Items Found","No Items Found" -"User description","Description utilisateur" +"User Description","Description utilisateur" "Product Details and Comment","Détails et commentaires sur le produit" diff --git a/app/code/Magento/Wishlist/i18n/nl_NL.csv b/app/code/Magento/Wishlist/i18n/nl_NL.csv index 9a25398b7cdadff32bdf1964fd0730304487edc4..8742b17c50cbdcfb6999186862a5f55e8c634d66 100644 --- a/app/code/Magento/Wishlist/i18n/nl_NL.csv +++ b/app/code/Magento/Wishlist/i18n/nl_NL.csv @@ -1,5 +1,5 @@ Back,Terug -Product,Product +Product Name,Product Quantity,Quantity Configure,Configure "You added %1 to your shopping cart.","You added %1 to your shopping cart." @@ -101,5 +101,5 @@ Message,Boodschap "My Wish List Link","My Wish List Link" "Display Wish List Summary","Display Wish List Summary" "No Items Found","No Items Found" -"User description","Gebruikers beschrijving" +"User Description","Gebruikers beschrijving" "Product Details and Comment","Product Details en het Commentaar" diff --git a/app/code/Magento/Wishlist/i18n/pt_BR.csv b/app/code/Magento/Wishlist/i18n/pt_BR.csv index 9e297438a2bcf5cd7e22a01ca82fd6f2e093fa91..21f4da865aca77be54eddc52c8e5761342522e44 100644 --- a/app/code/Magento/Wishlist/i18n/pt_BR.csv +++ b/app/code/Magento/Wishlist/i18n/pt_BR.csv @@ -1,5 +1,5 @@ Back,Voltar -Product,Produto +Product Name,Produto Quantity,Quant. Configure,Configure "You added %1 to your shopping cart.","You added %1 to your shopping cart." @@ -101,5 +101,5 @@ Message,Mensagem "My Wish List Link","My Wish List Link" "Display Wish List Summary","Display Wish List Summary" "No Items Found","No Items Found" -"User description","Descrição do usuário" +"User Description","Descrição do usuário" "Product Details and Comment","Detalhes de produto e comentários" diff --git a/app/code/Magento/Wishlist/i18n/zh_CN.csv b/app/code/Magento/Wishlist/i18n/zh_CN.csv index 9c0338dae00531b3e39f990261d1e320b326d29b..5ad8d2e6066973040f76226ddae69ca8b2733964 100644 --- a/app/code/Magento/Wishlist/i18n/zh_CN.csv +++ b/app/code/Magento/Wishlist/i18n/zh_CN.csv @@ -1,5 +1,5 @@ Back,返回 -Product,äº§å“ +Product Name,äº§å“ Quantity,Quantity Configure,Configure "You added %1 to your shopping cart.","You added %1 to your shopping cart." @@ -101,5 +101,5 @@ Message,ä¿¡æ¯ "My Wish List Link","My Wish List Link" "Display Wish List Summary","Display Wish List Summary" "No Items Found","No Items Found" -"User description",用户æè¿° +"User Description",用户æè¿° "Product Details and Comment",产å“详情与评论 diff --git a/app/code/Magento/Wishlist/view/adminhtml/layout/customer_index_wishlist.xml b/app/code/Magento/Wishlist/view/adminhtml/layout/customer_index_wishlist.xml index 9f4c0cc8513679c3f977fd8e4f83f8249d08a2a4..599991c00bccd6551091ddd1aae37db7e45f2971 100644 --- a/app/code/Magento/Wishlist/view/adminhtml/layout/customer_index_wishlist.xml +++ b/app/code/Magento/Wishlist/view/adminhtml/layout/customer_index_wishlist.xml @@ -32,7 +32,7 @@ </arguments> <block class="Magento\Backend\Block\Widget\Grid\Column" as="product_name"> <arguments> - <argument name="header" xsi:type="string" translate="true">Product</argument> + <argument name="header" xsi:type="string" translate="true">Product Name</argument> <argument name="id" xsi:type="string">product_name</argument> <argument name="index" xsi:type="string">product_name</argument> <argument name="filter" xsi:type="string">Magento\Wishlist\Block\Adminhtml\Widget\Grid\Column\Filter\Text</argument> @@ -43,7 +43,7 @@ </block> <block class="Magento\Backend\Block\Widget\Grid\Column" as="description"> <arguments> - <argument name="header" xsi:type="string" translate="true">User description</argument> + <argument name="header" xsi:type="string" translate="true">User Description</argument> <argument name="index" xsi:type="string">description</argument> <argument name="id" xsi:type="string">description</argument> <argument name="renderer" xsi:type="string">Magento\Customer\Block\Adminhtml\Edit\Tab\Wishlist\Grid\Renderer\Description</argument> diff --git a/app/design/adminhtml/Magento/backend/composer.json b/app/design/adminhtml/Magento/backend/composer.json index cf75e20e5ac18b425bf1d15c4d2d3a3e11ba10a6..fedb7a45696e89600bf4546d45e39c86d5074af0 100644 --- a/app/design/adminhtml/Magento/backend/composer.json +++ b/app/design/adminhtml/Magento/backend/composer.json @@ -3,11 +3,11 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/framework": "0.42.0-beta11", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-theme", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/design/frontend/Magento/blank/composer.json b/app/design/frontend/Magento/blank/composer.json index ccdc3da87013b1cf25caac771f5340cfe051b35c..4e238d267afb5e499c9f49936fa95724e4c5232f 100644 --- a/app/design/frontend/Magento/blank/composer.json +++ b/app/design/frontend/Magento/blank/composer.json @@ -3,11 +3,11 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/framework": "0.42.0-beta11", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-theme", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/design/frontend/Magento/luma/composer.json b/app/design/frontend/Magento/luma/composer.json index 8210d430f42df6cf719e7e3b3bc26235f1f721f7..6b06d6914a0feb010b8903bb2de4e8173a221290 100644 --- a/app/design/frontend/Magento/luma/composer.json +++ b/app/design/frontend/Magento/luma/composer.json @@ -3,12 +3,12 @@ "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", - "magento/theme-frontend-blank": "0.42.0-beta11", - "magento/framework": "0.42.0-beta11", + "magento/theme-frontend-blank": "0.74.0-beta1", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-theme", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/app/etc/di.xml b/app/etc/di.xml index a3da2e85a1954b11a9415d002266b285fad6b676..cb45113bb261c8ce90486a5a1d4be251fc658744 100755 --- a/app/etc/di.xml +++ b/app/etc/di.xml @@ -557,13 +557,6 @@ <argument name="publisher" xsi:type="object">developerPublisher</argument> </arguments> </type> - <type name="Magento\Framework\View\Asset\SourceFileGeneratorPool"> - <arguments> - <argument name="fileGeneratorTypes" xsi:type="array"> - <item name="less" xsi:type="object">Magento\Framework\Less\FileGenerator</item> - </argument> - </arguments> - </type> <virtualType name="developerPublisher" type="Magento\Framework\App\View\Asset\Publisher"> <arguments> <argument name="materializationStrategyFactory" xsi:type="object">developerMaterialization</argument> @@ -577,24 +570,23 @@ </argument> </arguments> </virtualType> - <virtualType name="lessFileGeneratorMaterialization" type="Magento\Framework\App\View\Asset\MaterializationStrategy\Factory"> + <type name="Magento\Framework\View\Asset\SourceFileGeneratorPool"> <arguments> - <argument name="strategiesList" xsi:type="array"> - <item name="view_preprocessed" xsi:type="object">Magento\Framework\App\View\Asset\MaterializationStrategy\Symlink</item> - <item name="default" xsi:type="object">Magento\Framework\App\View\Asset\MaterializationStrategy\Copy</item> + <argument name="fileGeneratorTypes" xsi:type="array"> + <item name="less" xsi:type="object">fileassemblerFileGenerator</item> </argument> </arguments> - </virtualType> - <virtualType name="lessFileGeneratorPublisher" type="Magento\Framework\App\View\Asset\Publisher"> + </type> + <virtualType name="fileassemblerFileGenerator" type="Magento\Framework\Less\FileGenerator"> <arguments> - <argument name="materializationStrategyFactory" xsi:type="object">lessFileGeneratorMaterialization</argument> + <argument name="relatedGenerator" xsi:type="object">fileassemblerRelatedFilesGenerator</argument> </arguments> </virtualType> - <type name="Magento\Framework\Less\FileGenerator"> + <virtualType name="fileassemblerRelatedFilesGenerator" type="Magento\Developer\Model\Less\FileGenerator\PublicationDecorator"> <arguments> - <argument name="publisher" xsi:type="object">lessFileGeneratorPublisher</argument> + <argument name="publisher" xsi:type="object">developerPublisher</argument> </arguments> - </type> + </virtualType> <virtualType name="fallbackResolverSimpleWithGroupedCache" type="Magento\Framework\View\Design\FileResolution\Fallback\Resolver\Simple"> <arguments> <argument name="cache" xsi:type="object">Magento\Framework\View\Design\FileResolution\Fallback\CacheData\Grouped</argument> diff --git a/app/i18n/magento/de_de/composer.json b/app/i18n/magento/de_de/composer.json index e531a741d5ba2686b71cb3db8d6a9b65bd21dba2..4405c15797e07f2c9742718c495e0a63d8f1f9c9 100644 --- a/app/i18n/magento/de_de/composer.json +++ b/app/i18n/magento/de_de/composer.json @@ -1,13 +1,13 @@ { "name": "magento/language-de_de", "description": "German (Germany) language", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" ], "require": { - "magento/framework": "0.42.0-beta11", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-language", diff --git a/app/i18n/magento/en_us/composer.json b/app/i18n/magento/en_us/composer.json index 153bc0d9d3253be61f43226fae2fcf87ba063d19..e60b68a5e769d9efcac3f03e691b823a27d4e7a7 100644 --- a/app/i18n/magento/en_us/composer.json +++ b/app/i18n/magento/en_us/composer.json @@ -1,13 +1,13 @@ { "name": "magento/language-en_us", "description": "English (United States) language", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" ], "require": { - "magento/framework": "0.42.0-beta11", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-language", diff --git a/app/i18n/magento/es_es/composer.json b/app/i18n/magento/es_es/composer.json index 93032c4b83eb27ce4aa8f7a8392f0bc9f0bfd761..b0583142f7b14854b893ec53aa810bce785ba0c6 100644 --- a/app/i18n/magento/es_es/composer.json +++ b/app/i18n/magento/es_es/composer.json @@ -1,13 +1,13 @@ { "name": "magento/language-es_es", "description": "Spanish (Spain) language", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" ], "require": { - "magento/framework": "0.42.0-beta11", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-language", diff --git a/app/i18n/magento/fr_fr/composer.json b/app/i18n/magento/fr_fr/composer.json index d3681cbfc371d5c942ae01c536b06c76aa2fe636..f265ca1a3cd3288553ca3a0d68999f15da4ac8de 100644 --- a/app/i18n/magento/fr_fr/composer.json +++ b/app/i18n/magento/fr_fr/composer.json @@ -1,13 +1,13 @@ { "name": "magento/language-fr_fr", "description": "French (France) language", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" ], "require": { - "magento/framework": "0.42.0-beta11", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-language", diff --git a/app/i18n/magento/nl_nl/composer.json b/app/i18n/magento/nl_nl/composer.json index 91b6f97e6e14afea0d8ef0ecf8837b4e32469345..aefcd710853b420915589d47411fbf6551d5a2a2 100644 --- a/app/i18n/magento/nl_nl/composer.json +++ b/app/i18n/magento/nl_nl/composer.json @@ -1,13 +1,13 @@ { "name": "magento/language-nl_nl", "description": "Dutch (Netherlands) language", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" ], "require": { - "magento/framework": "0.42.0-beta11", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-language", diff --git a/app/i18n/magento/pt_br/composer.json b/app/i18n/magento/pt_br/composer.json index 87a67bf386eab92396ae8988a5043826b8970de4..916daafa18259faa6ede5a5c45bca6d291a31c00 100644 --- a/app/i18n/magento/pt_br/composer.json +++ b/app/i18n/magento/pt_br/composer.json @@ -1,13 +1,13 @@ { "name": "magento/language-pt_br", "description": "Portuguese (Brazil) language", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" ], "require": { - "magento/framework": "0.42.0-beta11", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-language", diff --git a/app/i18n/magento/zh_cn/composer.json b/app/i18n/magento/zh_cn/composer.json index 0c70befdd1474c7272d190fd963d2f8b536dda47..4075918bcb42bcb376461e9b9ab7aac37209131a 100644 --- a/app/i18n/magento/zh_cn/composer.json +++ b/app/i18n/magento/zh_cn/composer.json @@ -1,13 +1,13 @@ { "name": "magento/language-zh_cn", "description": "Chinese (China) language", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" ], "require": { - "magento/framework": "0.42.0-beta11", + "magento/framework": "0.74.0-beta1", "magento/magento-composer-installer": "*" }, "type": "magento2-language", diff --git a/composer.json b/composer.json index 883acc7b9372d595885c44436c16ac3d6ced029a..c5b5d17eb8badb72eddfa355623f63ef51cad1ed 100644 --- a/composer.json +++ b/composer.json @@ -2,7 +2,7 @@ "name": "magento/project-community-edition", "description": "Magento project (Community Edition)", "type": "project", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/composer.lock b/composer.lock index f35cfe3ae7e52ec1f99cc60d38867d12a5ff8a21..e941f4cfd37e10882f8cee92343b703f49202ceb 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "hash": "463c446e1ab4ab0b3d6ea316c8991227", + "hash": "d5894e8331088f5a3432dec4ee28ace4", "packages": [ { "name": "composer/composer", diff --git a/dev/tests/functional/.htaccess b/dev/tests/functional/.htaccess index db0b8f66ad0008c5f765391d0b93515d711ab1b7..0fe8af43b87597383c5904481c15b751e52630d2 100644 --- a/dev/tests/functional/.htaccess +++ b/dev/tests/functional/.htaccess @@ -170,6 +170,8 @@ ## http://developer.yahoo.com/performance/rules.html#expires ExpiresDefault "access plus 1 year" + ExpiresByType text/html A0 + ExpiresByType text/plain A0 </IfModule> @@ -191,4 +193,4 @@ ## If running in cluster environment, uncomment this ## http://developer.yahoo.com/performance/rules.html#etags - #FileETag none \ No newline at end of file + #FileETag none diff --git a/dev/tests/integration/testsuite/Magento/Backend/Block/_files/design/adminhtml/test_default/Magento_Backend/layout_test_grid_handle.xml b/dev/tests/integration/testsuite/Magento/Backend/Block/_files/design/adminhtml/test_default/Magento_Backend/layout_test_grid_handle.xml index bfc66880afd106048caaa66cb9822118492c0778..aeac3057672ae1af9547fa748fa65cfd0034b0f2 100644 --- a/dev/tests/integration/testsuite/Magento/Backend/Block/_files/design/adminhtml/test_default/Magento_Backend/layout_test_grid_handle.xml +++ b/dev/tests/integration/testsuite/Magento/Backend/Block/_files/design/adminhtml/test_default/Magento_Backend/layout_test_grid_handle.xml @@ -21,7 +21,7 @@ </block> <block class="Magento\Backend\Block\Widget\Grid\Column" as="description" output="1"> <arguments> - <header>User description</header> + <header>User Description</header> <index>description</index> <type>text</type> </arguments> diff --git a/dev/tests/integration/testsuite/Magento/Wishlist/Helper/RssTest.php b/dev/tests/integration/testsuite/Magento/Wishlist/Helper/RssTest.php deleted file mode 100644 index 72264a8ccf60d40c0a06515cdfc02b31e26e3297..0000000000000000000000000000000000000000 --- a/dev/tests/integration/testsuite/Magento/Wishlist/Helper/RssTest.php +++ /dev/null @@ -1,125 +0,0 @@ -<?php -/** - * Copyright © 2015 Magento. All rights reserved. - * See COPYING.txt for license details. - */ - -// @codingStandardsIgnoreFile - -namespace Magento\Wishlist\Helper; - -class RssTest extends \PHPUnit_Framework_TestCase -{ - /** - * @var \Magento\Customer\Model\Session - */ - protected $_customerSession; - - /** - * Core data - * - * @var \Magento\Framework\Url\EncoderInterface - */ - protected $urlEncoder; - - /** - * @var \Magento\Framework\ObjectManagerInterface - */ - protected $_objectManager; - - /** - * @var \Magento\Framework\App\Helper\Context - */ - protected $_contextHelper; - - /** - * @var \Magento\Wishlist\Helper\Rss - */ - protected $_wishlistHelper; - - /** - * @var int - */ - protected $_fixtureCustomerId; - - protected function setUp() - { - $this->_fixtureCustomerId = 1; - - $this->_objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager(); - $this->_customerSession = $this->_objectManager->create('Magento\Customer\Model\Session'); - $this->urlEncoder = $this->_objectManager->create('Magento\Framework\Url\EncoderInterface'); - - $this->_contextHelper = $this->_objectManager->create('Magento\Framework\App\Helper\Context'); - $request = $this->_contextHelper->getRequest(); - $request->setParam('data', $this->urlEncoder->encode($this->_fixtureCustomerId)); - - $this->_wishlistHelper = $this->_objectManager->create('Magento\Wishlist\Helper\Rss', - [ - 'context' => $this->_contextHelper, - 'customerSession' => $this->_customerSession - ] - ); - - $this->_customerSession->loginById($this->_fixtureCustomerId); - } - - /** - * @magentoDataFixture Magento/Customer/_files/customer.php - * @magentoAppArea frontend - */ - public function testGetCustomer() - { - $expectedCustomer = $this->_customerSession->getCustomerDataObject(); - $actualCustomer = $this->_wishlistHelper->getCustomer(); - $this->assertInstanceOf('Magento\Customer\Api\Data\CustomerInterface', $actualCustomer); - $this->assertEquals((int)$expectedCustomer->getId(), (int)$actualCustomer->getId()); - $this->assertEquals((int)$expectedCustomer->getWebsiteId(), (int)$actualCustomer->getWebsiteId()); - $this->assertEquals((int)$expectedCustomer->getStoreId(), (int)$actualCustomer->getStoreId()); - $this->assertEquals((int)$expectedCustomer->getGroupId(), (int)$actualCustomer->getGroupId()); - $this->assertEquals($expectedCustomer->getCustomAttributes(), $actualCustomer->getCustomAttributes()); - $this->assertEquals($expectedCustomer->getFirstname(), $actualCustomer->getFirstname()); - $this->assertEquals($expectedCustomer->getLastname(), $actualCustomer->getLastname()); - $this->assertEquals($expectedCustomer->getEmail(), $actualCustomer->getEmail()); - $this->assertEquals($expectedCustomer->getEmail(), $actualCustomer->getEmail()); - $this->assertEquals((int)$expectedCustomer->getDefaultBilling(), (int)$actualCustomer->getDefaultBilling()); - $this->assertEquals((int)$expectedCustomer->getDefaultShipping(), (int)$actualCustomer->getDefaultShipping()); - } - - /** - * @magentoDataFixture Magento/Customer/_files/customer.php - * @magentoDataFixture Magento/Wishlist/_files/wishlist_with_product_qty_increments.php - * @magentoAppArea frontend - */ - public function testGetWishlistByParam() - { - /** @var \Magento\Wishlist\Model\Wishlist $wishlist */ - $wishlist = $this->_objectManager->create('Magento\Wishlist\Model\Wishlist') - ->loadByCustomerId($this->_fixtureCustomerId); - $wishlist->load($wishlist->getId()); - - /** @var \Magento\Framework\App\Request\Http $request */ - $request = $this->_contextHelper->getRequest(); - $request->setParam('wishlist_id', $wishlist->getId()); - - $this->assertEquals($wishlist, $this->_wishlistHelper->getWishlist()); - } - - /** - * @magentoDataFixture Magento/Customer/_files/customer.php - * @magentoDataFixture Magento/Wishlist/_files/wishlist_with_product_qty_increments.php - * @magentoAppArea frontend - */ - public function testGetWishlistByCustomerId() - { - /** @var \Magento\Wishlist\Model\Wishlist $wishlist */ - $wishlist = $this->_objectManager->create('Magento\Wishlist\Model\Wishlist') - ->loadByCustomerId($this->_fixtureCustomerId); - - /** @var \Magento\Framework\App\Request\Http $request */ - $request = $this->_contextHelper->getRequest(); - $request->setParam('wishlist_id', ''); - - $this->assertEquals($wishlist, $this->_wishlistHelper->getWishlist()); - } -} diff --git a/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_methods.php b/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_methods.php index d01d17f39f1250f965c7acca5ddace4ef3d50f62..21ff60a356b59dbd10c2c7bcc2d9c5cc21c57bd4 100644 --- a/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_methods.php +++ b/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_methods.php @@ -2149,4 +2149,5 @@ return [ ['loadCollectionAttributes', 'Magento\Eav\Model\Config'], ['_isCacheEnabled', 'Magento\Eav\Model\Config'], ['_createCustomerAttribute', '\Magento\Customer\Model\Customer'], + ['prepareCatalogProductPriceIndexTable', 'Magento\CatalogRule\Model\Observer'], ]; diff --git a/dev/tools/Magento/Tools/Webdev/App/FileAssembler.php b/dev/tools/Magento/Tools/Webdev/App/FileAssembler.php index fb8529dd7596966ce189816f5276a222fb7bd4fa..0a07540a19c94695f0a9454f0f5f4b3b86c12182 100644 --- a/dev/tools/Magento/Tools/Webdev/App/FileAssembler.php +++ b/dev/tools/Magento/Tools/Webdev/App/FileAssembler.php @@ -9,6 +9,7 @@ namespace Magento\Tools\Webdev\App; use Magento\Framework\App; use Magento\Framework\App\State; use Magento\Framework\AppInterface; +use Magento\Framework\Filesystem; use Magento\Tools\Webdev\CliParams; use Magento\Tools\View\Deployer\Log; use Magento\Framework\View\Asset\Source; @@ -18,6 +19,7 @@ use Magento\Framework\ObjectManagerInterface; use Magento\Framework\App\ObjectManager\ConfigLoader; use Magento\Framework\View\Asset\SourceFileGeneratorPool; use Magento\Framework\View\Asset\PreProcessor\ChainFactoryInterface; +use Magento\Framework\App\Filesystem\DirectoryList; /** * Class FileAssembler @@ -60,7 +62,7 @@ class FileAssembler implements AppInterface /** * @var \Magento\Framework\Less\FileGenerator */ - private $sourceFileGeneratorPoll; + private $sourceFileGeneratorPool; /** * @var \Magento\Framework\View\Asset\Source @@ -77,6 +79,11 @@ class FileAssembler implements AppInterface */ private $chainFactory; + /** + * @var Filesystem + */ + private $filesystem; + /** * @param ObjectManagerInterface $objectManager * @param Response $response @@ -88,6 +95,7 @@ class FileAssembler implements AppInterface * @param \Magento\Framework\View\Asset\SourceFileGeneratorPool $sourceFileGeneratorPoll * @param \Magento\Tools\View\Deployer\Log $logger * @param ChainFactoryInterface $chainFactory + * @param Filesystem $filesystem * * @SuppressWarnings(PHPMD.ExcessiveParameterList) */ @@ -101,7 +109,8 @@ class FileAssembler implements AppInterface Source $assetSource, SourceFileGeneratorPool $sourceFileGeneratorPoll, Log $logger, - ChainFactoryInterface $chainFactory + ChainFactoryInterface $chainFactory, + Filesystem $filesystem ) { $this->response = $response; $this->params = $params; @@ -109,10 +118,11 @@ class FileAssembler implements AppInterface $this->objectManager = $objectManager; $this->configLoader = $configLoader; $this->assetRepo = $assetRepo; - $this->sourceFileGeneratorPoll = $sourceFileGeneratorPoll; + $this->sourceFileGeneratorPool = $sourceFileGeneratorPoll; $this->assetSource = $assetSource; $this->logger = $logger; $this->chainFactory = $chainFactory; + $this->filesystem = $filesystem; } /** @@ -125,7 +135,7 @@ class FileAssembler implements AppInterface $this->state->setAreaCode($this->params->getArea()); $this->objectManager->configure($this->configLoader->load($this->params->getArea())); - $sourceFileGenerator = $this->sourceFileGeneratorPoll->create($this->params->getExt()); + $sourceFileGenerator = $this->sourceFileGeneratorPool->create($this->params->getExt()); foreach ($this->params->getFiles() as $file) { $file .= '.' . $this->params->getExt(); @@ -152,7 +162,13 @@ class FileAssembler implements AppInterface ] ); - $sourceFileGenerator->generateFileTree($chain); + $processedCoreFile = $sourceFileGenerator->generateFileTree($chain); + + $targetDir = $this->filesystem->getDirectoryWrite(DirectoryList::STATIC_VIEW); + $rootDir = $this->filesystem->getDirectoryWrite(DirectoryList::ROOT); + $source = $rootDir->getRelativePath($processedCoreFile); + $destination = $asset->getPath(); + $rootDir->copyFile($source, $destination, $targetDir); $this->logger->logMessage("Done"); } diff --git a/dev/tools/Magento/Tools/Webdev/file_assembler.php b/dev/tools/Magento/Tools/Webdev/file_assembler.php index 72ec5b0458fdf12637221079aca0457872a60bb4..669ffa8d535856606b1a86ebbf5d0882aa99f353 100644 --- a/dev/tools/Magento/Tools/Webdev/file_assembler.php +++ b/dev/tools/Magento/Tools/Webdev/file_assembler.php @@ -35,15 +35,15 @@ try { $logger = new Log($params->getVerbose()); } catch (\Zend_Console_Getopt_Exception $e) { - echo $e->getUsageMessage(); - echo 'Please, use quotes(") for wrapping strings.' . "\n"; + echo $e->getMessage() . PHP_EOL; + echo 'Please, use quotes(") for wrapping strings.' . PHP_EOL; exit(1); } $bootstrap = \Magento\Framework\App\Bootstrap::create(BP, $_SERVER); /** @var \Magento\Framework\App\Http $app */ $app = $bootstrap->createApplication( - 'Magento\Tools\WebDev\App\FileAssembler', + 'Magento\Tools\Webdev\App\FileAssembler', ['params' => $params, 'logger' => $logger] ); $bootstrap->run($app); diff --git a/lib/internal/Magento/Framework/AppInterface.php b/lib/internal/Magento/Framework/AppInterface.php index 7a6b7208d18d10202aaf90b210f7342466cc0111..85c2186e67320a90827eb1499b604e9a1ade03ea 100644 --- a/lib/internal/Magento/Framework/AppInterface.php +++ b/lib/internal/Magento/Framework/AppInterface.php @@ -17,7 +17,7 @@ interface AppInterface /** * Magento version */ - const VERSION = '0.42.0-beta11'; + const VERSION = '0.74.0-beta1'; /** * Launch application diff --git a/lib/internal/Magento/Framework/Less/Config.php b/lib/internal/Magento/Framework/Less/Config.php new file mode 100644 index 0000000000000000000000000000000000000000..88f6c27e9ee412d67f4c414f5165e449ed42fa14 --- /dev/null +++ b/lib/internal/Magento/Framework/Less/Config.php @@ -0,0 +1,26 @@ +<?php +/** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ +namespace Magento\Framework\Less; + +use Magento\Framework\App\Filesystem\DirectoryList; + +class Config +{ + /** + * Temporary directory prefix + */ + const TMP_LESS_DIR = 'less'; + + /** + * Returns relative path to less materialization directory + * + * @return string + */ + public function getLessMaterializationRelativePath() + { + return DirectoryList::TMP_MATERIALIZATION_DIR . '/' . self::TMP_LESS_DIR; + } +} diff --git a/lib/internal/Magento/Framework/Less/File/Temporary.php b/lib/internal/Magento/Framework/Less/File/Temporary.php new file mode 100644 index 0000000000000000000000000000000000000000..8da016ecde585d76b509d3e4f74e3ca9069de16a --- /dev/null +++ b/lib/internal/Magento/Framework/Less/File/Temporary.php @@ -0,0 +1,52 @@ +<?php +/** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ +namespace Magento\Framework\Less\File; + +use Magento\Framework\App\Filesystem\DirectoryList; +use Magento\Framework\Filesystem; +use Magento\Framework\Less\Config; + +class Temporary +{ + /** + * @var Config + */ + private $config; + + /** + * @var Filesystem\Directory\WriteInterface + */ + private $tmpDirectory; + + /** + * @param Filesystem $filesystem + * @param Config $config + */ + public function __construct( + Filesystem $filesystem, + Config $config + ) { + $this->tmpDirectory = $filesystem->getDirectoryWrite(DirectoryList::VAR_DIR); + $this->config = $config; + } + + /** + * Write down contents to a temporary file and return its absolute path + * + * @param string $relativePath + * @param string $contents + * @return string + */ + public function createFile($relativePath, $contents) + { + $filePath = $this->config->getLessMaterializationRelativePath() . '/' . $relativePath; + + if (!$this->tmpDirectory->isExist($filePath)) { + $this->tmpDirectory->writeFile($filePath, $contents); + } + return $this->tmpDirectory->getAbsolutePath($filePath); + } +} diff --git a/lib/internal/Magento/Framework/Less/FileGenerator.php b/lib/internal/Magento/Framework/Less/FileGenerator.php index f45d462e7eaaeeff23b95633c658bf40d526f650..ab7141d29dcc196d32324778d6e8df1b114fc747 100644 --- a/lib/internal/Magento/Framework/Less/FileGenerator.php +++ b/lib/internal/Magento/Framework/Less/FileGenerator.php @@ -7,17 +7,16 @@ namespace Magento\Framework\Less; use Magento\Framework\App\Filesystem\DirectoryList; -use Magento\Framework\View\Asset\LocalInterface; use Magento\Framework\View\Asset\PreProcessor\Chain; use Magento\Framework\View\Asset\SourceFileGeneratorInterface; +/** + * Class FileGenerator + * @package Magento\Framework\Less + * @SuppressWarnings(PHPMD.CouplingBetweenObjects) + */ class FileGenerator implements SourceFileGeneratorInterface { - /** - * Temporary directory prefix - */ - const TMP_LESS_DIR = 'less'; - /** * Max execution (locking) time for generation process (in seconds) */ @@ -28,11 +27,6 @@ class FileGenerator implements SourceFileGeneratorInterface */ const LOCK_FILE = 'less.lock'; - /** - * @var string - */ - protected $lessDirectory; - /** * @var \Magento\Framework\Filesystem\Directory\WriteInterface */ @@ -59,17 +53,29 @@ class FileGenerator implements SourceFileGeneratorInterface private $importProcessor; /** - * @var \Magento\Framework\App\View\Asset\Publisher + * @var FileGenerator\RelatedGenerator + */ + private $relatedGenerator; + + /** + * @var Config */ - private $publisher; + private $config; + + /** + * @var File\Temporary + */ + private $temporaryFile; /** * @param \Magento\Framework\Filesystem $filesystem * @param \Magento\Framework\View\Asset\Repository $assetRepo - * @param \Magento\Framework\Less\PreProcessor\Instruction\MagentoImport $magentoImportProcessor - * @param \Magento\Framework\Less\PreProcessor\Instruction\Import $importProcessor + * @param PreProcessor\Instruction\MagentoImport $magentoImportProcessor + * @param PreProcessor\Instruction\Import $importProcessor * @param \Magento\Framework\View\Asset\Source $assetSource - * @param \Magento\Framework\App\View\Asset\Publisher $publisher + * @param FileGenerator\RelatedGenerator $relatedGenerator + * @param Config $config + * @param File\Temporary $temporaryFile */ public function __construct( \Magento\Framework\Filesystem $filesystem, @@ -77,17 +83,19 @@ class FileGenerator implements SourceFileGeneratorInterface \Magento\Framework\Less\PreProcessor\Instruction\MagentoImport $magentoImportProcessor, \Magento\Framework\Less\PreProcessor\Instruction\Import $importProcessor, \Magento\Framework\View\Asset\Source $assetSource, - \Magento\Framework\App\View\Asset\Publisher $publisher + \Magento\Framework\Less\FileGenerator\RelatedGenerator $relatedGenerator, + Config $config, + File\Temporary $temporaryFile ) { $this->tmpDirectory = $filesystem->getDirectoryWrite(DirectoryList::VAR_DIR); - $this->pubDirectory = $filesystem->getDirectoryWrite(DirectoryList::PUB); - $this->lessDirectory = DirectoryList::TMP_MATERIALIZATION_DIR . '/' . self::TMP_LESS_DIR; $this->assetRepo = $assetRepo; $this->assetSource = $assetSource; $this->magentoImportProcessor = $magentoImportProcessor; $this->importProcessor = $importProcessor; - $this->publisher = $publisher; + $this->relatedGenerator = $relatedGenerator; + $this->config = $config; + $this->temporaryFile = $temporaryFile; } /** @@ -109,16 +117,14 @@ class FileGenerator implements SourceFileGeneratorInterface while ($this->isProcessLocked()) { sleep(1); } - $lockFilePath = $this->lessDirectory . '/' . self::LOCK_FILE; + $lockFilePath = $this->config->getLessMaterializationRelativePath() . '/' . self::LOCK_FILE; $this->tmpDirectory->writeFile($lockFilePath, time()); $this->magentoImportProcessor->process($chain); $this->importProcessor->process($chain); - $this->generateRelatedFiles(); + $this->relatedGenerator->generate($this->importProcessor); $lessRelativePath = preg_replace('#\.css$#', '.less', $chain->getAsset()->getPath()); - $tmpFilePath = $this->createFile($lessRelativePath, $chain->getContent()); - - $this->createFileMain($lessRelativePath, $chain->getContent()); + $tmpFilePath = $this->temporaryFile->createFile($lessRelativePath, $chain->getContent()); $this->tmpDirectory->delete($lockFilePath); return $tmpFilePath; @@ -131,7 +137,7 @@ class FileGenerator implements SourceFileGeneratorInterface */ protected function isProcessLocked() { - $lockFilePath = $this->lessDirectory . '/' . self::LOCK_FILE; + $lockFilePath = $this->config->getLessMaterializationRelativePath() . '/' . self::LOCK_FILE; if ($this->tmpDirectory->isExist($lockFilePath)) { $lockTime = time() - (int)$this->tmpDirectory->readFile($lockFilePath); if ($lockTime >= self::MAX_LOCK_TIME) { @@ -142,69 +148,4 @@ class FileGenerator implements SourceFileGeneratorInterface } return false; } - - /** - * Create all asset files, referenced from already processed ones - * - * @return void - */ - protected function generateRelatedFiles() - { - do { - $relatedFiles = $this->importProcessor->getRelatedFiles(); - $this->importProcessor->resetRelatedFiles(); - foreach ($relatedFiles as $relatedFileInfo) { - list($relatedFileId, $asset) = $relatedFileInfo; - $this->generateRelatedFile($relatedFileId, $asset); - } - } while ($relatedFiles); - } - - /** - * Create file, referenced relatively to an asset - * - * @param string $relatedFileId - * @param LocalInterface $asset - * @return void - */ - protected function generateRelatedFile($relatedFileId, LocalInterface $asset) - { - $relatedAsset = $this->assetRepo->createRelated($relatedFileId, $asset); - $relatedAsset->getFilePath(); - - $this->createFile($relatedAsset->getPath(), $relatedAsset->getContent()); - $relatedAsset->getSourceFile(); - $this->publisher->publish($relatedAsset); - } - - /** - * Write down contents to a temporary file and return its absolute path - * - * @param string $relativePath - * @param string $contents - * @return string - */ - private function createFile($relativePath, $contents) - { - $filePath = $this->lessDirectory . '/' . $relativePath; - - if (!$this->tmpDirectory->isExist($filePath)) { - $this->tmpDirectory->writeFile($filePath, $contents); - } - return $this->tmpDirectory->getAbsolutePath($filePath); - } - - /** - * @param string $relativePath - * @param string $contents - * - * @return void - */ - private function createFileMain($relativePath, $contents) - { - $filePath = '/static/' . $relativePath; - $contents .= '@urls-resolved: true;' . PHP_EOL . PHP_EOL; - $this->pubDirectory->writeFile($filePath, $contents); - return; - } } diff --git a/lib/internal/Magento/Framework/Less/FileGenerator/RelatedGenerator.php b/lib/internal/Magento/Framework/Less/FileGenerator/RelatedGenerator.php new file mode 100644 index 0000000000000000000000000000000000000000..64564ce4c0e9f3221710fe44a40bb316db4d7cf1 --- /dev/null +++ b/lib/internal/Magento/Framework/Less/FileGenerator/RelatedGenerator.php @@ -0,0 +1,79 @@ +<?php +/** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ +namespace Magento\Framework\Less\FileGenerator; + +use Magento\Framework\App\Filesystem\DirectoryList; +use Magento\Framework\Less\PreProcessor\Instruction\Import; +use Magento\Framework\View\Asset\LocalInterface; + +class RelatedGenerator +{ + /** + * @var \Magento\Framework\Filesystem\Directory\WriteInterface + */ + protected $tmpDirectory; + + /** + * @var \Magento\Framework\View\Asset\Repository + */ + private $assetRepo; + + /** + * @var \Magento\Framework\Less\File\Temporary + */ + private $temporaryFile; + + /** + * @param \Magento\Framework\Filesystem $filesystem + * @param \Magento\Framework\View\Asset\Repository $assetRepo + * @param \Magento\Framework\Less\File\Temporary $temporaryFile + */ + public function __construct( + \Magento\Framework\Filesystem $filesystem, + \Magento\Framework\View\Asset\Repository $assetRepo, + \Magento\Framework\Less\File\Temporary $temporaryFile + ) { + $this->tmpDirectory = $filesystem->getDirectoryWrite(DirectoryList::VAR_DIR); + $this->assetRepo = $assetRepo; + + $this->temporaryFile = $temporaryFile; + } + + /** + * Create all asset files, referenced from already processed ones + * + * @param Import $importGenerator + * + * @return void + */ + public function generate(Import $importGenerator) + { + do { + $relatedFiles = $importGenerator->getRelatedFiles(); + $importGenerator->resetRelatedFiles(); + foreach ($relatedFiles as $relatedFileInfo) { + list($relatedFileId, $asset) = $relatedFileInfo; + + $this->generateRelatedFile($relatedFileId, $asset); + } + } while ($relatedFiles); + } + + /** + * Create file, referenced relatively to an asset + * + * @param string $relatedFileId + * @param LocalInterface $asset + * @return \Magento\Framework\View\Asset\File + */ + protected function generateRelatedFile($relatedFileId, LocalInterface $asset) + { + $relatedAsset = $this->assetRepo->createRelated($relatedFileId, $asset); + $this->temporaryFile->createFile($relatedAsset->getPath(), $relatedAsset->getContent()); + + return $relatedAsset; + } +} diff --git a/lib/internal/Magento/Framework/Less/Test/Unit/FileGeneratorTest.php b/lib/internal/Magento/Framework/Less/Test/Unit/FileGeneratorTest.php index 60293981b8f761c070b06930b9461640e90b450b..f5985fbd30f6042f10cc4bed359f95453521d678 100644 --- a/lib/internal/Magento/Framework/Less/Test/Unit/FileGeneratorTest.php +++ b/lib/internal/Magento/Framework/Less/Test/Unit/FileGeneratorTest.php @@ -4,8 +4,6 @@ * See COPYING.txt for license details. */ -// @codingStandardsIgnoreFile - namespace Magento\Framework\Less\Test\Unit; class FileGeneratorTest extends \PHPUnit_Framework_TestCase @@ -41,58 +39,105 @@ class FileGeneratorTest extends \PHPUnit_Framework_TestCase private $object; /** - * @var \Magento\Framework\App\View\Asset\Publisher|\PHPUnit_Framework_MockObject_MockObject + * @var \Magento\Framework\Less\FileGenerator\RelatedGenerator|\PHPUnit_Framework_MockObject_MockObject + */ + private $relatedGenerator; + + /** + * @var \Magento\Framework\Less\Config|\PHPUnit_Framework_MockObject_MockObject */ - private $publisher; + private $config; + + /** + * @var \Magento\Framework\Less\File\Temporary|\PHPUnit_Framework_MockObject_MockObject + */ + private $temporaryFile; protected function setUp() { - $this->tmpDirectory = $this->getMockForAbstractClass('\Magento\Framework\Filesystem\Directory\WriteInterface'); - $this->rootDirectory = $this->getMockForAbstractClass('\Magento\Framework\Filesystem\Directory\ReadInterface'); + $this->tmpDirectory = $this->getMockForAbstractClass('Magento\Framework\Filesystem\Directory\WriteInterface'); + $this->rootDirectory = $this->getMockForAbstractClass('Magento\Framework\Filesystem\Directory\ReadInterface'); $this->rootDirectory->expects($this->any()) ->method('getRelativePath') ->will($this->returnArgument(0)); $this->rootDirectory->expects($this->any()) ->method('readFile') - ->will($this->returnCallback(function ($file) { - return "content of '$file'"; - })); + ->will( + $this->returnCallback( + function ($file) { + return "content of '$file'"; + } + ) + ); $filesystem = $this->getMock('\Magento\Framework\Filesystem', [], [], '', false); - $filesystem->expects($this->exactly(2)) + $filesystem->expects($this->once()) ->method('getDirectoryWrite') - //->with(DirectoryList::VAR_DIR) ->will($this->returnValue($this->tmpDirectory)); $this->assetRepo = $this->getMock('\Magento\Framework\View\Asset\Repository', [], [], '', false); $this->magentoImport = $this->getMock( - '\Magento\Framework\Less\PreProcessor\Instruction\MagentoImport', [], [], '', false + 'Magento\Framework\Less\PreProcessor\Instruction\MagentoImport', + [], + [], + '', + false ); $this->import = $this->getMock( - '\Magento\Framework\Less\PreProcessor\Instruction\Import', [], [], '', false + 'Magento\Framework\Less\PreProcessor\Instruction\Import', + [], + [], + '', + false ); $assetSource = $this->getMock( - 'Magento\Framework\View\Asset\Source', [], [], '', false + 'Magento\Framework\View\Asset\Source', + [], + [], + '', + false ); - $this->publisher = $this->getMock('Magento\Framework\App\View\Asset\Publisher', [], [], '', false); - + $this->relatedGenerator = $this->getMockBuilder('Magento\Framework\Less\FileGenerator\RelatedGenerator') + ->disableOriginalConstructor() + ->setMethods([]) + ->getMock(); + $this->config = $this->getMockBuilder('Magento\Framework\Less\Config') + ->disableOriginalConstructor() + ->setMethods([]) + ->getMock(); + $this->temporaryFile = $this->getMockBuilder('Magento\Framework\Less\File\Temporary') + ->disableOriginalConstructor() + ->setMethods([]) + ->getMock(); $this->object = new \Magento\Framework\Less\FileGenerator( - $filesystem, $this->assetRepo, $this->magentoImport, $this->import, $assetSource, $this->publisher + $filesystem, + $this->assetRepo, + $this->magentoImport, + $this->import, + $assetSource, + $this->relatedGenerator, + $this->config, + $this->temporaryFile ); } public function testGenerateLessFileTree() { - $originalContent = 'original content'; + $lessDirectory = 'path/to/less'; $expectedContent = 'updated content'; - $expectedRelativePath = 'view_preprocessed/less/some/file.less'; - $expectedPath = '/var/view_preprocessed/less/some/file.less'; + $expectedRelativePath = 'some/file.less'; + $expectedPath = $lessDirectory . '/some/file.less'; - $asset = $this->getMock('\Magento\Framework\View\Asset\File', [], [], '', false); - $asset->expects($this->exactly(2)) - ->method('getPath') - ->will($this->returnValue('some/file.css')); - $chain = new \Magento\Framework\View\Asset\PreProcessor\Chain($asset, $originalContent, 'less'); + + $asset = $this->getMock('Magento\Framework\View\Asset\File', [], [], '', false); + $chain = $this->getMock('Magento\Framework\View\Asset\PreProcessor\Chain', [], [], '', false); + + $this->config->expects($this->any()) + ->method('getLessDirectory') + ->willReturn($lessDirectory); + $this->tmpDirectory->expects($this->once()) + ->method('isExist') + ->willReturn(true); $this->magentoImport->expects($this->once()) ->method('process') @@ -100,59 +145,28 @@ class FileGeneratorTest extends \PHPUnit_Framework_TestCase $this->import->expects($this->once()) ->method('process') ->with($chain); + $this->relatedGenerator->expects($this->once()) + ->method('generate') + ->with($this->import); - $relatedAssetOne = $this->getMock('\Magento\Framework\View\Asset\File', [], [], '', false); - $relatedAssetOne->expects($this->any()) + $asset->expects($this->once()) ->method('getPath') - ->will($this->returnValue('related/file_one.css')); - $relatedAssetOne->expects($this->any()) - ->method('getContent') - ->will($this->returnValue("content of 'related/file_one.css'")); - $relatedAssetTwo = $this->getMock('\Magento\Framework\View\Asset\File', [], [], '', false); - $relatedAssetTwo->expects($this->any()) - ->method('getPath') - ->will($this->returnValue('related/file_two.css')); - $relatedAssetTwo->expects($this->any()) + ->will($this->returnValue('some/file.css')); + $chain->expects($this->once()) ->method('getContent') - ->will($this->returnValue("content of 'related/file_two.css'")); - $assetsMap = [ - ['related/file_one.css', $asset, $relatedAssetOne], - ['related/file_two.css', $asset, $relatedAssetTwo], - ]; - $this->assetRepo->expects($this->any()) - ->method('createRelated') - ->will($this->returnValueMap($assetsMap)); - - $relatedFilesOne = [['related/file_one.css', $asset]]; - $this->import->expects($this->at(1)) - ->method('getRelatedFiles') - ->will($this->returnValue($relatedFilesOne)); - $relatedFilesTwo = [['related/file_two.css', $asset]]; - $this->import->expects($this->at(3)) - ->method('getRelatedFiles') - ->will($this->returnValue($relatedFilesTwo)); - $this->import->expects($this->at(5)) - ->method('getRelatedFiles') - ->will($this->returnValue([])); - - $writeMap = [ - [$expectedRelativePath, $expectedContent], - ['related/file_one.css', "content of 'related/file_one.css'"], - ['related/file_two.css', "content of 'related/file_two.css'"], - ]; - $pathsMap = [ - [$expectedRelativePath, $expectedPath], - ['related/file_one.css', '/var/view_preprocessed/less/related/file_one.css'], - ['related/file_two.css', '/var/view_preprocessed/less/related/file_two.css'], - ]; - $this->tmpDirectory->expects($this->any()) - ->method('writeFile') - ->will($this->returnValueMap($writeMap)); - $this->tmpDirectory->expects($this->any()) - ->method('getAbsolutePath') - ->will($this->returnValueMap($pathsMap)); - - $actual = $this->object->generateFileTree($chain); - $this->assertSame($expectedPath, $actual); + ->willReturn($expectedContent); + $chain->expects($this->once()) + ->method('getAsset') + ->willReturn($asset); + + $this->temporaryFile->expects($this->once()) + ->method('createFile') + ->with( + $expectedRelativePath, + $expectedContent + ) + ->willReturn($expectedPath); + + $this->assertSame($expectedPath, $this->object->generateFileTree($chain)); } } diff --git a/lib/internal/Magento/Framework/Locale/Format.php b/lib/internal/Magento/Framework/Locale/Format.php index 35dec7421cd6a203d533be951be990b301b3ff61..7cec1393dbba424d625c0ca37efe4e1230bc1e50 100644 --- a/lib/internal/Magento/Framework/Locale/Format.php +++ b/lib/internal/Magento/Framework/Locale/Format.php @@ -82,12 +82,17 @@ class Format implements \Magento\Framework\Locale\FormatInterface * Functions returns array with price formatting info * * @return array + * @SuppressWarnings(PHPMD.NPathComplexity) */ public function getPriceFormat() { - $numberElements = (new DataBundle())->get($this->_localeResolver->getLocale())['NumberElements']; - $format = $numberElements['latn']['patterns']['currencyFormat']; - $symbols = $numberElements['latn']['symbols']; + $localeData = (new DataBundle())->get($this->_localeResolver->getLocale()); + $format = $localeData['NumberElements']['latn']['patterns']['currencyFormat'] + ?: explode(';', $localeData['NumberPatterns'][1])[0]; + $decimalSymbol = $localeData['NumberElements']['latn']['symbols']['decimal'] + ?: $localeData['NumberElements'][0]; + $groupSymbol = $localeData['NumberElements']['latn']['symbols']['group'] + ?: $localeData['NumberElements'][1]; $pos = strpos($format, ';'); if ($pos !== false) { @@ -120,8 +125,8 @@ class Format implements \Magento\Framework\Locale\FormatInterface 'pattern' => $this->_scopeResolver->getScope()->getCurrentCurrency()->getOutputFormat(), 'precision' => $totalPrecision, 'requiredPrecision' => $requiredPrecision, - 'decimalSymbol' => $symbols['decimal'], - 'groupSymbol' => $symbols['group'], + 'decimalSymbol' => $decimalSymbol, + 'groupSymbol' => $groupSymbol, 'groupLength' => $group, 'integerRequired' => $integerRequired, ]; diff --git a/lib/internal/Magento/Framework/Message/AbstractMessage.php b/lib/internal/Magento/Framework/Message/AbstractMessage.php index b0a096bf8040ad50ffe49846ec55bd840f0994f9..b8efb73551a72af67160e6c3d646ae166b758cd5 100644 --- a/lib/internal/Magento/Framework/Message/AbstractMessage.php +++ b/lib/internal/Magento/Framework/Message/AbstractMessage.php @@ -47,7 +47,7 @@ abstract class AbstractMessage implements MessageInterface */ public function getText() { - return $this->text; + return (string)$this->text; } /** diff --git a/lib/internal/Magento/Framework/Message/Test/Unit/AbstractMessageTest.php b/lib/internal/Magento/Framework/Message/Test/Unit/AbstractMessageTest.php index e5d8f3b30585ac7972800d6d8031cb99c69b1845..13c0698523e9058c58482eb8ae90fe93538d3821 100644 --- a/lib/internal/Magento/Framework/Message/Test/Unit/AbstractMessageTest.php +++ b/lib/internal/Magento/Framework/Message/Test/Unit/AbstractMessageTest.php @@ -31,10 +31,10 @@ class AbstractMessageTest extends \PHPUnit_Framework_TestCase * covers \Magento\Framework\Message\AbstractMessage::setText * @dataProvider setTextGetTextProvider */ - public function testSetTextGetText($text) + public function testSetTextGetText($text, $resultText) { $this->model->setText($text); - $this->assertEquals($text, $this->model->getText()); + $this->assertEquals($resultText, $this->model->getText()); } /** @@ -42,7 +42,7 @@ class AbstractMessageTest extends \PHPUnit_Framework_TestCase */ public function setTextGetTextProvider() { - return [[''], ['some text']]; + return [['', ''], ['some text', 'some text'], [new \Magento\Framework\Phrase('some text'), 'some text']]; } /** diff --git a/lib/internal/Magento/Framework/View/Element/Html/Link/Current.php b/lib/internal/Magento/Framework/View/Element/Html/Link/Current.php index 811bea3e4eb33d05aba2d29227fe34e056b345b6..7c971eaf437f13a4b301b4b210affbea20ce35d8 100644 --- a/lib/internal/Magento/Framework/View/Element/Html/Link/Current.php +++ b/lib/internal/Magento/Framework/View/Element/Html/Link/Current.php @@ -110,7 +110,19 @@ class Current extends \Magento\Framework\View\Element\Template $html .= $this->getTitle() ? ' title="' . $this->escapeHtml((string)new \Magento\Framework\Phrase($this->getTitle())) . '"' : ''; - $html .= '>' . $this->escapeHtml((string)new \Magento\Framework\Phrase($this->getLabel())) . '</a></li>'; + $html .= '>'; + + if ($this->getIsHighlighted()) { + $html .= '<strong>'; + } + + $html .= $this->escapeHtml((string)new \Magento\Framework\Phrase($this->getLabel())); + + if ($this->getIsHighlighted()) { + $html .= '</strong>'; + } + + $html .= '</a></li>'; } return $html; diff --git a/lib/internal/Magento/Framework/View/Element/Html/Links.php b/lib/internal/Magento/Framework/View/Element/Html/Links.php index d4dfc7b14942aa160bba7d9dda3dc1482cb5bd42..ffc9c297d8b219df6e1ec2ce5dc1102ac80ebe9c 100644 --- a/lib/internal/Magento/Framework/View/Element/Html/Links.php +++ b/lib/internal/Magento/Framework/View/Element/Html/Links.php @@ -20,6 +20,35 @@ class Links extends \Magento\Framework\View\Element\Template return $this->_layout->getChildBlocks($this->getNameInLayout()); } + /** + * Find link by path + * + * @param string $path + * @return \Magento\Framework\View\Element\Html\Link + */ + protected function getLinkByPath($path) + { + foreach ($this->getLinks() as $link) { + if ($link->getPath() == $path) { + return $link; + } + } + } + + /** + * Set active link + * + * @param string $path + * @return void + */ + public function setActive($path) + { + $link = $this->getLinkByPath($path); + if ($link) { + $link->setIsHighlighted(true); + } + } + /** * Render Block * diff --git a/lib/internal/Magento/Framework/View/Template/Html/Minifier.php b/lib/internal/Magento/Framework/View/Template/Html/Minifier.php index 7905393ae85405e4e9ef22c62feef972dbab5dce..af80583da16e7f37c084151650869ef3f7c39c89 100644 --- a/lib/internal/Magento/Framework/View/Template/Html/Minifier.php +++ b/lib/internal/Magento/Framework/View/Template/Html/Minifier.php @@ -122,11 +122,11 @@ class Minifier implements MinifierInterface '#(?<!' . implode('|', $this->inlineHtmlTags) . ')\> \<#', '><', preg_replace( - '#(?ix)(?>[^\S ]\s*|\s{2,})(?=(?:(?:[^<]++|<(?!/?(?:textarea|pre|script|style)\b))*+)' - . '(?:<(?>textarea|pre|script|style)\b|\z))#', + '#(?ix)(?>[^\S ]\s*|\s{2,})(?=(?:(?:[^<]++|<(?!/?(?:textarea|pre|script)\b))*+)' + . '(?:<(?>textarea|pre|script)\b|\z))#', ' ', preg_replace( - '#(?<!:|\\\\)//(?!\s*\<\!\[)(?!\s*]]\>)[^\n\r]*#', + '#(?<!:|\\\\|\'|")//(?!\s*\<\!\[)(?!\s*]]\>)[^\n\r]*#', '', preg_replace( '#(?<!:)//[^\n\r]*(\s\?\>)#', diff --git a/lib/internal/Magento/Framework/View/Test/Unit/Element/Html/LinksTest.php b/lib/internal/Magento/Framework/View/Test/Unit/Element/Html/LinksTest.php index 2b90d037cbb0ba0f18e24dda153a55fc0c55d956..8e4d84db273cbef5aa7c0a06df07a1a99222e512 100644 --- a/lib/internal/Magento/Framework/View/Test/Unit/Element/Html/LinksTest.php +++ b/lib/internal/Magento/Framework/View/Test/Unit/Element/Html/LinksTest.php @@ -5,70 +5,88 @@ */ namespace Magento\Framework\View\Test\Unit\Element\Html; +use Magento\Framework\View\Element\Html\Links; +use Magento\Framework\TestFramework\Unit\Helper\ObjectManager; +use Magento\Framework\View\Element\Template\Context; + class LinksTest extends \PHPUnit_Framework_TestCase { /** - * @var \Magento\Framework\TestFramework\Unit\Helper\ObjectManager + * @var ObjectManager|\PHPUnit_Framework_MockObject_MockObject */ - protected $_objectManagerHelper; + protected $objectManagerHelper; - /** @var \Magento\Framework\View\Element\Html\Links */ - protected $_block; + /** @var Links|\PHPUnit_Framework_MockObject_MockObject */ + protected $block; - /** @var \Magento\Framework\View\Element\Template\Context */ - protected $_context; + /** @var Context|\PHPUnit_Framework_MockObject_MockObject */ + protected $context; protected function setUp() { - $this->_objectManagerHelper = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this); - - /** @var \Magento\Framework\View\Element\Template\Context $context */ - $this->_context = $this->_objectManagerHelper->getObject('Magento\Framework\View\Element\Template\Context'); + $this->objectManagerHelper = new ObjectManager($this); - /** @var \Magento\Framework\View\Element\Html\Links $block */ - $this->_block = $this->_objectManagerHelper->getObject( - 'Magento\Framework\View\Element\Html\Links', - ['context' => $this->_context] - ); + /** @var Context $context */ + $this->context = $this->objectManagerHelper->getObject('Magento\Framework\View\Element\Template\Context'); + $this->block = new Links($this->context); } public function testGetLinks() { $blocks = [0 => 'blocks']; $name = 'test_name'; - $this->_context->getLayout()->expects( - $this->once() - )->method( - 'getChildBlocks' - )->with( - $name - )->will( - $this->returnValue($blocks) - ); - $this->_block->setNameInLayout($name); - $this->assertEquals($blocks, $this->_block->getLinks()); + $this->context->getLayout() + ->expects($this->once()) + ->method('getChildBlocks') + ->with($name) + ->willReturn($blocks); + $this->block->setNameInLayout($name); + $this->assertEquals($blocks, $this->block->getLinks()); + } + + public function testSetActive() + { + $link = $this->getMock('Magento\Framework\View\Element\Html\Link', [], [], '', false); + $link + ->expects($this->at(1)) + ->method('__call') + ->with('setIsHighlighted', [true]); + $link + ->expects($this->at(0)) + ->method('__call') + ->with('getPath', []) + ->willReturn('test/path'); + + $name = 'test_name'; + $this->context->getLayout() + ->expects($this->once()) + ->method('getChildBlocks') + ->with($name) + ->willReturn([$link]); + + $this->block->setNameInLayout($name); + $this->block->setActive('test/path'); } public function testRenderLink() { $blockHtml = 'test'; $name = 'test_name'; - $this->_context->getLayout()->expects( - $this->once() - )->method( - 'renderElement' - )->with( - $name - )->will( - $this->returnValue($blockHtml) - ); + $this->context->getLayout() + ->expects($this->once()) + ->method('renderElement') + ->with($name) + ->willReturn($blockHtml); /** @var \Magento\Framework\View\Element\AbstractBlock $link */ $link = $this->getMockBuilder('Magento\Framework\View\Element\AbstractBlock') ->disableOriginalConstructor() ->getMock(); - $link->expects($this->once())->method('getNameInLayout')->will($this->returnValue($name)); + $link + ->expects($this->once()) + ->method('getNameInLayout') + ->willReturn($name); - $this->assertEquals($blockHtml, $this->_block->renderLink($link)); + $this->assertEquals($blockHtml, $this->block->renderLink($link)); } } diff --git a/lib/internal/Magento/Framework/composer.json b/lib/internal/Magento/Framework/composer.json index 2650b2405cc313c4360d2b0f95e373c2bbf3e240..d45fdb1c4457449bf35ce7d6986ab78a4c86f884 100644 --- a/lib/internal/Magento/Framework/composer.json +++ b/lib/internal/Magento/Framework/composer.json @@ -2,7 +2,7 @@ "name": "magento/framework", "description": "N/A", "type": "magento2-library", - "version": "0.42.0-beta11", + "version": "0.74.0-beta1", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/lib/web/mage/backend/notification.js b/lib/web/mage/backend/notification.js index eb688214155efc8314dabc25cba88f44bfd839e8..7232e0310cddd185b88cbf5128cbf2502ba0172a 100644 --- a/lib/web/mage/backend/notification.js +++ b/lib/web/mage/backend/notification.js @@ -13,7 +13,7 @@ define([ $.widget('mage.notification', { options: { templates: { - global: '<div class="messages"><div class="message <%- if (data.error) { %>error<% } %>"><div><%- data.message %></div></div></div>' + global: '<div class="messages"><div class="message <% if (data.error) { %>error<% } %>"><div><%- data.message %></div></div></div>' } }, diff --git a/lib/web/mage/backend/suggest.js b/lib/web/mage/backend/suggest.js index 70dd802284562e8d43d54be0e28b5d38f7e27ac2..dfb3ef72d8c4d8424c949ea44dfba20b3a8f01be 100644 --- a/lib/web/mage/backend/suggest.js +++ b/lib/web/mage/backend/suggest.js @@ -811,15 +811,19 @@ * @private */ _renderMultiselect: function () { + var that = this; this.element.wrap(this.options.multiSuggestWrapper); this.elementWrapper = this.element.closest('[data-role="parent-choice-element"]'); - this._getOptions().each($.proxy(function (i, option) { - option = $(option); - this._createOption({ - id: option.val(), - label: option.text() - }); - }, this)); + $(function () { + that._getOptions() + .each(function (i, option) { + option = $(option); + that._createOption({ + id: option.val(), + label: option.text() + }); + }); + }); }, /** diff --git a/lib/web/mage/validation.js b/lib/web/mage/validation.js index 7632ce9b84977587975da37348f383f39395c89e..fbcf394becd3215ce0484cbefb6ddb585879c73c 100644 --- a/lib/web/mage/validation.js +++ b/lib/web/mage/validation.js @@ -916,10 +916,10 @@ 'This is a required field.' ], "validate-one-required-by-name": [ - function(v, elm) { + function(v, elm, selector) { var name = elm.name.replace(/([\\"])/g, '\\$1'), container = this.currentForm, - selector = 'input[name="' + name + '"]:checked'; + selector = selector === true ? 'input[name="' + name + '"]:checked' : selector; return !!container.querySelectorAll(selector).length; }, diff --git a/nginx.conf.sample b/nginx.conf.sample index 1ea8ee9e97f28f40107edb14b4fe53e66589b40a..2ea2b6ce5848867deae4c3c6287234706039e57f 100644 --- a/nginx.conf.sample +++ b/nginx.conf.sample @@ -127,6 +127,7 @@ location / { } location ~ (index|get|static|report|404|503)\.php$ { + expires -1; fastcgi_pass fastcgi_backend; fastcgi_param PHP_FLAG "session.auto_start=off \n suhosin.session.cryptua=off"; diff --git a/pub/.htaccess b/pub/.htaccess index b3f9b82f3723b106829e136d1609134ed4fdc196..7cac070b85bf7b33c187cfcefd3bf6e8e456306b 100755 --- a/pub/.htaccess +++ b/pub/.htaccess @@ -1,3 +1,8 @@ +############################################ +## uncomment the line below to enable developer mode + +# SetEnv MAGE_MODE developer + ############################################ ## uncomment these lines for CGI mode ## make sure to specify the correct cgi php binary file name @@ -153,6 +158,8 @@ ## http://developer.yahoo.com/performance/rules.html#expires ExpiresDefault "access plus 1 year" + ExpiresByType text/html A0 + ExpiresByType text/plain A0 </IfModule> diff --git a/setup/src/Magento/Setup/Controller/Environment.php b/setup/src/Magento/Setup/Controller/Environment.php index 8b93843046fb95d46f2abc1558a43f586fac0e47..066c58d914c86617da39fb79d720f74fb5902835 100644 --- a/setup/src/Magento/Setup/Controller/Environment.php +++ b/setup/src/Magento/Setup/Controller/Environment.php @@ -103,7 +103,7 @@ class Environment extends AbstractActionController 'responseType' => $responseType, 'data' => [ 'version' => PHP_VERSION, - 'ini' => ini_get('always_populate_raw_post_data') + 'ini' => $iniSetting ] ];