/**
  * {@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'));
 }
Esempio n. 2
0
 /**
  * {@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');
 }
Esempio n. 4
0
 /**
  * {@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');
 }
Esempio n. 5
0
  /**
   * {@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);
 }
Esempio n. 7
0
 /**
  * {@inheritdoc}
  */
 public function clearCachedFieldDefinitions()
 {
     $this->entityManager->clearCachedFieldDefinitions();
 }