Exemplo n.º 1
0
 /**
  * Form submit callback: remove a product from an order.
  */
 public function removeProduct($form, FormStateInterface $form_state)
 {
     $form_state->set('refresh_products', TRUE);
     /** @var \Drupal\uc_order\Entity\Order $order */
     $order = $form['#order'];
     $triggering_element = $form_state->getTriggeringElement();
     $order_product_id = intval($triggering_element['#return_value']);
     /** @var \Drupal\uc_order\Entity\OrderProduct $product */
     $product = $order->products[$order_product_id];
     if (\Drupal::moduleHandler()->moduleExists('uc_stock')) {
         // Replace stock immediately.
         uc_stock_adjust($product->model->value, $product->qty->value);
     }
     $product->delete();
     unset($order->products[$order_product_id]);
     $order->logChanges([$this->t('Removed %title from order.', ['%title' => $product->title->value])]);
 }
Exemplo n.º 2
0
/**
 * Responds to order product deletion.
 */
function hook_uc_order_product_delete($order_product_id)
{
    // Put back the stock.
    $product = db_query("SELECT model, qty FROM {uc_order_products} WHERE order_product_id = :id", array(':id' => $order_product_id))->fetchObject();
    uc_stock_adjust($product->model, $product->qty);
}