You are here

function commerce_bulk_form_views_form_commerce_bulk_variations_tab_commerce_bulk_alter in Commerce Bulk 8

Implements hook_form_BASE_FORM_ID_alter().

File

./commerce_bulk.module, line 88
Contains commerce_bulk.module.

Code

function commerce_bulk_form_views_form_commerce_bulk_variations_tab_commerce_bulk_alter(&$form, FormStateInterface $form_state, $form_id) {
  if (!($product = \Drupal::request()->attributes
    ->get('commerce_product'))) {
    return;
  }
  $creator = \Drupal::service('commerce_bulk.variations_creator');
  $messenger = \Drupal::messenger();
  $variations = $product
    ->getVariations();
  $created = count($variations);
  $variations = $product
    ->getVariations() ?: [
    $creator
      ->getProductVariation($product),
  ];
  $all = $creator
    ->getNotUsedAttributesCombination($variations);
  extract($all);
  $form['#markup'] = new TranslatableMarkup('<div><h3>Variations:</h3><ul><li>Maximum: @count</li><li>Created: <span style="font-weight:bolder;color:red;">@created</span></li><li>Not used: @not_used</li></ul></div>', [
    '@count' => $count,
    '@created' => $created,
    '@not_used' => $count - $created,
  ]);
  if ($duplicated) {
    $placeholders = [
      '@variations' => $duplicated > 1 ? new TranslatableMarkup('variations') : new TranslatableMarkup('variation'),
      '@duplicated' => $duplicated,
      '@labels' => $all['duplications_list'],
    ];
    $warning = new TranslatableMarkup('You have @duplicated @variations duplicated: @labels', $placeholders);
    $messenger
      ->addMessage($warning, 'warning');
  }
}