Feature request from SamTay, posted on GitHub Apr 13, 2016
Product::isInStock is misleading. This does not check if product is in stock, but just checks if enabled.
Product::getQty does not look for qty key in the correct place. Perhaps in some parts of the app, qty is set on the Product::_data array directly, but my screenshot shows that this is not the case in the product/price/amount/default.phtml template. Because this is the implementation of the SaleableInterface, this is a problem for abstraction.
... View more
Feature request from devishreebalasubramanian, posted on GitHub Jun 01, 2016
Now i have created custom theme in magento2.Every time i wrote css it doesn't reflect immediately.I have changed mode to "developer".And also disable cache in backend.I have given the following commands to reflect my custom css.
*rm -f var/ -R**
rm -f pub/static -R
php bin/magento setup:static-content:deploy
chmod 0777 var -R
chmod 0777 pub/static -R
It takes too much time to do my design work.So please anyone help on this.
... View more
Feature request from flancer64, posted on GitHub Jun 07, 2016
Hello,
I discovered DB structure and found that there is extra field named "website_id" in "cataloginventory_stock_item".
Each stock item is related to "cataloginventory_stock" (foreign key: stock_id). Stock record in "cataloginventory_stock" has field "website_id" is related to "store_website". So, each record in "cataloginventory_stock_item" is related to record in "cataloginventory_stock" and is related to record in "store_website".
Field "website_id" in "cataloginventory_stock_item" (without references/foreign key to "store_website") can contain any value - not only different from the "website_id" in related "cataloginventory_stock" record, but really any smallint(5) UNSIGNED value.
I suppose, field "cataloginventory_stock_item.website_id" is extra field and should be removed.
Thanks.
... View more
Feature request from RG-1, posted on GitHub Jul 10, 2016
Steps to reproduce
Magento 2.1.0
Make a backup of db: bin/magento setup:backup --db
Import a lot of data or generate it: bin/magento setup:performance:generate-fixtures <your Magento install dir>/setup/performance-toolkit/profiles/ce/large.xml
Restore the backup: bin/magento setup:rollback --db-file <your backup name>_db.sql
Expected result
Backup restoring should be pretty quick.
The process should use full CPU speed.
Actual result
Backup restoring takes a lot of time.
The process uses just 10% of CPU.
... View more
Feature request from epadmin, posted on GitHub Jul 09, 2016
Steps to reproduce
While working on adding categories in the admin panel, Magento times out without notification or giving ability to extend. When saving new categories after adding all the information, the login page comes up and none of the information is saved.
Expected result
Expect a notification prior to timing out while updating/adding information. If you are logged in and try to save, there should be a way to restore the information you entered if you have to log in again, whether it is a setting allowing the information to be cached so you can go back after logging in or temporarily saving it while you re-authenticate and then committing the change. At the very least there should be a reminder that says you are about to be logged out.
Actual result
Try to save information after entering the required info to setup a new category is resulting in the information being lost because it goes to a login page instead of saving the data. Presumably this is a timeout issue
... View more
Feature request from thdoan, posted on GitHub Jul 15, 2016
Steps to reproduce
Install Magento from develop branch.
Go to /caesar-warm-up-pant.html
Expected result
The current article (gray in this case) should be pre-selected on initial page load.
Actual result
None of the color swatches is selected by default.
... View more
Feature request from qmarlats, posted on GitHub Jul 17, 2016
For some elements in admin, it's (really) difficult to find what we search for. For example, in list of countries like "Top Destinations" (see picture), we have to look for one country at a time and select what we want slowly and without any error (otherwise we have to begin again). Even more horrible is time zones: the first time I searched for Paris I've spent about 3 minutes.
So I think it would be a great usability improvement to use something like that!
... View more
Feature request from maderlock, posted on GitHub Jul 21, 2016
Steps to reproduce
Install 2.1.0
Set discount to be applied to inclusive total and customer tax to be calculated after discount
Set invoice, order display settings to display all as exclusive of VAT
Place an order with a discount
View invoice
Expected result
Subtotal + shipping - discount = grand total (excl tax)
Actual result
Subtotal + shipping - discount = slightly less than excl grand total as discount includes amount applied to inclusive subtotal
I would suggest there is a similar option to display discount incl/excl of VAT. The latter would add back the discount_tax_compensation amount so that the totals add up.
See example for why this currently is rather unintuitive:
... View more
Feature request from navarr, posted on GitHub Jul 21, 2016
Steps to reproduce
Install Magento from develop branch.
Begin writing code that interacts with an API that takes, for example, JSON as the body request
Investigate the \Magento\Framework\HTTP\ClientInterface to see how to send this body within the Magento framework
Expected result
post method, or another method allows the sending of raw json or other raw data to the server
Actual result
No such functionality exists, making it impossible to send raw data over the HTTP ClientInterface
As a potential fix, I've opened Pull Request #5407. This enables the post method to send raw data as well as the previously accepted array of data.
... View more
Feature request from ADDISON74, posted on GitHub Jul 22, 2016
1) The number of columns is pretty big. You can get rid off Visibility, Product, SKU columns
2) If you still want keeping those columns, there is an issue with special characters in Product column. ™ appears incorrect &trade
... View more
Feature request from jacquesbh, posted on GitHub Jul 23, 2016
I'm playing with performances issues.
One of them (too much to write an issue for each) is that the Customer is loaded on each page, event if the customer isn't logged in!
There is no test about the possibility of having a customer's ID equal to null in the source code.
Preconditions
Magento EE 2.0.2 (but doesn't matter, it is in CE too…)
Nginx / PHP5-fpm
Steps to reproduce
The problem is there: https://github.com/magento/magento2/blob/2d368d0134597257ef5697a4bcbb7f69f2aebed8/app/code/Magento/Customer/Model/Session.php#L279-L292
If you want to test this just add this before the line 288 on the file above:
syslog(7, 'Value of the customer\'s ID is ' . var_export($this->getCustomerId(), true));
Which results in:
/**
* Retrieve customer model object
*
* @return Customer
* use getCustomerId() instead
*/
public function getCustomer()
{
if ($this->_customerModel === null) {
syslog(7, 'Value of the customer\'s ID is ' . var_export($this->getCustomerId(), true));
$this->_customerModel = $this->_customerFactory->create()->load($this->getCustomerId());
}
return $this->_customerModel;
}
Expected result
If the customer is logged in: look your syslog and you should get something like Jul 23 16:38:16 magento2ee: Value of the customer's ID is 1
If the customer isn't logged in: you shouldn't get any log because a customer with the ID null shouldn't be loaded.
Actual result
We always get a log… and specially a Value of the customer's ID is NULL if the customer isn't logged in.
... View more
Feature request from SamTay, posted on GitHub Apr 13, 2016
Product::isInStock is misleading. This does not check if product is in stock, but just checks if enabled.
Product::getQty does not look for qty key in the correct place. Perhaps in some parts of the app, qty is set on the Product::_data array directly, but my screenshot shows that this is not the case in the product/price/amount/default.phtml template. Because this is the implementation of the SaleableInterface, this is a problem for abstraction.
... View more
Feature request from zinittest, posted on GitHub Apr 25, 2016
Steps to reproduce
Create CSV file for customer import with gender fields filled with valid values (Male, Female, ...).
Choose "Customers Main File", "Add/Update Complex Data" options.
Import data.
Expected result
Gender data is properly saved.
Actual result
None of imported customers have gender info saved. DB fields in customer_entity . gender column are filed with zeroes or nulls.
P. S. Probably error occurs because gender data are not replaced with corresponding constant values on data preparation step (https://github.com/magento/magento2/blob/develop/app/code/Magento/CustomerImportExport/Model/Import/Customer.php#L403), so system is trying to insert string values to DB column of integer type. I was able to import gender data with following ugly piece of code inserted before new customer check https://github.com/magento/magento2/blob/develop/app/code/Magento/CustomerImportExport/Model/Import/Customer.php#L406:
if (false !== strpos($entityRow['gender'], 'Male')) {
$entityRow['gender'] = 1;
} elseif (false !== strpos($entityRow['gender'], 'Female')) {
$entityRow['gender'] = 2;
} else {
$entityRow['gender'] = 3;
}
Of course it requires more proper fix.
... View more
Feature request from paales, posted on GitHub May 04, 2016
https://github.com/magento/magento2/blob/develop/app/code/Magento/Catalog/Block/Product/View/Options/Type/Select.php
It currently renders the HTML in the block, would be nice if is rendered in a template. That would make customization a lot easier.
... View more
Feature request from pynej, posted on GitHub May 05, 2016
We have everything configured and can see the approval response from PayFlow in the debug log, but the fronted/spiny wheel never goes away an no order is ever created.
No errors or the logs or in the browser console.
Here is the approval response in the log:
'request' =>
array (
'user' => '****',
'vendor' => '****',
'partner' => '****',
'pwd' => '****',
'verbosity' => 'HIGH',
'BNCODE' => 'Magento_Cart_Community',
'tender' => 'C',
'trxtype' => 'A',
'amt' => 0,
'createsecuretoken' => 'Y',
'securetokenid' => '108d7c2cecc18c90046869377181****',
'returnurl' => 'https://crowehorwath.superior.org/paypal/transparent/response/',
'errorurl' => 'https://crowehorwath.superior.org/paypal/transparent/response/',
'cancelurl' => 'https://crowehorwath.superior.org/paypal/transparent/cancel/',
'disablereceipt' => 'TRUE',
'silenttran' => 'TRUE',
'firstname' => 'Jeremy',
'lastname' => 'Pyne',
'street' => '****',
'city' => 'Kentwood',
'state' => 'MI',
'zip' => '49512',
'country' => 'US',
'email' => 'jpyne@****',
'shiptofirstname' => 'Jeremy',
'shiptolastname' => 'Pyne',
'shiptostreet' => '****',
'shiptocity' => 'Kentwood',
'shiptostate' => 'MI',
'shiptozip' => '49512',
'shiptocountry' => 'US',
),
'result' =>
array (
'result' => '0',
'securetoken' => 'Plgu0x5uu60Krhc0Km3IL****',
'securetokenid' => '108d7c2cecc18c90046869377181****',
'respmsg' => 'Approved',
'result_code' => '0',
),
I'v tried in test and production, with precompiled code and without, in developer mode and production. No luck and no errors anywhere.
Running Magento 2.0.4, Apache 2.4, PHP 5.6.20.
... View more
Feature request from erikhansen, posted on GitHub Jun 08, 2016
The PayPal Express review page has typically always been lacking in its UI. Here is a screenshot of a live M2 review page with some suggestions for improvement (note: this theme is based on the Magento/blank theme):
As a point of reference, here is a Magento 1 site that has a better UI, in my opinion:
... View more
Feature request from flancer64, posted on GitHub Jun 08, 2016
Hello,
I create new stock object in case there is no stock with given ID (I know that ID is autoincremented value, this is code to create test data):
try {
/** @var \Magento\CatalogInventory\Api\StockRepositoryInterface $mageRepoStock */
$stock = $mageRepoStock->get(self::DEF_STOCK_ID);
} catch (\Magento\Framework\Exception\NoSuchEntityException $e) {
/** @var \Magento\Framework\ObjectManagerInterface $manObj */
$stock = $manObj->create(\Magento\CatalogInventory\Model\Stock::class);
$stock->setStockId(self::DEF_STOCK_ID); // this string should be removed to create new object
} finally {
$stock->setStockName('Stock Name');
$mageRepoStock->save($stock);
}
There is no errors in this code and no new object is created. New object will be created if I remove following string from code:
$stock->setStockId(self::DEF_STOCK_ID);
I debugged code and found that updateObject is called instead of saveNewObject in \Magento\Framework\Model\ResourceModel\Db\AbstractDb::save method:
if ($this->isObjectNotNew($object)) {
$this->updateObject($object);
} else {
$this->saveNewObject($object);
}
This is a code for isObjectNotNew :
protected function isObjectNotNew(\Magento\Framework\Model\AbstractModel $object)
{
return $object->getId() !== null && (!$this->_useIsObjectNew || !$object->isObjectNew());
}
I suppose we need additional validation in isObjectNotNew method or we need a error message.
OK, I will remove the ID setter from code but this behavior is not expected - no result and no error.
... View more
Feature request from wienczny, posted on GitHub Jun 13, 2016
According to the Swagger documentation "extension_attributes" is a reference to an attributes object. If there are no extension attributes the API returns an empty array [] . This is illegal according to the Swagger documentation. It has to be either null if there is no object attached or an object {} .
I found this using the Java Swagger client and a product request:
{
"id": 1,
"sku": "test",
"name": "Test",
"attribute_set_id": 4,
"price": 12,
"status": 1,
"visibility": 4,
"type_id": "simple",
"created_at": "2016-04-30 11:02:24",
"updated_at": "2016-06-10 12:47:19",
"weight": 5,
"extension_attributes": [],
"product_links": [],
"options": [],
"media_gallery_entries": [],
"tier_prices": [],
"custom_attributes": [
{
"attribute_code": "meta_title",
"value": "Test"
},
{
"attribute_code": "meta_keyword",
"value": "Test"
},
{
"attribute_code": "meta_description",
"value": "Test "
},
{
"attribute_code": "category_ids",
"value": [
"2",
"3"
]
},
{
"attribute_code": "options_container",
"value": "container2"
},
{
"attribute_code": "required_options",
"value": "0"
},
{
"attribute_code": "has_options",
"value": "0"
},
{
"attribute_code": "url_key",
"value": "test"
},
{
"attribute_code": "tax_class_id",
"value": "2"
}
]
}
I had to modify the swagger definition because of #2310 to get this far.
... View more
Feature request from mackelito, posted on GitHub Jun 09, 2016
Steps to reproduce
Add items to the cart thru the rest API and inspect the result of the xhr
Expected result
Response should be the cart. Same as when requesting '/rest/V1/guest-carts/29c8ee939e3a6146518e7340dfef75eb/totals'
Actual result
The response is the product that we just added. eg:
{"item_id":52,"sku":"MH01-XS-Black","qty":1,"name":"Chaz Kangeroo Hoodie-XS-Black","price":52,"product_type":"simple","quote_id":"569"}
--
If we don´t get the totals as response we need to make twice as many requests..
One for adding item to the cart and then
One to get the cart totals.
It would be way smoother to get the cart totals as the response when adding to the cart.
... View more