Skip to content

Commit a70745a

Browse files
author
Olga Kopylova
committed
Merge remote-tracking branch 'mainline/develop' into PR_Branch
2 parents de4c731 + 3a802e2 commit a70745a

File tree

15 files changed

+150
-38
lines changed

15 files changed

+150
-38
lines changed

.htaccess

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -170,12 +170,6 @@
170170

171171
</IfModule>
172172

173-
############################################
174-
## By default allow all access
175-
176-
Order allow,deny
177-
Allow from all
178-
179173
###########################################
180174
## Deny access to release notes to prevent disclosure of the installed Magento version
181175

.htaccess.sample

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -167,12 +167,6 @@
167167

168168
</IfModule>
169169

170-
############################################
171-
## By default allow all access
172-
173-
Order allow,deny
174-
Allow from all
175-
176170
###########################################
177171
## Deny access to release notes to prevent disclosure of the installed Magento version
178172

app/code/Magento/CatalogUrlRewrite/Model/Category/Plugin/Category/Remove.php

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
*/
66
namespace Magento\CatalogUrlRewrite\Model\Category\Plugin\Category;
77

8-
use Magento\Catalog\Model\Category;
8+
use Magento\Catalog\Api\Data\CategoryInterface;
99
use Magento\CatalogUrlRewrite\Model\Category\ChildrenCategoriesProvider;
1010
use Magento\CatalogUrlRewrite\Model\CategoryUrlRewriteGenerator;
1111
use Magento\CatalogUrlRewrite\Model\ProductUrlRewriteGenerator;
@@ -41,15 +41,20 @@ public function __construct(
4141
/**
4242
* Remove product urls from storage
4343
*
44-
* @param Category $category
44+
* @param \Magento\Catalog\Model\Resource\Category $subject
4545
* @param callable $proceed
46+
* @param CategoryInterface $category
4647
* @return mixed
48+
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
4749
*/
48-
public function aroundDelete(Category $category, \Closure $proceed)
49-
{
50+
public function aroundDelete(
51+
\Magento\Catalog\Model\Resource\Category $subject,
52+
\Closure $proceed,
53+
CategoryInterface $category
54+
) {
5055
$categoryIds = $this->childrenCategoriesProvider->getChildrenIds($category, true);
5156
$categoryIds[] = $category->getId();
52-
$result = $proceed();
57+
$result = $proceed($category);
5358
foreach ($categoryIds as $categoryId) {
5459
$this->deleteRewritesForCategory($categoryId);
5560
}

app/code/Magento/CatalogUrlRewrite/etc/adminhtml/di.xml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,12 @@
1212
<type name="Magento\Store\Model\Resource\Group">
1313
<plugin name="group_plugin" type="Magento\CatalogUrlRewrite\Model\Category\Plugin\Store\Group"/>
1414
</type>
15-
<type name="Magento\Catalog\Model\Category">
16-
<plugin name="category_delete_plugin" type="Magento\CatalogUrlRewrite\Model\Category\Plugin\Category\Remove"/>
17-
</type>
1815
<type name="Magento\CatalogImportExport\Model\Import\Product">
1916
<plugin name="import_save_plugin" type="Magento\CatalogUrlRewrite\Model\Product\Plugin\Import"/>
2017
</type>
2118
<type name="Magento\Catalog\Model\Resource\Category">
2219
<plugin name="category_move_plugin" type="Magento\CatalogUrlRewrite\Model\Category\Plugin\Category\Move"/>
20+
<plugin name="category_delete_plugin" type="Magento\CatalogUrlRewrite\Model\Category\Plugin\Category\Remove"/>
2321
</type>
2422
<type name="Magento\UrlRewrite\Model\StorageInterface">
2523
<plugin name="storage_plugin" type="Magento\CatalogUrlRewrite\Model\Category\Plugin\Storage"/>

app/code/Magento/CatalogUrlRewrite/etc/di.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,8 @@
1616
<argument name="urlFinder" xsi:type="object">Magento\CatalogUrlRewrite\Model\Storage\DbStorage</argument>
1717
</arguments>
1818
</type>
19+
<type name="Magento\Catalog\Model\Resource\Category">
20+
<plugin name="category_move_plugin" type="Magento\CatalogUrlRewrite\Model\Category\Plugin\Category\Move"/>
21+
<plugin name="category_delete_plugin" type="Magento\CatalogUrlRewrite\Model\Category\Plugin\Category\Remove"/>
22+
</type>
1923
</config>
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<?xml version="1.0"?>
2+
<!--
3+
/**
4+
* Copyright © 2015 Magento. All rights reserved.
5+
* See COPYING.txt for license details.
6+
*/
7+
-->
8+
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../lib/internal/Magento/Framework/Event/etc/events.xsd">
9+
<event name="catalog_category_prepare_save">
10+
<observer name="category_save_rewrites_history_setter" instance="Magento\CatalogUrlRewrite\Observer\CategorySaveRewritesHistorySetter" method="invoke"/>
11+
</event>
12+
<event name="catalog_category_save_after">
13+
<observer name="process_url_rewrite_saving" instance="Magento\CatalogUrlRewrite\Model\Category\Observer" method="processUrlRewriteSaving"/>
14+
</event>
15+
</config>

app/code/Magento/Config/Model/Config/Backend/Image/Logo.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,4 +37,14 @@ protected function _addWhetherScopeInfo()
3737
{
3838
return true;
3939
}
40+
41+
/**
42+
* Getter for allowed extensions of uploaded files.
43+
*
44+
* @return string[]
45+
*/
46+
protected function _getAllowedExtensions()
47+
{
48+
return ['jpg', 'jpeg', 'gif', 'png', 'svg'];
49+
}
4050
}
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
<?php
2+
/**
3+
* Copyright © 2015 Magento. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
namespace Magento\Config\Test\Unit\Model\Config\Backend\Image;
7+
8+
class LogoTest extends \PHPUnit_Framework_TestCase
9+
{
10+
/**
11+
* @var \Magento\Config\Model\Config\Backend\Image\Logo
12+
*/
13+
private $model;
14+
15+
/**
16+
* @var \PHPUnit_Framework_MockObject_MockObject
17+
*/
18+
private $uploaderFactoryMock;
19+
20+
/**
21+
* @var \PHPUnit_Framework_MockObject_MockObject
22+
*/
23+
private $uploaderMock;
24+
25+
/**
26+
* @var \PHPUnit_Framework_MockObject_MockObject
27+
*/
28+
private $requestDataMock;
29+
30+
public function setUp()
31+
{
32+
$helper = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
33+
$this->uploaderFactoryMock = $this->getMockBuilder('\Magento\MediaStorage\Model\File\UploaderFactory')
34+
->setMethods(['create'])
35+
->disableOriginalConstructor()
36+
->getMock();
37+
$this->uploaderMock = $this->getMockBuilder('\Magento\MediaStorage\Model\File\Uploader')
38+
->setMethods(['setAllowedExtensions', 'save'])
39+
->disableOriginalConstructor()
40+
->getMock();
41+
$this->uploaderFactoryMock
42+
->expects($this->once())
43+
->method('create')
44+
->will($this->returnValue($this->uploaderMock));
45+
$this->requestDataMock = $this
46+
->getMockBuilder('\Magento\Config\Model\Config\Backend\File\RequestData\RequestDataInterface')
47+
->setMethods(['getTmpName'])
48+
->getMockForAbstractClass();
49+
$mediaDirectoryMock = $this->getMockBuilder('\Magento\Framework\Filesystem\Directory\WriteInterface')
50+
->disableOriginalConstructor()
51+
->getMockForAbstractClass();
52+
$filesystemMock = $this->getMockBuilder('\Magento\Framework\Filesystem')
53+
->disableOriginalConstructor()
54+
->setMethods(['getDirectoryWrite'])
55+
->getMock();
56+
$filesystemMock->expects($this->once())
57+
->method('getDirectoryWrite')
58+
->will($this->returnValue($mediaDirectoryMock));
59+
$this->model = $helper->getObject(
60+
'Magento\Config\Model\Config\Backend\Image\Logo',
61+
[
62+
'uploaderFactory' => $this->uploaderFactoryMock,
63+
'requestData' => $this->requestDataMock,
64+
'filesystem' => $filesystemMock,
65+
]
66+
);
67+
}
68+
69+
public function testBeforeSave()
70+
{
71+
$this->requestDataMock->expects($this->once())
72+
->method('getTmpName')
73+
->will($this->returnValue('/tmp/val'));
74+
$this->uploaderMock->expects($this->once())
75+
->method('setAllowedExtensions')
76+
->with($this->equalTo(['jpg', 'jpeg', 'gif', 'png', 'svg']));
77+
$this->model->beforeSave();
78+
}
79+
}

app/code/Magento/Customer/etc/webapi.xml

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -188,12 +188,6 @@
188188
<resource ref="anonymous"/>
189189
</resources>
190190
</route>
191-
<route url="/V1/customers/:customerId/password" method="PUT">
192-
<service class="Magento\Customer\Api\AccountManagementInterface" method="resetPassword"/>
193-
<resources>
194-
<resource ref="Magento_Customer::manage"/>
195-
</resources>
196-
</route>
197191
<route url="/V1/customers/:customerId/confirm" method="GET">
198192
<service class="Magento\Customer\Api\AccountManagementInterface" method="getConfirmationStatus"/>
199193
<resources>

app/code/Magento/Sales/view/email/shipment_new.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
"var order.shipping_address.format('html')":"Shipping Address",
2020
"var order.shipping_description":"Shipping Description",
2121
"layout handle=\"sales_email_order_shipment_items\" shipment=$shipment order=$order":"Shipment Items Grid",
22-
"block type='Magento\Framework\View\Element\Template' area='frontend' template='email/shipment/track.phtml' shipment=$shipment order=$order":"Shipment Track Details",
22+
"block type='Magento\\Framework\\View\\Element\\Template' area='frontend' template='email/shipment/track.phtml' shipment=$shipment order=$order":"Shipment Track Details",
2323
"var comment":"Shipment Comment"}
2424
@-->
2525
<!--@styles

