Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bug - Mage_Sales_Model_Order_Invoice_Total_Shipping:50 #72

Closed

Conversation

tim-reynolds
Copy link
Contributor

The line was
if($previusInvoice->getShippingAmount() && ...
This would return true if a previous invoice had zero shipping because it was returned as a string from the database. The string "0.0000". The line needs to be changed to have a greaterthan comparison to cause the string to cast to a numeric.

Also added unit test.

NOTE - This pull request is including my previous pull request because I failed to do that work on a separate branch. Unsure how to correct that other than blowing away repo and starting over. If I must do that please let me know.

The call on Mage_Eav_Model_Attribute_Data_Text:67 to empty returns true of a value of "0" is entered, as specified in the PHP spec. This prevents the entry of zero on the backend admin for fields. Zero should be a valid value, as it was in our case.

No unit tests were created, as no unit tests exist currently for the Eav module.
Sorry for not including this originally.
The line was
if($previusInvoice->getShippingAmount() && ...
This would return true if a previous invoice had zero shipping because it was returned as a string from the database. The string "0.0000". The line needs to be changed to have a greaterthan comparison to cause the string to cast to a numeric.

Also added unit test.
The line was
if($previusInvoice->getShippingAmount() && ...
This would return true if a previous invoice had zero shipping because it was returned as a string from the database. The string "0.0000". The line needs to be changed to have a greaterthan comparison to cause the string to cast to a numeric.

Also added unit test.

Added comments
@magento-team
Copy link
Contributor

@tim-reynolds-briteskies
Thank you for yet another valuable contribution supplied with unit tests.
Next time please create separate pull request for every contribution to simplify the review.

The contribution has been accepted with the following deviations:

  • explicit type casting using (float) notation instead of implicit one through the comparison operator
  • various code style fixes
  • unit test has been re-organized to minimize mocking and simplify understanding

Code changes will be available with one of the next publications from the internal repository.

Closing the ticket as complete. Thank you again.

magento-team added a commit that referenced this pull request Oct 9, 2012
* Performance Testing Framework improvements:
  * Added ability to specify fixtures per scenario
  * Implemented Magento application cleanup between scenarios
  * Implemented support of PHP scenarios. The framework distinguishes type of the scenario by its extension: `jmx` or `php`
  * Added ability to skip warm-up for a certain scenario
  * JMeter scenarios are run with `jmeter` command instead of `java -jar ApacheJmeter.jar`. It's impossible to specify path to JMeter tool now, it should be accessible from command line as `jmeter`
* Implemented fixture for Performance Tests with 80k products distributed among 200 categories
* Tax rule management UI simplified:
  * Added `Jeditable` jQuery library
  * Added multiselect fields for customer tax class, product tax class and tax rate
  * Added ability to add/edit Tax Rate directly from Tax Rule page
* Simplified product creation workflow:
  * Added product types dropdown to "Add Product" button. Default attribute set is used for product creation
  * "Add Product" button opens form for Simple product with Default attribute set
  * Attribute set can be changed from product creation form
* Implemented auto-generation of product SKU and meta fields. The templates can be configured in `System -> Configuration -> Catalog -> Catalog -> Product Fields Auto-Generation`
* Added ability to unassign system attribute from an attribute set, if it's not "Minimal" one
* Specified UI IDs for base Backend elements. UI ID is represented as HTML "id" attribute intended to identify certain HTML element
* Refactored `Catalog_Model_Product_Indexer_Flat::matchEvent()` method - reduced cyclomatic complexity
* Updated DB structure to make possible to store Themes' and Widgets' layout updates
* Migration to jQuery:
  * Replaced Ajax, Dialog and Template mechanisms with jQuery analogs
  * Added jQuery loader for translation process
  * Migrated Inline-Translator to jQuery
* JavaScript improvements:
  * Implemented `editTrigger` jQuery widget intended to display "Edit" button for elements it is attached to
* Fixes:
  * Incorrect title for "Currency Symbols" page on Backend
  * References to website, store and store view aren't displayed on Backend, if Single Store mode is disabled
  * "Store" column and dropdown are displayed on `System -> Import/Export -> DataFlow-Profiles` page, when Single Store mode is enabled
  * Options are absent for `'tax_class_id'` product attribute
  * No exception/error message is produced, when attempting to commit/rollback asymmetric DB transaction
  * Links are not copied during downloadable product duplication
  * PayPal tab is absent in `System -> Configuration -> Sales` section
  * "Edit" link in wishlist opens Product View page instead of "Configure Product" page
  * Default value for a product attribute is not saved
  * Escaped HTML blocks with `Mage_Core_Helper_Data::jsonEncode`, where necessary
  * Impossible to add new Dataflow profile
  * Impossible to specify default option for new product attribute with "dropdown" type
  * Unable to send the email when creating new invoice/shipment/credit memo
  * "Segmentation Fault" in Integration tests
* GitHub requests:
  * [#36](#36) -- added ability to force set of "Include Tax" option for catalog prices
  * [#63](#63) -- removed obsolete "args" node in event subscribers
  * [#64](#64) -- fixed EAV text attribute validation for "0" value
  * [#72](#72) -- fixed collecting shipping totals for case, when previous invoice value is 0
magento-team pushed a commit that referenced this pull request Feb 6, 2015
MAGETWO-31079: M2 GitHub Update (version 0.42.0-beta6)
guz-anton added a commit that referenced this pull request Oct 31, 2015
magento-team pushed a commit that referenced this pull request Mar 23, 2016
JS-329: Conflict behavior of keyboards events
@ghost ghost mentioned this pull request Feb 2, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants