Install

Works with Drupal: 7.x

Using Composer to manage Drupal site dependencies

Downloads

Download commerce-7.x-1.0-beta4.tar.gztar.gz 282.53 KB
MD5: afeee457f68ac8165e2d5ad22c5f75e0
SHA-1: 987a9ac9501812ebe4e855fbb04e523160fdc8ab
SHA-256: 6d85e68f28a179f2b720c1a7477754f3657ab63a881c5f73b420b38cc6ab64b6
Download commerce-7.x-1.0-beta4.zipzip 391.26 KB
MD5: 1816536cef09b979d5e667af3da4f37b
SHA-1: f96f18c72dce89ffd8e54612b4d57ea13c8fddcd
SHA-256: cb2c4aa8142ca2b15702fadb84687f63a1897faf1b4996f3f25168ab76bc3765

Release notes

Notice: if you are updating to beta4 from a previous version, you should use instead the latest dev version to ensure your permissions are automatically updated when you run update.php. If you have already updated straight to beta4, you just need to re-enable permissions for your roles manually.

Key points:

  • Token names and Rules parameter / variable names have changed to uniformly use the commerce prefix.
  • Permission names have been unified around a single entity access control system.
  • This release (as those before it) still requires the latest dev versions of our dependencies; as soon as Views and Rules have new releases, we'll be pegging our release compatibility against actual releases for those projects.
  • You must run update.php for your custom Views / Rules to be updated and for your role permissions to be converted to the new names.
  • You should NOT update until any contributed modules you're using specify they are compatible with this release or later.

Drupal Commerce 7.x-1.0-beta4 is an intermediate release between the beta3 and rc1. During the course of the Drupal Commerce Sprint in Denver, CO, Damien provided some monumental patches to longstanding issues regarding unifying our entity controllers, entity access control, and permission names. This resulted in the renaming of tokens and of parameter / variable names in various Rules components. It also resulted in a change of return value for our various entity save functions, which now return SAVED_NEW or SAVED_UPDATED instead of the entity itself.

These are API changes that would not fit in an update from a beta version to a release candidate, so we'd love for our power users and developers to run the update functions and provide feedback on any additional steps required to perform the update. Our update functions automatically handle renaming permissions in the database and on Views stored in the database. However, any reference to old style entity access permissions hard-coded in your custom or contrib modules must be renamed. Additionally, our update functions handle renaming Rules configuration settings names, data selectors, and tokens used in values, but any custom Rules you have (especially default Rules defined in code) must be updated.

Do not forget to run update.php if you are updating from a previous version.

The basic idea is that everything is properly prefixed and hyphenated now. A token such as order or line_item would now be commerce-order or commerce-line-item respectively. Parameter names for Rules configurations would retain the underscore, so line_item:select would become commerce_line_item:select.

Do not update until the contributed modules you're using have made the necessary changes.

As a result of these changes, we currently depend on a patch to Rules that will make its accepted values for data selectors match its accepted values for tokens in parameter values:

http://drupal.org/node/1182066#comment-4573202

Finally, some patches addressed the "magic configuration" of attribute based Add to Cart forms. Instead of relying on several parameters that you had to configure just right for your product fields to function as attribute fields, you now have explicit settings on the field edit form to enable a field to act as an attribute field. In fact, attribute fields no longer need to be required fields at all.