app/code/Magento/Sales/view/email/shipment_new_guest.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
"var order.shipping_address.format('html')":"Shipping Address",
1919
"var order.shipping_description":"Shipping Description",
2020
"layout handle=\"sales_email_order_shipment_items\" shipment=$shipment order=$order":"Shipment Items Grid",
21-
"block type='Magento\Framework\View\Element\Template' area='frontend' template='email/shipment/track.phtml' shipment=$shipment order=$order":"Shipment Track Details",
21+
"block type='Magento\\Framework\\View\\Element\\Template' area='frontend' template='email/shipment/track.phtml' shipment=$shipment order=$order":"Shipment Track Details",
2222
"var comment":"Shipment Comment"}
2323
@-->
2424
<!--@styles

app/code/Magento/Theme/etc/adminhtml/system.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@
6161
<label>Header</label>
6262
<field id="logo_src" translate="label" type="image" sortOrder="10" showInDefault="1" showInWebsite="1" showInStore="1">
6363
<label>Logo Image</label>
64-
<comment>Allowed file types:PNG, GIF, JPG, JPEG.</comment>
64+
<comment>Allowed file types:PNG, GIF, JPG, JPEG, SVG.</comment>
6565
<backend_model>Magento\Config\Model\Config\Backend\Image\Logo</backend_model>
6666
<base_url type="media" scope_info="1">logo</base_url>
6767
</field>

