/** * {@inheritdoc} */ public function save(array $form, FormStateInterface $form_state) { $type = $this->entity; $type->setNewRevision($form_state->getValue(array('options', 'revision'))); $type->set('type', trim($type->id())); $type->set('name', trim($type->label())); $status = $type->save(); $t_args = array('%name' => $type->label()); if ($status == SAVED_UPDATED) { drupal_set_message(t('The support ticket type %name has been updated.', $t_args)); } elseif ($status == SAVED_NEW) { support_ticket_add_body_field($type); // @todo drupal_set_message(t('The support ticket type %name has been added.', $t_args)); $context = array_merge($t_args, array('link' => $type->link($this->t('View'), 'collection'))); $this->logger('support_ticket')->notice('Added support ticket type %name.', $context); } $fields = $this->entityManager->getFieldDefinitions('support_ticket', $type->id()); // Update title field definition. $title_field = $fields['title']; $title_label = $form_state->getValue('title_label'); if ($title_field->getLabel() != $title_label) { $title_field->getConfig($type->id())->setLabel($title_label)->save(); } // Update workflow options. $support_ticket = $this->entityManager->getStorage('support_ticket')->create(array('support_ticket_type' => $type->id())); foreach (array('status', 'locked') as $field_name) { $value = (bool) $form_state->getValue(['options', $field_name]); if ($support_ticket->{$field_name}->value != $value) { $fields[$field_name]->getConfig($type->id())->setDefaultValue($value)->save(); } } $this->entityManager->clearCachedFieldDefinitions(); $form_state->setRedirectUrl($type->urlInfo('collection')); }
/** * {@inheritdoc} */ public function save(array $form, FormStateInterface $form_state) { $type = $this->entity; $type->setNewRevision($form_state->getValue(array('options', 'revision'))); $type->set('type', trim($type->id())); $type->set('name', trim($type->label())); $status = $type->save(); $t_args = array('%name' => $type->label()); if ($status == SAVED_UPDATED) { drupal_set_message(t('The content type %name has been updated.', $t_args)); } elseif ($status == SAVED_NEW) { drupal_set_message(t('The content type %name has been added.', $t_args)); $context = array_merge($t_args, array('link' => $type->link($this->t('View'), 'collection'))); $this->logger('log')->notice('Added content type %name.', $context); } $fields = $this->entityManager->getFieldDefinitions('log', $type->id()); // Update title field definition. $title_field = $fields['title']; $title_label = $form_state->getValue('title_label'); // Update workflow options. // @todo Make it possible to get default values without an entity. // https://www.drupal.org/node/2318187 $node = $this->entityManager->getStorage('log')->create(array('type' => $type->id())); $this->entityManager->clearCachedFieldDefinitions(); $form_state->setRedirectUrl($type->urlInfo('collection')); }
/** * {@inheritdoc} */ public function save(array $form, FormStateInterface $form_state) { $type = $this->entity; $type->setNewRevision($form_state->getValue(array('options', 'revision'))); $type->type = trim($type->id()); $type->name = trim($type->name); $status = $type->save(); $t_args = array('%name' => $type->label()); if ($status == SAVED_UPDATED) { drupal_set_message(t('The content type %name has been updated.', $t_args)); } elseif ($status == SAVED_NEW) { drupal_set_message(t('The content type %name has been added.', $t_args)); $context = array_merge($t_args, array('link' => $this->l(t('View'), new Url('node.overview_types')))); $this->logger('node')->notice('Added content type %name.', $context); } $fields = $this->entityManager->getFieldDefinitions('node', $type->id()); // Update title field definition. $title_field = $fields['title']; $title_label = $form_state->getValue('title_label'); if ($title_field->getLabel() != $title_label) { $title_field->getConfig($type->id())->setLabel($title_label)->save(); } // Update workflow options. // @todo Make it possible to get default values without an entity. // https://www.drupal.org/node/2318187 $node = $this->entityManager->getStorage('node')->create(array('type' => $type->id())); foreach (array('status', 'promote', 'sticky') as $field_name) { $value = (bool) $form_state->getValue(['options', $field_name]); if ($node->{$field_name}->value != $value) { $fields[$field_name]->getConfig($type->id())->setDefaultValue($value)->save(); } } $this->entityManager->clearCachedFieldDefinitions(); $form_state->setRedirect('node.overview_types'); }
/** * {@inheritdoc} */ public function save(array $form, FormStateInterface $form_state) { $type = $this->entity; $type->type = trim($type->id()); $type->name = trim($type->name); $status = $type->save(); $t_args = array('%name' => $type->label()); if ($status == SAVED_UPDATED) { drupal_set_message(t('The entity bundle %name has been updated.', $t_args)); } elseif ($status == SAVED_NEW) { drupal_set_message(t('The entity bundle %name has been added.', $t_args)); $context = array_merge($t_args, array('link' => $this->l(t('View'), new Url('eck.entity.' . $type->getEntityType()->getBundleOf() . '_type.list')))); $this->logger($this->entity->getEntityTypeId())->notice('Added entity bundle %name.', $context); } $fields = $this->entityManager->getFieldDefinitions($type->getEntityType()->getBundleOf(), $type->id()); // Update title field definition. $title_field = $fields['title']; $title_label = $form_state->getValue('title_label'); if ($title_field->getLabel() != $title_label) { $title_field->getConfig($type->id())->setLabel($title_label)->save(); } // Update workflow options. // @todo Make it possible to get default values without an entity. // https://www.drupal.org/node/2318187 $node = $this->entityManager->getStorage($type->getEntityType()->getBundleOf())->create(array('type' => $type->id())); $this->entityManager->clearCachedFieldDefinitions(); $form_state->setRedirect('eck.entity.' . $type->getEntityType()->getBundleOf() . '_type.list'); }
/** * {@inheritdoc} */ public function submitForm(array &$form, FormStateInterface $form_state) { parent::submitForm($form, $form_state); $values = $form_state->getValues(); $this->config('ds.settings') ->set('field_template', $values['fs1']['field_template']) ->set('ft-default', $values['fs1']['ft-default']) ->set('ft-show-colon', $values['fs1']['ft-show-colon']) ->save(); $this->entityManager->clearCachedFieldDefinitions(); $this->moduleHandler->resetImplementations(); $this->themeRegistry->reset(); $this->routeBuilder->setRebuildNeeded(); \Drupal::cache('render')->deleteAll(); }
/** * {@inheritdoc} */ public function submitForm(array &$form, FormStateInterface $form_state) { $entity_types = ''; $values = $form_state->getValues(); $input_values = $form_state->getUserInput(); $config = $this->config('sharethis.settings'); // If the location change to/from 'content', clear the Field Info cache. $current_location = $config->get('location'); $new_location = $values['location']; if (($current_location == 'content' || $new_location == 'content') && $current_location != $new_location) { $this->entityManager->clearCachedFieldDefinitions(); } $entity_info = \Drupal::entityManager()->getAllBundleInfo('node'); if (isset($entity_info['node'])) { $entity_types = $entity_info['node']; } $config->set('button_option', $values['button_option'])->set('service_option', $values['service_option'])->set('option_extras', $values['option_extras'])->set('callesi', $values['callesi'])->set('location', $values['location'])->set('node_types', $input_values['node_types'])->set('comments', $values['comments'])->set('weight', $values['weight'])->set('publisherID', $values['publisherID'])->set('late_load', $values['late_load'])->set('twitter_suffix', $values['twitter_suffix'])->set('twitter_handle', $values['twitter_handle'])->set('twitter_recommends', $values['twitter_recommends'])->set('option_onhover', $values['option_onhover'])->set('option_neworzero', $values['option_neworzero'])->set('option_shorten', $values['option_shorten'])->set('cns.donotcopy', $input_values['cns']['donotcopy'])->set('cns.hashaddress', $input_values['cns']['hashaddress'])->save(); if (is_array($entity_types)) { foreach ($entity_types as $key => $entity_type) { $config->set('sharethisnodes.' . $key, $values[$key . '_options'])->save(); } } parent::submitForm($form, $form_state); }
/** * {@inheritdoc} */ public function clearCachedFieldDefinitions() { $this->entityManager->clearCachedFieldDefinitions(); }