Changes since 7.x-1.0-beta3 (83 commits):

  • #1136866 by hunziker: fix the option group handling of VAT taxes on the product edit form when only a single tax rate exists and there are multiple price fields on the form.
  • #1150616 by mikejoconnor: remove a duplicate line item creation line from the product sell price calculation function.
  • #1146264 by mikejoconnor: do not return results from the Add to Cart form display formatter if no products are referenced.
  • Provide consistent names for permission related update functions, give them appropriate return values, and fix the customer profile update function's name.
  • Refactor access control for Customer Profiles.
  • Refactor access control for Payment transactions.
  • Refactor access control for Line items.
  • Refactor access control for Orders.
  • Refactor access control for Products.
  • Abstract implementation of entity access callbacks.
  • Add access query tags to the base tables of our entities.
  • #1181534 by rszrama: add an update function to recursively iterate over every Rule configuration and update its settings names and values to match new action / condition parameter names and event variable names with the commerce prefix.
  • Fixing a comment and a missed Rules condition parameter prefix.
  • Use the central entity controller for payment transactions.
  • Use the central entity controller for customer profiles.
  • Use the central entity controller for Line items.
  • Use the central entity controller for Orders.
  • Use the central entity controller for products.
  • Implement a central entity controller.
  • Fix the checkout tests, following a bug fix in Addressfield.
  • Replace is_a() by instanceof.
  • #1145180: convert payment method documentation from http://www.drupalcommerce.org/specification/info-hooks/payment as a proper API documentation.
  • Add an administer payment methods permission and allow payment methods to declare a file property indicating a file to include relative to the module that contains the payment method's callback functions.
  • Remove the 'Line items' label on the customer order view page.
  • Pass the proper account variable through to our user_access() checks in commerce_payment_transaction_access().
  • #1066540 by rszrama: restrict access to customer order view pages if the order is in a 'cart' status.
  • #1172580 by rszrama: fix the Cart tests to look for the proper submit button name when checking for the Update button.
  • Split the fetching of a user's cart order ID out into a separate API function and use that within commerce_cart_order_load(). Rename commerce_cart_orders_reset() to a more accurate commerce_cart_order_ids_reset().
  • #1172580 by rszrama: use the correct key to rename Delete buttons to Remove and add our submit handler to them.
  • #1172580 by bojanz - Make Commerce use the new Views form functionality, instead of relying on its own.
  • #1155682 by mikejoconnor: fix image file access for image fields on products when using the private file system.
  • #1110334 by guillaumev: add support for automatically redirecting from the Payment redirect page to an offsite payment method.
  • #1143702 by mikejoconnor: do not display items in the review pane that do not return any data for review.
  • #1061330 by Haza, mikejoconnor: remove an unused currency and minor unit declaration.
  • Properly initialize the Commerce Cart settings array for our instances in the attribute field tests.
  • #1167452 by Damien Tournoud: prevent the Add to Cart form from attempting to load every product on the site.
  • #1181888 by mikejoconnor: update the line item manager widget to allow line item add forms to preemptively override the save line item button with a different form element; allows the product line item to disable the button if no products exist to add to the order.
  • #1179782 by sun-fire: add proper currency formatting for Ukrainian Hryvnia.
  • #1038320 by rszrama, rbayliss: removed the magic configuration requirements for product attribute fields on the Add to Cart form and added an update function to preserve the functionality for existing attribute fields.
  • #928240 by rbayliss: hide the throbber please wait message on the line item manager widget and the add payment form.
  • #1095990 by recrit, rszrama: allow the line item manager widget to be safely used for fields other than the default commerce_line_items field defined for Orders.
  • Removed an empty test file and its declaration.
  • Follow up to Damien's #1175490, remove some todo items from the Product UI test related to the fix.
  • Fixing some default values in entity controller creation methods.
  • #1175612 by xy2: fix the thousands and decimal separators for the Ruble.
  • #1175490 by Damien Tournoud: finally fix our product UI tests by resetting ['q']. Yay!
  • #1174554 by rfay: update the Checkout tests to accommodate the most recent checkout completion message.
  • #1140908 by rszrama: further simplify the currency formatting function with regards to negative prices.
  • #1140908 by rszrama: fix the double-negative issue with formatting negative price amounts.
  • #1174744 by rfay: fixed Payment UI tests related to the changed price amount data type.
  • #1174776 by rfay: fix a variety of product tests to accommodate the changed price amount variable type.
  • #1174800 by rfay: remove an assertion from a Tax UI test for a deprecated form element.
  • #1174470 by rfay: fix an outdated Cart test to accommodate the new model of price amount storage.
  • #1174446 by rfay: properly accommodate missing data arrays in price fields on load.
  • #1174206 by Damien Tournoud: add missing weight values in field instance creator helper functions.
  • #1166450 by Damien Tournoud, bojanz: add format keys to our various text area handler arrays in default Views.
  • #1168114 by Haza: add currency formatting for South African Rand per martinduys' recommendation.
  • Correct the logic to display a message about the limitations of the customer profile manager widget.
  • #1162810 by esmerel, rszrama: remove duplication of machine name field label on the product type add form.
  • #1101694 by Damien Tournoud: use the raw value of product field data when building and comparing options on the Add to Cart form (as opposed to the wrapper loaded value, which might be a referenced entity instead of that entity's ID).
  • #1032598 by rszrama: add entity URI callbacks for the customer profile, order, and payment transaction entities as they are for the product entity; also added our uri hooks to hook_hook_info().
  • #1059402 by rfay: use ['triggering_element'] insetad of ['clicked_button'].
  • #1141056 by Damien Tournoud: fix price field widget validation to allow for empty field values.
  • #1146516 by bojanz - Commerce metadata (property info) needs an update.
  • #1155792 by Damien Tournoud: round before casting to an integer when converting from a decimal to a price amount integer.
  • #1144704 by ASupinski, rbayliss, rszrama: implement hook_hook_info() so Commerce hooks can be implemented on module .commerce.inc files.
  • #1038846 by rszrama: add the Rules event 'When an order is first paid in full' and document the corresponding hook_commerce_payment_order_paid_in_full().
  • #1038846 by rszrama: add a Rules condition to check the unpaid balance of an order.
  • #1156760 by googletorp, commerce entities is created with empty values.
  • #1155486 by das-peter: follow-up clarification of the i18n_field integration patch.
  • #1155486 by das-peter: provide Add to Cart form integration with i18n_field for attribute select list options.
  • #1147768 by Damien Tournoud, rbayliss: check for created timestamps using isset() instead of empty() in entity controllers.
  • #1070180 by Artusamak, rszrama: add a configurable checkout completion message that uses site and order tokens and the user selected text format.
  • #1031056 by rbayliss: change the payment transaction delete link Views handler to use commerce_payment_transaction_access() for a proper access check on the link's visibility.
  • #1140302 by rszrama: standardize the order of presave hooks in our entity controllers, removing a duplicate presave invocation in the Order controller.
  • #1098974 by rszrama: add conditions to check the quantity of a specific product on an order and the total quantity of all products on an order.
  • Add an optional parameter to commerce_cart_product_add() to bypass combining like products in the same line item.
  • #1145412 by googletorp, use line item menu path for contextual links.
  • #928240 by rbayliss: fix floating problems with the line item manager widget and payment add forms and the throbber.
  • #1108752 by eltermann: updated the API docs formatting and made corrections to API documentation on DrupalCommerce.org.
  • #1029936 by rszrama: add at least the first order ID to the deletion message.
  • #1124416 by moshe weitzman: use db_truncate() instead of directly truncating tables with db_query().
  • #1094972 by TheWizz: only supply a default order number on insert if no number is set yet.
Created by: rszrama
Created on: 11 Jun 2011 at 06:02 UTC
Last updated: 1 Aug 2018 at 23:53 UTC
New features
Bug fixes
Insecure

Other releases