Skip to content

Commit 2f07596

Browse files
author
Mike Weis
committed
Merge remote-tracking branch 'mainline/develop' into FearlessKiwis-MAGETWO-32896-Sales-Immut-2
2 parents 0b6b7bc + 116d26d commit 2f07596

File tree

4,558 files changed

+103770
-97339
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

4,558 files changed

+103770
-97339
lines changed

CHANGELOG.md

Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,116 @@
1+
0.42.0-beta9
2+
=============
3+
* Framework Improvements:
4+
* Layout Models are moved from Core module to appropriate modules
5+
* View components are moved from Core to Theme module
6+
* Rest of theme related configuration files are refactored
7+
* StoreManagerInterface is moved from Framework to App folder
8+
* ZF1 controller libraries are updated
9+
* Class definitions in multi-tenant mode are removed
10+
* DI configuration became more optimal: OM cached configuration uses the general pattern for all argument types in application
11+
* Varnish 4 configuration is updated
12+
* Layout Processing became more fast
13+
* HTML response minified
14+
* App Components and Specific Helper Components are moved from the Magento_Core Module
15+
* UI improvements:
16+
* Add to cart operation became asynchronous and doesn`t reload page (AJAX call)
17+
* Fixed Defects:
18+
* When Inline Translation is enabled, JQuery buttons for translate were broken
19+
* Base URL has invalid place inside Magento Admin Address on "Web Configuration" step of installation wizard
20+
* Inability of submit Product from keyboard while Product Creation
21+
* Sold products aren't displayed in Bestsellers
22+
* Compiled definitions can cause unexpected errors compared to runtime definitions
23+
* Accessibility improvements:
24+
* WAI-ARIA attributes are added to Frontend Layered Navigation and Customer Dropdown, Frontend Product Page Tabs, Frontend Cart Summary collapsible panels, Frontend forms and notifications, Frontend Checkout pages
25+
* Tests improvements:
26+
* Added mechanism of replacing 3-rd party credentials in functional tests
27+
* Update of end-to-end tests for create product, update product, promoted product, out of stock product, create product with new category, unassign products on category, create backend customer with injectable test
28+
* Various improvements:
29+
* JS template engine became unified on Backend and Frontend
30+
* Increased unit test coverage for Magento/Indexer module
31+
* Version number info became accessible at a public URL
32+
* GitHub requests:
33+
* [#1027](https://github.com/magento/magento2/issues/1027) -- Can't add new subctegory
34+
* [#921](https://github.com/magento/magento2/issues/921) -- Change resource ids from Magento_Adminhtml::* to Magento_Backend
35+
36+
0.42.0-beta8
37+
=============
38+
* Various improvements:
39+
* Existing Builders were replaced with DataFactories in Customer and Tax modules
40+
* Refactored controller actions in the Checkout and CMS modules
41+
* Increased coverage with static tests for `.phtml` files
42+
* Moved Cookie related functionality from `Theme` and `Core` modules into a new `Cookie` module
43+
* Moved minfication configuration settings to the `View` library level
44+
* UI improvements:
45+
* Restyled installation wizard
46+
* Prepared styles for Dashboard in the Backend area
47+
* Framework improvements:
48+
* Added `setCustomAttribute` and `setCustomAttributes` methods to `ExtensibleDataInterface`
49+
* Added setter methods to data object interfaces
50+
* Replaced `Builders` with `Factories`
51+
* Added `DataObjectHelper.php` which contains the common set of methods of all builders
52+
* Refactored `__()` to return `Phrase` object
53+
* Allowed usage of `LocalizedException` on the framework's library level
54+
* Added expiration/lifetime management of frontend resources
55+
* Unified MTF configurations format for Framework, TestCase variations and TestCase scenario configurations
56+
* Fixed bugs:
57+
* Fixed an issue with product reviews list paging
58+
* Fixed an issue where sold products were not displayed in Bestsellers
59+
* Fixed an issue with image rendering on the CMS page on Frontend when `webserver rewrites = no`
60+
* GitHub requests:
61+
* [#790](https://github.com/magento/magento2/issues/790) -- Magento API fails in a CGI env (zf1 issue)
62+
* [#909](https://github.com/magento/magento2/issues/909) -- Manage Titles in popup window front-end issue
63+
* [#996](https://github.com/magento/magento2/issues/996) -- Pager block should support url "fragment".
64+
* [#985](https://github.com/magento/magento2/pull/985) -- Allow camelcase in vendorname for menus
65+
* [#1025](https://github.com/magento/magento2/pull/1025) -- Wrong parameter for getting base url for 'media' path in "Image" form element.
66+
67+
0.42.0-beta7
68+
=============
69+
* Various improvements:
70+
* Added Varnish 4 support
71+
* Added CSS minification
72+
* Improved the performance toolkit
73+
* Fixed bugs:
74+
* Fixed an issue where the compiler for the single tenant mode did not resolve Repositories
75+
* Fixed an issue where the "Select all" mass action on the Customers page did not select all customers
76+
* Fixed an issue where values for a customer attribute of multiple-select type were not saved
77+
* Fixed an issue where the parental wakeup() method was not called in interceptors
78+
* Fixed an issue where bundle products with the same configurations added from different pages were displayed in the wishlist as separate items
79+
* Fixed an issue where the number of items added to the wishlist was not displayed on certain pages
80+
* Fixed an issue where logging was broken
81+
* Fixed an issue where it was impossible to use \Magento\Customer\Model\Resource\AddressRepository::getList with predefined direction(sortOrder)
82+
* Fixed an issue where editing a product from wishlist led caused a fatal error
83+
* Fixed an issue where the redirect link to continue shopping was absent in the success message after adding product to a wishlist
84+
* Fixed an issue where HTML tags where displayed in product prices on the Customer's Wishlist page in Admin
85+
* Fixed an issue where the Name and Email fields were not automatically when creating an email using the Email to Friend functionality
86+
* Fixed an issue with the redirect after searching product in a customer wishlist in Admin
87+
* Fixed an issue where a configurable product did not go out of stock when last subitem of some option was sold
88+
* Fixed an issue with varnish config generation for multiple IPs in access list field
89+
* Fixed the wrong di.xml in the Magento_Developer module
90+
* Fixed an issue where changes were not saved when default billing/shipping address was not selected in customer addresses
91+
* Fixed the issue where the Update Qty button looked disabled during a partial invoice creation
92+
* Fixed an issue where the creation date was not displayed in invoices and credit memo grids
93+
* Fixed an issue where it was impossible to install Magento_Quote on PHP 5.6
94+
* Fixed an issue that changes are not saved when default billing/shipping address is unchecked in customer addresses
95+
* Fixed an issue where "Update Qty" button looks disabled while creating partial invoice
96+
* Fixed an issue where date created column is not populated in invoices and credit memo grid
97+
* Fixed an issue with installation of Magento_Quote module on PHP 5.6
98+
* Fixed an issue with wrong link "File Permission Help"
99+
* Fixed an issue where dev/tools are broken when DI compiler is used due to skipped by the compiler dev/tools/Magento folder
100+
* Framework improvements:
101+
* JavaScript testsuites divided into frontend, backend and lib suites
102+
* Implemented image compression on server side upload
103+
* Implemented frontend page resources sorting
104+
* Removed the Magic __call method usage in templates
105+
* Introduced Jasmine + PhantomJS JavaScript testing infrastructure
106+
* Removed support of PHP 5.4
107+
* Setup Tool improvements:
108+
* Added tools for enabling/disabling modules: "module-enable --modules=Module_One,Module_Two, module-disable --modules=Module_One,Module_Two"
109+
* Added help option for displaying list of available modules: "help module-list"
110+
* GitHub requests :
111+
* [#593](https://github.com/magento/magento2/issues/593) -- Allow to use "0" as customer group
112+
* [#804](https://github.com/magento/magento2/issues/804) -- Comment about VAT number displayed under different field in Customer Configuration
113+
1114
0.42.0-beta6
2115
=============
3116
* Various improvements:

Gruntfile.js

Lines changed: 74 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@ module.exports = function (grunt) {
99

1010
// Required plugins
1111
// _____________________________________________
12-
var specRunner = require('./dev/tests/js/framework/spec_runner')(grunt);
12+
13+
var specRunner = require('./dev/tests/js/framework/spec_runner')(grunt),
14+
svgo = require('imagemin-svgo');
1315

1416
require('./dev/tools/grunt/tasks/mage-minify')(grunt);
1517

@@ -21,8 +23,6 @@ module.exports = function (grunt) {
2123
pattern: ['grunt-*', '!grunt-template-jasmine-requirejs']
2224
});
2325

24-
var svgo = require('imagemin-svgo');
25-
2626
// Configuration
2727
// _____________________________________________
2828

@@ -35,10 +35,10 @@ module.exports = function (grunt) {
3535
tmpSource: 'var/view_preprocessed/source/',
3636
tmp: 'var',
3737
css: {
38-
setup: 'setup/pub/magento/setup/css'
38+
setup: 'setup/pub/styles'
3939
},
4040
less: {
41-
setup: 'setup/module/Magento/Setup/styles'
41+
setup: 'setup/view/styles'
4242
},
4343
uglify: {
4444
legacy: 'lib/web/legacy-build.min.js'
@@ -126,6 +126,23 @@ module.exports = function (grunt) {
126126
}
127127
};
128128

129+
// Banners
130+
// ---------------------------------------------
131+
132+
var banner = {
133+
firstLine: 'Copyright © <%= grunt.template.today("yyyy") %> Magento. All rights reserved.',
134+
secondLine: 'See COPYING.txt for license details.',
135+
css: function(){
136+
return '/**\n * ' + this.firstLine + '\n * ' + this.secondLine + '\n */\n';
137+
},
138+
less: function(){
139+
return '// /**\n// * ' + this.firstLine + '\n// * ' + this.secondLine + '\n// */\n';
140+
},
141+
html: function(){
142+
return '<!--\n/**\n * ' + this.firstLine + '\n * ' + this.secondLine + '\n */\n-->\n';
143+
}
144+
};
145+
129146
// Tasks
130147
// _____________________________________________
131148

@@ -135,6 +152,7 @@ module.exports = function (grunt) {
135152
path: path,
136153
theme: theme,
137154
combo: combo,
155+
banner: banner,
138156

139157
// Execution into cmd
140158
// ---------------------------------------------
@@ -318,7 +336,8 @@ module.exports = function (grunt) {
318336

319337
cssmin: {
320338
options: {
321-
report: 'gzip'
339+
report: 'gzip',
340+
keepSpecialComments: 0
322341
},
323342
setup: {
324343
files: {
@@ -342,6 +361,47 @@ module.exports = function (grunt) {
342361
}
343362
},
344363

364+
// Banners
365+
// ---------------------------------------------
366+
367+
usebanner: {
368+
options: {
369+
position: 'top',
370+
linebreak: true
371+
},
372+
setup: {
373+
options: {
374+
banner: banner.css()
375+
},
376+
files: {
377+
src: '<%= path.css.setup %>/*.css'
378+
}
379+
},
380+
documentationCss: {
381+
options: {
382+
banner: banner.css()
383+
},
384+
files: {
385+
src: '<%= path.doc %>/**/*.css'
386+
}
387+
},
388+
documentationLess: {
389+
options: {
390+
banner: banner.less()
391+
},
392+
files: {
393+
src: '<%= path.doc %>/**/*.less'
394+
}
395+
},
396+
documentationHtml: {
397+
options: {
398+
banner: banner.html()
399+
},
400+
files: {
401+
src: '<%= path.doc %>/**/*.html'
402+
}
403+
}
404+
},
345405

346406
// Watches files for changes and runs tasks based on the changed files
347407
// ---------------------------------------------
@@ -537,6 +597,12 @@ module.exports = function (grunt) {
537597
'clean:pub'
538598
]);
539599

600+
grunt.registerTask('documentation-banners', [
601+
'usebanner:documentationCss',
602+
'usebanner:documentationLess',
603+
'usebanner:documentationHtml'
604+
]);
605+
540606
// Production
541607
// ---------------------------------------------
542608

@@ -545,7 +611,8 @@ module.exports = function (grunt) {
545611
grunt.task.run([
546612
'less:' + component,
547613
'autoprefixer:' + component,
548-
'cssmin:' + component
614+
'cssmin:' + component,
615+
'usebanner:' + component
549616
]);
550617
}
551618
if (component == undefined) {

app/code/Magento/AdminNotification/Block/System/Messages/UnreadMessagePopup.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ public function getUnreadMessages()
6666
/**
6767
* Retrieve popup title
6868
*
69-
* @return string
69+
* @return \Magento\Framework\Phrase
7070
*/
7171
public function getPopupTitle()
7272
{

app/code/Magento/AdminNotification/Controller/Adminhtml/Notification/AjaxMarkAsRead.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ class AjaxMarkAsRead extends \Magento\AdminNotification\Controller\Adminhtml\Not
1515
*/
1616
public function execute()
1717
{
18-
if (!$this->getRequest()->getPost()) {
18+
if (!$this->getRequest()->getPostValue()) {
1919
return;
2020
}
2121
$notificationId = (int)$this->getRequest()->getPost('id');

app/code/Magento/AdminNotification/Controller/Adminhtml/Notification/MarkAsRead.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public function execute()
2222
$notificationId
2323
);
2424
$this->messageManager->addSuccess(__('The message has been marked as Read.'));
25-
} catch (\Magento\Framework\Model\Exception $e) {
25+
} catch (\Magento\Framework\Exception\LocalizedException $e) {
2626
$this->messageManager->addError($e->getMessage());
2727
} catch (\Exception $e) {
2828
$this->messageManager->addException(

app/code/Magento/AdminNotification/Controller/Adminhtml/Notification/MassMarkAsRead.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public function execute()
2727
$this->messageManager->addSuccess(
2828
__('A total of %1 record(s) have been marked as Read.', count($ids))
2929
);
30-
} catch (\Magento\Framework\Model\Exception $e) {
30+
} catch (\Magento\Framework\Exception\LocalizedException $e) {
3131
$this->messageManager->addError($e->getMessage());
3232
} catch (\Exception $e) {
3333
$this->messageManager->addException(

app/code/Magento/AdminNotification/Controller/Adminhtml/Notification/MassRemove.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ public function execute()
2525
}
2626
}
2727
$this->messageManager->addSuccess(__('Total of %1 record(s) have been removed.', count($ids)));
28-
} catch (\Magento\Framework\Model\Exception $e) {
28+
} catch (\Magento\Framework\Exception\LocalizedException $e) {
2929
$this->messageManager->addError($e->getMessage());
3030
} catch (\Exception $e) {
3131
$this->messageManager->addException($e, __("We couldn't remove the messages because of an error."));

app/code/Magento/AdminNotification/Controller/Adminhtml/Notification/Remove.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public function execute()
2424
try {
2525
$model->setIsRemove(1)->save();
2626
$this->messageManager->addSuccess(__('The message has been removed.'));
27-
} catch (\Magento\Framework\Model\Exception $e) {
27+
} catch (\Magento\Framework\Exception\LocalizedException $e) {
2828
$this->messageManager->addError($e->getMessage());
2929
} catch (\Exception $e) {
3030
$this->messageManager->addException($e, __("We couldn't remove the messages because of an error."));

app/code/Magento/AdminNotification/Model/Feed.php

Lines changed: 33 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
* AdminNotification Feed model
1010
*
1111
* @author Magento Core Team <core@magentocommerce.com>
12+
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
1213
*/
1314
class Feed extends \Magento\Framework\Model\AbstractModel
1415
{
@@ -50,16 +51,29 @@ class Feed extends \Magento\Framework\Model\AbstractModel
5051
*/
5152
protected $_deploymentConfig;
5253

54+
/**
55+
* @var \Magento\Framework\App\ProductMetadataInterface
56+
*/
57+
protected $productMetadata;
58+
59+
/**
60+
* @var \Magento\Framework\UrlInterface
61+
*/
62+
protected $urlBuilder;
63+
5364
/**
5465
* @param \Magento\Framework\Model\Context $context
5566
* @param \Magento\Framework\Registry $registry
5667
* @param \Magento\Backend\App\ConfigInterface $backendConfig
57-
* @param \Magento\AdminNotification\Model\InboxFactory $inboxFactory
58-
* @param \Magento\Framework\Model\Resource\AbstractResource $resource
68+
* @param InboxFactory $inboxFactory
69+
* @param \Magento\Framework\HTTP\Adapter\CurlFactory $curlFactory
5970
* @param \Magento\Framework\App\DeploymentConfig $deploymentConfig
71+
* @param \Magento\Framework\App\ProductMetadataInterface $productMetadata
72+
* @param \Magento\Framework\UrlInterface $urlBuilder
73+
* @param \Magento\Framework\Model\Resource\AbstractResource $resource
6074
* @param \Magento\Framework\Data\Collection\Db $resourceCollection
61-
* @param \Magento\Framework\HTTP\Adapter\curlFactory $curlFactory
6275
* @param array $data
76+
* @SuppressWarnings(PHPMD.ExcessiveParameterList)
6377
*/
6478
public function __construct(
6579
\Magento\Framework\Model\Context $context,
@@ -68,15 +82,19 @@ public function __construct(
6882
\Magento\AdminNotification\Model\InboxFactory $inboxFactory,
6983
\Magento\Framework\HTTP\Adapter\CurlFactory $curlFactory,
7084
\Magento\Framework\App\DeploymentConfig $deploymentConfig,
85+
\Magento\Framework\App\ProductMetadataInterface $productMetadata,
86+
\Magento\Framework\UrlInterface $urlBuilder,
7187
\Magento\Framework\Model\Resource\AbstractResource $resource = null,
7288
\Magento\Framework\Data\Collection\Db $resourceCollection = null,
7389
array $data = []
7490
) {
7591
parent::__construct($context, $registry, $resource, $resourceCollection, $data);
76-
$this->_backendConfig = $backendConfig;
77-
$this->_inboxFactory = $inboxFactory;
78-
$this->curlFactory = $curlFactory;
92+
$this->_backendConfig = $backendConfig;
93+
$this->_inboxFactory = $inboxFactory;
94+
$this->curlFactory = $curlFactory;
7995
$this->_deploymentConfig = $deploymentConfig;
96+
$this->productMetadata = $productMetadata;
97+
$this->urlBuilder = $urlBuilder;
8098
}
8199

82100
/**
@@ -191,7 +209,15 @@ public function setLastUpdate()
191209
public function getFeedData()
192210
{
193211
$curl = $this->curlFactory->create();
194-
$curl->setConfig(['timeout' => 2]);
212+
$curl->setConfig(
213+
[
214+
'timeout' => 2,
215+
'useragent' => $this->productMetadata->getName()
216+
. '/' . $this->productMetadata->getVersion()
217+
. ' (' . $this->productMetadata->getEdition() . ')',
218+
'referer' => $this->urlBuilder->getUrl('*/*/*')
219+
]
220+
);
195221
$curl->write(\Zend_Http_Client::GET, $this->getFeedUrl(), '1.0');
196222
$data = $curl->read();
197223
if ($data === false) {

0 commit comments

Comments
 (0)