Feature request from danslo, posted on GitHub Aug 15, 2015
There are things like Magento\Customer\Block\Adminhtml\Edit\BackButton which don't contain any customer specific functionality, preferably they should be moved to a more generic place ( Magento\Framework\View or Magento\Ui ?) so other modules can make use of them without having dependency on Magento_Customer .
... View more
Feature request from mage2pro, posted on GitHub Oct 25, 2015
Varien_Object::_construct() :
https://github.com/OpenMage/magento-mirror/blob/1.9.2.1/lib/Varien/Object.php#L154-L156
I see it is already restored (by duplication) in the base model, base block, base form and so on:
\Magento\Framework\Model\AbstractModel::_construct() :
https://github.com/magento/magento2/blob/02e0378c33054acb0cdb8d731d1e2b2c2069bc1b/lib/internal/Magento/Framework/Model/AbstractModel.php#L201-L203
\Magento\Framework\View\Element\AbstractBlock::_construct()
https://github.com/magento/magento2/blob/02e0378c33054acb0cdb8d731d1e2b2c2069bc1b/lib/internal/Magento/Framework/View/Element/AbstractBlock.php#L223-L228
\Magento\Framework\Data\Form\AbstractForm::_construct()
https://github.com/magento/magento2/blob/02e0378c33054acb0cdb8d731d1e2b2c2069bc1b/lib/internal/Magento/Framework/Data/Form/AbstractForm.php#L71-L73
Why does it absent in \Magento\Framework\DataObject ?
... View more
Feature request from mage2pro, posted on GitHub Nov 02, 2015
An event on a backend CMS page form creation:
https://github.com/magento/magento2/blob/f578e54e093c31378ca981cfe336f7e651194585/app/code/Magento/Cms/Block/Adminhtml/Page/Edit/Tab/Content.php#L99
No any event on a backend CMS block form creation:
https://github.com/magento/magento2/blob/c743dec47b2e5de036eb5638fec44a54bfb31040/app/code/Magento/Cms/Block/Adminhtml/Block/Edit/Form.php#L61-L158
... View more
Feature request from mage2pro, posted on GitHub Nov 02, 2015
The problem line is
https://github.com/magento/magento2/blob/f578e54e093c31378ca981cfe336f7e651194585/app/code/Magento/Cms/Controller/Adminhtml/Page/Save.php#L62
I propose to change it to
if (!$this->dataProcessor->validate($model->getData())) {
My detailed explanation: https://mage2.pro/t/159
... View more
Feature request from mage2pro, posted on GitHub Oct 27, 2015
There is an internal field \Magento/Framework/View/Layout/Builder::$isBuilt
https://github.com/magento/magento2/blob/ffa02d82c6344c76ea6de8b50d9612b3200ea2c7/lib/internal/Magento/Framework/View/Layout/Builder.php#L61
Need a public method.
There is an event layout_generate_blocks_after :
https://github.com/magento/magento2/blob/ffa02d82c6344c76ea6de8b50d9612b3200ea2c7/lib/internal/Magento/Framework/View/Layout/Builder.php#L133
But it is inconvenient to listen for the event while an extension just need to get the current layout state: built or not.
... View more
Feature request from mage2pro, posted on GitHub Nov 02, 2015
Similar to https://github.com/magento/magento2/issues/2248
The «cms_page_prepare_save» event firing :
https://github.com/magento/magento2/blob/f578e54e093c31378ca981cfe336f7e651194585/app/code/Magento/Cms/Controller/Adminhtml/Page/Save.php#L57-L60
There is no similar event for block:
https://github.com/magento/magento2/blob/f578e54e093c31378ca981cfe336f7e651194585/app/code/Magento/Cms/Controller/Adminhtml/Block/Save.php#L16-L59
... View more
Feature request from licentia, posted on GitHub Oct 15, 2015
Magento should save the fee charged by Paypal for the transaction. This is very useful when trying to calculate Customer Equity & LTV. We have precise values and not approximate ones.
Check this doc: https://developer.paypal.com/docs/classic/api/merchant/GetTransactionDetails_API_Operation_NVP/ and the FEEAMT field.
FEEAMT should be added to the
protected $_getTransactionDetailsResponse
in
Magento\Paypal\Model\Api\Nvp
And stored in the
sales_order_payment table
... View more
Feature request from mage2pro, posted on GitHub Nov 13, 2015
https://github.com/magento/magento2/blob/2335247d4ae2dc1e0728ee73022b0a244ccd7f4c/app/code/Magento/Catalog/Block/Product/AbstractProduct.php#L374-L379
... View more
Feature request from mage2pro, posted on GitHub Nov 04, 2015
Similar to https://github.com/magento/magento2/issues/2248 and https://github.com/magento/magento2/issues/2249.
The «controller_action_catalog_product_save_entity_after» event firing :
https://github.com/magento/magento2/blob/16dc76df41fac703b322cc0f9ab3dba43742bbed/app/code/Magento/Catalog/Controller/Adminhtml/Product/Save.php#L105-L108
There is no similar event for a category:
https://github.com/magento/magento2/blob/16dc76df41fac703b322cc0f9ab3dba43742bbed/app/code/Magento/Catalog/Controller/Adminhtml/Category/Save.php#L73-L212
... View more
Feature request from brideo, posted on GitHub Nov 13, 2015
http://php.net/manual/en/language.oop5.late-static-bindings.php
Rather than this:
/**
* @return bool
*/
protected function _isAllowed()
{
return $this->_authorization->isAllowed(self::ADMIN_RESOURCE);
}
We should have this:
/**
* @return bool
*/
protected function _isAllowed()
{
return $this->_authorization->isAllowed(static::ADMIN_RESOURCE);
}
By using a static binding, we don't have to completely re-write the _isAllowed method in our controller action, instead we can simply define our ADMIN_RESOURCE constant, we then can let the AbstractAction handle our logic.
This would be a completely backwards compatible change.
... View more
Feature request from hostep, posted on GitHub Nov 15, 2015
Hi
Using Magento 2.0.0-rc2.
I currently find it hard to edit a static block or cms page. We are now obligated to click at least twice on a tiny target, or even more then that if you make the mistake of clicking into a column which isn't the action column, due to the inline editing feature opening up.
I can see the usefulness of inline editing when clicking on a row, but now it's becoming a bit harder to actually edit the contents of the page/block.
I think in 80% of the cases when someone goes to the blocks/pages grid, it is to edit the contents of that block/page, not to change the title or the status or something like that.
Here are some ideas to make it a bit more practical while keeping the inline editing feature:
Split the actions into multiple columns, so you can click directly on 'Edit'
Clicking on a column in a row which you can't edit inline (ID, created/modified dates, ...) should open up the static block/page immediately
Add a configuration option above the grid to enable/disable the inline editing feature
...
If anybody has other ideas to make this a less frustrating experience, please tune in :)
Thanks!
... View more
Feature request from mage2pro, posted on GitHub Nov 17, 2015
See, for example:
https://github.com/magento/magento2/blob/2335247d4ae2dc1e0728ee73022b0a244ccd7f4c/app/code/Magento/Catalog/view/adminhtml/layout/catalog_product_new.xml#L55
<block
class="Magento\Catalog\Block\Adminhtml\Product\Edit\Js"
name="catalog_product_js"
template="catalog/product/js.phtml"
/>
is the same as
<block
class="Magento\Catalog\Block\Adminhtml\Product\Edit\Js"
name="catalog_product_js"
template="Magento_Catalog::catalog/product/js.phtml"
/>
But it is not possible for CSS and JS declarations:
https://github.com/magento/magento2/blob/2335247d4ae2dc1e0728ee73022b0a244ccd7f4c/app/code/Magento/Catalog/view/adminhtml/layout/catalog_product_new.xml#L12
<css src="Magento_Catalog::product/product.css"/>
It would be nice to have an abilily skip the current module prefix and use some shorter syntax like <css src="product/product.css"/> or <css src="::product/product.css"/>
... View more
Feature request from moleman, posted on GitHub Jan 21, 2016
When you run commands in an build environment, like Jenkins, you want the commands to return a non-zero exit code if an error occurred so that Jenkins can fail the build.
Currently if any error occurs when you run setup:static-content:deploy it will not return a non-zero exit code which makes the build succeed even though the build is incomplete.
Example:
=== frontend -> Vaimo/XXX -> en_US ===
...........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
Compilation from source:
frontend/Vaimo/XXX/en_US/css/email-inline.less
variable @media-common is undefined in file /XXX/en_US/css/source/_theme.less in _theme.less on line 24, column 9
22| // Global
23| // _____________________________________________
24| & when (@media-common = true) {
25| .svg-link {
26| pointer-events: none;
27| }>
This will make the generation of static files to stop right in the middle because of an error but it will still not return a non-zero exit code which makes the build incomplete and Jenkins will not know about it.
The same behaviour occurs when you run setup:di:compile and when you switch deploy mode with deploy:mode:set. All of these commands should return a non-zero exit code if any error occurs.
... View more
Feature request from mage2pro, posted on GitHub Nov 16, 2015
https://mage2.pro/t/topic/209
... View more
Feature request from ankursachdeva11, posted on GitHub Feb 01, 2016
I am trying to create custom api using webapi and we need output in custom XML.
When we are trying to return some XML and hit the rest API url then XML shown as plain text in the .... tags. It is not creating XML in response.
it shows like this :
Is there any way to modify the response tag to get custom XML response.
... View more
Feature request from ovdev1, posted on GitHub Jan 30, 2016
Just noticed when trying to load table rates that the directory_country_region table contains the wrong state code for Queensland Australia, should be QLD not QSD
... View more
Feature request from stefandoorn, posted on GitHub Feb 12, 2016
The way the ErrorHandler is loaded in Framework\App\Bootstrap probably prevents interception on the ErrorHandler class. Reason I would like to use this, is to adjust the ErrorHandler in a more developer friendly version (Whoops).
It makes sense, as the error handler needs to be registered before the object manager will be loaded. But, it would be great if there is a method to register another error_handler after that is done.
So basically it would be:
Register default Magento error handler
Load object manager
Register default Magento error handler again using object manager
The second moment would allow for interception I believe. Or, am I overseeing a method to register a different error_handler?
... View more
Feature request from brendanmckeown, posted on GitHub Jan 20, 2016
Both of the API routes in module-integration/etc/webapi.xml to get an authentication token work over http. These routes should be secure and only acceptable over https, because you are passing sensitive account information in the request body. This can be achieved by adding secure="true" to each <route> node:
<route url="/V1/integration/admin/token" method="POST" secure="true">
<service class="Magento\Integration\Api\AdminTokenServiceInterface" method="createAdminAccessToken"/>
<resources>
<resource ref="anonymous"/>
</resources>
</route>
<route url="/V1/integration/customer/token" method="POST" secure="true">
<service class="Magento\Integration\Api\CustomerTokenServiceInterface" method="createCustomerAccessToken"/>
<resources>
<resource ref="anonymous"/>
</resources>
</route>
If this was an intentional decision, is there a way I can override this route in a custom module and enforce this behavior?
... View more
Feature request from augsteyer, posted on GitHub Feb 03, 2016
I believe this is a bug where I am trying to pass a JSON object like this
{
"action":"get_setting",
"settings":
[
{
"name": "t",
"value": "p"
}
]
}
Where the interface looks like this
/**
* @param string $action
* @param array[][] $settings - the type here is the problem area
*
* @return string
*/
public function setSettings($action, $settings);
I have currently tried many variations of string[][], array[], string[], mixed[], Array[], etc, without any way of passing settings without getting an error thrown at the lib/internal/Magento/Framework/Webapi/ServiceInputProcessor.php::process() function.
The root cause of the problem is that in lib/internal/Magento/Framework/Webapi/ServiceInputProcessor.php::convertValue() it has no way of parsing array of arrays. If it's something like "string[][]" it will consider it a simple type and will try to match it to !settype(array(...), string), which results into an error. If it's something unknown like array[][]. It will consider it complex, and try to initialize it as a class, where it will figure out that 'array' is not a class.
A way of solving, would be to make array a simple type, however I do not know the implications of such change, hence why it's not a pull request. The change would also allow this case to be accepted whether it's array[][] or array[] or array, so most likely not a good solution.
lib/internal/Magento/Framework/Reflection/TypeProcessor.php::isTypeSimple()
...
return in_array(
$type,
[
self::NORMALIZED_STRING_TYPE,
self::NORMALIZED_INT_TYPE,
self::NORMALIZED_FLOAT_TYPE,
self::NORMALIZED_DOUBLE_TYPE,
self::NORMALIZED_BOOLEAN_TYPE,
self::NORMALIZED_ARRAY_TYPE //'array' <------
]
);
... View more