You are here

function commerce_invoice_field_widget_multivalue_form_alter in Commerce Invoice 8.2

Implements hook_field_widget_multivalue_form_alter().

File

./commerce_invoice.module, line 191
Defines the Invoice entity and associated features.

Code

function commerce_invoice_field_widget_multivalue_form_alter(array &$elements, FormStateInterface $form_state, array $context) {
  $field_definition = $context['items']
    ->getFieldDefinition();
  if ($field_definition
    ->getTargetEntityTypeId() === 'commerce_invoice_item' && $field_definition
    ->getName() === 'adjustments') {

    // Invoice item adjustments can be modified, just like their quantity and
    // unit price, but users shouldn't be able to add new adjustments at that
    // level.
    foreach ($context['items'] as $delta => $item) {
      if ($item
        ->isEmpty()) {
        unset($elements[$delta]);
        $elements['#max_delta']--;
      }
    }
    $elements['add_more']['#access'] = FALSE;
  }
}