/** * {@inheritdoc} */ public function buildRow(EntityInterface $entity) { /** @var \Drupal\payment\Entity\PaymentMethodConfigurationInterface $payment_method_configuration */ $payment_method_configuration = $entity; $row['data']['label'] = $payment_method_configuration->label(); $plugin_definition = $this->paymentMethodConfigurationManager->getDefinition($payment_method_configuration->getPluginId()); $row['data']['plugin'] = isset($plugin_definition['label']) ? $plugin_definition['label'] : $this->t('Unknown'); $row['data']['owner']['data'] = array('#theme' => 'username', '#account' => $payment_method_configuration->getOwner()); $row['data']['status'] = $payment_method_configuration->status() ? $this->t('Enabled') : $this->t('Disabled'); $operations = $this->buildOperations($entity); $row['data']['operations']['data'] = $operations; if (!$payment_method_configuration->status()) { $row['class'] = array('payment-method-configuration-disabled'); } return $row; }
/** * {@inheritdoc} */ public function form(array $form, FormStateInterface $form_state) { /** @var \Drupal\payment\Entity\PaymentMethodConfigurationInterface $payment_method_configuration */ $payment_method_configuration = $this->getEntity(); $definition = $this->paymentMethodConfigurationManager->getDefinition($payment_method_configuration->getPluginId()); $form['type'] = array('#type' => 'item', '#title' => $this->t('Type'), '#markup' => $definition['label']); $form['status'] = array('#type' => 'checkbox', '#title' => $this->t('Enabled'), '#default_value' => $payment_method_configuration->status()); $form['label'] = array('#type' => 'textfield', '#title' => $this->t('Label'), '#default_value' => $payment_method_configuration->label(), '#maxlength' => 255, '#required' => TRUE); $form['id'] = array('#type' => 'machine_name', '#default_value' => $payment_method_configuration->id(), '#maxlength' => 255, '#required' => TRUE, '#machine_name' => array('source' => array('label'), 'exists' => array($this, 'paymentMethodConfigurationIdExists')), '#disabled' => !$payment_method_configuration->isNew()); $form['owner'] = array('#target_type' => 'user', '#type' => 'entity_autocomplete', '#title' => $this->t('Owner'), '#default_value' => $payment_method_configuration->getOwner() ? $payment_method_configuration->getOwner() : $this->currentUser, '#required' => TRUE); if ($form_state->has('payment_method_configuration')) { $payment_method_configuration_plugin = $form_state->get('payment_method_configuration'); } else { $payment_method_configuration_plugin = $this->paymentMethodConfigurationManager->createInstance($payment_method_configuration->getPluginId(), $payment_method_configuration->getPluginConfiguration()); $form_state->set('payment_method_configuration', $payment_method_configuration_plugin); } $form['plugin_form'] = array('#tree' => TRUE) + $payment_method_configuration_plugin->buildConfigurationForm([], $form_state); return parent::form($form, $form_state); }
/** * Returns the title for the payment method configuration add form. * * @param string $plugin_id * * @return string */ public function title($plugin_id) { $plugin_definition = $this->paymentMethodConfigurationManager->getDefinition($plugin_id); return $this->t('Add %label payment method configuration', ['%label' => $plugin_definition['label']]); }