Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
Install
Works with Drupal: 8.xUsing Composer to manage Drupal site dependencies
Alternative installation files
Download ubercart-8.x-4.0-alpha4.tar.gztar.gz
607.39 KB
MD5: 9dd214b390110e962ddd992e1ad5bb2e
SHA-1: 4fa6a18cab30231014ddda6c6239b68ca88b6c11
SHA-256: e7a3beb02b3aab15e19986babadd81b11e85fb4630c2c633dbbea3f1991c83d8
Download ubercart-8.x-4.0-alpha4.zipzip
1.05 MB
MD5: da7577d0bb0eedd893adec96ffb7b28a
SHA-1: 255e3da7e7f8917e9a77331b704c71a8453ab849
SHA-256: 6bab0872dc4449c8b586cac63e626f4675083caa7305fd350e7a94dc2cb3475d
Release notes
Fourth alpha release. Major changes in this release include:
- Line items and tax rates are now plugins.
- Order fulfilment has had further significant improvements.
- PayPal IPN verification is fully working.
Changes since 8.x-4.0-alpha3:
- #2647840 by longwave, TR: Remove hook_uc_order('submit')
- #2679056 by longwave: CatalogBreadcrumbBuilder is broken
- #2625276: Rename PayPal Website Payments Standard to PayPal Payments Standard.
- #2626132 by longwave: Convert line item types to plugins
- #2676878 by TR: Fix views schemas for uc_catalog
- Disable caching on checkout review and complete pages.
- #2625276: Fix PayPal IPN verification.
- Adjust tests to work with new subtotal markup on cart and checkout pages.
- Move subtotal out of row and into table footer on cart page. Theme appropriately.
- Move subtotal out of row and into table footer on cart-review checkout pane. Theme appropriately.
- Remove checkPlain where appropriate.
- Accesses delivery_not_shippable in it's new location.
- Initialize pane settings in uc_cart.settings.
- Follow up to f68b53a - forgot some use statements
- Add configuration schema for checkout panes. Refactor address panes to contain their own settings.
- Type hint to use interface.
- Define function in CartItem interface, not just in class.
- #2641764: Remove uc_cybersource from Ubercart core in D8
- Remove escaped markup from /node/%/edit/options form.
- instanceof should check interface type, not class type.
- #2671048 by Ayesh, longwave: Add CSRF protection to entity and configuration enable, disable and other operation links
- Product attributes should appear in same table row as product name in expanded cart block.
- Make product attributes look better in Bartik at /cart, /cart/checkout, and /cart/checkout/review
- Replace explicit HTML with build array on /cart/checkout/review table.
- Remove striping from products table on /cart/checkout and /cart/checkout/review
- Escaped markup on checkout review when using check payment method.
- #2675930 by TR: Code showing on review order page
- Replace explicit div with #type container.
- Remove jurisdiction from table, for D7 compatibility.
- List builder help should be in list builder class, not in hook__help().
- Follow up to d5850f9.
- #2672628 by TR: More TaxRate tests.
- Minor fixes.
- #2672628 by TR: Refactor tax tests, add helper function to create a tax rate.
- #2672628 by TR: Convert TaxRate entities to use plugins, Part I.
- PaymentMethod::isLocked() not defined in PaymentMethodInterface. Also add setLocked().
- Some changes to improve responsiveness of order panes.
- Remove unneeded SafeMarkup from list builder.
- Move cart 'Products' header over the product name column, make the image column responsive priority low.
- Alter uc_quote_product_locations schema, as zone and country are no longer stored as integers.
- uc_product_is_product_form() was broken, bundle is no longer saved in $form['#bundle'].
- getFormID() -> getFormId()
- Use render arrays instead of hand-coding table tags. Port table cell classes so that the order edit page is formatted correctly.
- Replace #suffix => Link->toString() with #type => link. This allows us to carry around the render array, take better advantage of caching, and defer rendering so that our markup is better.
- Load product weight_units when package is loaded. Assemble package description better.
- Don't hardwire package weight on load.
- Better initialization of values on ShipmentEditForm.
- Fix Cancel button on add order status form.
- Stock report: Replace Link:: with #type link, remove explicit
, use #type operations instead of text links. Fix link back to product page in report.
- Display correct UNITS for length and weight of package.
- Package::load() loads the package product array, don't need to do it again from the {uc_order_products} table.
- Use uc_price instead of textfield on OrderPaymentsForm, some general code cleanup.
- Initialize Package better, this simplifies save() among other things.
- Use OrderProduct entity to store package_id instead of directly accessing {uc_order_products} table.
- #2670778 by longwave: Move credit card validation methods to credit card plugin.
- #2670800 by longwave: Fix MissingMandatoryParametersException: Some mandatory parameters are missing ("user") to generate a URL for route "entity.uc_order.display".
- #2667930 by TR: Paypal Fatal error: Call to undefined method
- Some new tests for making shipments.
- New Package::addProducts() function. Replace last usages of $package->products by ->getProducts()/setProducts()/addProducts() and mark Package::$products as protected.
- Replace some some db_ calls with API, coding standards, cleanup.
- #2647840 by longwave, TR: Remove hook_uc_order('new')
- Missed adding type to TestGateway function.
- Don't need isset() now that we have a real class with defined properties and initialized values.
- Some function documentation - @param and @var.
- #2625022 by TR: Make tests pass on PostgreSQL
- Remove unused methods.
- Followup to issue #2658792: OrderPanePluginInterface::getClasses() should return array instead of string
- #2658792 by TR: OrderPanePluginInterface::getClasses() should return array instead of string
- #2666782 by TR: Remove theme_uc_uid()
- #2246817 by longwave: Simplify order link and URI generation.
- #2246817 by longwave: Simplify node link and URI generation.
- #2667510 by longwave: Attribute tabs show up on non-product content types
- Display list of products on packing slip.
- Cart Links reports depend on Views, so make it a module dependency.
- Fix br in billing and shipping addresses on packing slip.
- Merge branch '8.x-4.x' of git.drupal.org:project/ubercart into 8.x-4.x
- Use $this->t() when available, instead of t().
- Remove extraneous arguments to theme username.
- Order log shows bogus entries caused by comparing empty address fields.
- #2663130 by TR: Store, Billing & Shipping Address Render problem
- #2664320 by longwave: Random fail in AjaxTest
- #2667334 by TR: Fatal Error with token installed
- Add Back button to print invoice page.
- Remove db_ calls and use Package/Shipment API instead.
- #2667296 by longwave: Finish product feature permissions
- #2665302 by longwave: ProductAccessCheck uses obsolete StaticAccessCheckInterface
- #2663130 by TR: Fix store address token so it doesn't contain escaped b tags.
- Some address-related fixes.
- Use Package setters/getters, protect properties.
- Add package currency code and weight/weight units.
- Make checkboxes work.
- Remove checkPlain, replace with render array.
- Access function must return an AccessResult
- Shorten some config names, replace explicit divs with container form elements.
- Cleanup in uc_file.
- Remove Xss and SafeMarkup, use render arrays.
- Use '#type' => 'link' instead of Link.
- Change code that handles routes containing package_id to use the new ParamConverter that loads the Package object.
- Define PackageInterface, make Package implement interface.
- #2664092 by TR, longwave: Remove "new Address()", replace with "Address::create()", protect constructor.
- Remove explicit HTML from view shipment page.
- Add 'Back' button to print shipment packing slip page.
- Redo of reverted patch 1f6048, 'More uc_fulfillment tests, now that making a shipment is working.'
- Make shipping properties protected.
- Page title callbacks for shipments, plus minor cleanup.
- Rework of reverted commits 40a194 and ea6b8f, 'Fix code that handles routes containing shipment_id to use the new ParamConverter that loads the Shipment object.' and 'Improve address handling in uc_fulfillment.'
- Redo of reverted commit 5dca1c, 'Fix tracking order pane: Remove SQL and use Shipment API instead. Port item_list build array to D8.'
- uc_quote_get_default_shipping_address() should return an Address. Other changes to handle default ship-from address config.
- Redo of reverted commit 0b859, 'Fix packing slip rendering so it doesn't white screen. Still ugly ...'
- Redo reverted commit 568ce, 'Convert packing slip templates to Twig.'
- Redo reverted commit ed8383 'Add currency code to the uc_shipments schema (can't store a cost without knowing the units...). Add phone and e-mail to both the origin and destination addresses stored in the uc_shipments table.'
- Redo part of reverted commit 9f8ac, 'Add ShipmentInterface and corresponding getter/setter methods on Shipment.'