There's some code in commerce_node_checkout_expire.install that I think should be in commerce_node_checkout.install instead, specifically:

/**
 * Implements hook_uninstall().
 */
function commerce_node_checkout_expire_uninstall() {
  // Remove the node-type variables
  foreach (node_type_get_names() as $type => $name) {
    variable_del('commerce_node_checkout_products_' . $type);
  }
  
<snip>

}

As it stands, if I run the uninstall for commerce_node_checkout_expire, it breaks the connection between the node types and their products, even though I don't uninstall commerce_node_checkout itself.

In other words, on https://www.example.com/admin/structure/types/manage/CONTENT_TYPE_NAME, "commerce node checkout" tab, nothing is checked after commerce_node_checkout_expire is uninstalled, even though the main module remains installed and enabled.

From the user's point of view, the node is submitted successfully, but there is nothing in the shopping cart.

I commented out the "foreach" quoted above and everything worked fine.

If moving that code to commerce_node_checkout.install sounds correct I can submit a patch.

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

rclemings created an issue. See original summary.

rclemings’s picture