dev/tests/api-functional/testsuite/Magento/Catalog/Api/CategoryRepositoryTest.php

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88

99
use Magento\TestFramework\Helper\Bootstrap;
1010
use Magento\TestFramework\TestCase\WebapiAbstract;
11+
use Magento\UrlRewrite\Service\V1\Data\UrlRewrite;
12+
use Magento\CatalogUrlRewrite\Model\CategoryUrlRewriteGenerator;
1113

1214
class CategoryRepositoryTest extends WebapiAbstract
1315
{
@@ -98,14 +100,35 @@ public function testCreate($category)
98100
{
99101
$category = $this->createCategory($category);
100102
$this->assertGreaterThan(0, $category['id']);
103+
// delete category to clean up auto-generated url rewrites
104+
$this->deleteCategory($category['id']);
101105
}
102106

103107
/**
104108
* @magentoApiDataFixture Magento/Catalog/_files/category.php
105109
*/
106110
public function testDelete()
107111
{
112+
/** @var \Magento\UrlRewrite\Model\Storage\DbStorage $storage */
113+
$storage = Bootstrap::getObjectManager()->get('Magento\UrlRewrite\Model\Storage\DbStorage');
114+
$categoryId = $this->modelId;
115+
$data = [
116+
UrlRewrite::ENTITY_ID => $categoryId,
117+
UrlRewrite::ENTITY_TYPE => CategoryUrlRewriteGenerator::ENTITY_TYPE
118+
];
119+
/** @var \Magento\UrlRewrite\Service\V1\Data\UrlRewrite $urlRewrite*/
120+
$urlRewrite = $storage->findOneByData($data);
121+
122+
// Assert that a url rewrite is auto-generated for the category created from the data fixture
123+
$this->assertEquals(1, $urlRewrite->getIsAutogenerated());
124+
$this->assertEquals($categoryId, $urlRewrite->getEntityId());
125+
$this->assertEquals(CategoryUrlRewriteGenerator::ENTITY_TYPE, $urlRewrite->getEntityType());
126+
$this->assertEquals('category-1.html', $urlRewrite->getRequestPath());
127+
128+
// Assert deleting category is successful
108129
$this->assertTrue($this->deleteCategory($this->modelId));
130+
// After the category is deleted, assert that the associated url rewrite is also auto-deleted
131+
$this->assertNull($storage->findOneByData($data));
109132
}
110133

111134
public function testDeleteNoSuchEntityException()
@@ -156,6 +179,8 @@ public function testUpdate()
156179
$category = $model->load($categoryId);
157180
$this->assertEquals("Update Category Test", $category->getName());
158181
$this->assertEquals("Update Category Description Test", $category->getDescription());
182+
// delete category to clean up auto-generated url rewrites
183+
$this->deleteCategory($categoryId);
159184
}
160185

161186
protected function getSimpleCategoryData($categoryData = [])

lib/internal/Magento/Framework/Filesystem/Directory/Read.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,12 +65,12 @@ protected function setPath($path)
6565
* E.g.: /var/www/application/file.txt
6666
*
6767
* @param string $path
68-
* @param string $schema
68+
* @param string $scheme
6969
* @return string
7070
*/
71-
public function getAbsolutePath($path = null, $schema = null)
71+
public function getAbsolutePath($path = null, $scheme = null)
7272
{
73-
return $this->driver->getAbsolutePath($this->path, $path, $schema);
73+
return $this->driver->getAbsolutePath($this->path, $path, $scheme);
7474
}
7575

7676
/**

pub/.htaccess

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -156,12 +156,6 @@
156156

157157
</IfModule>
158158

159-
############################################
160-
## By default allow all access
161-
162-
Order allow,deny
163-
Allow from all
164-
165159
###########################################
166160
## Deny access to release notes to prevent disclosure of the installed Magento version
167161

0 commit comments

Comments
 (0)