/**
  * {@inheritdoc}
  */
 public function submitForm(array &$form, FormStateInterface $form_state)
 {
     $enabled_methods = array_filter($form_state->getValue('enabled'));
     ksort($enabled_methods);
     $method_weights = $form_state->getValue('weight');
     ksort($method_weights);
     $machine_name = $form_state->getValue(array('bundle', 'machine_name'));
     // If this is a new bundle, create it.
     if ($form_state->getValue(array('bundle', 'bundle_select')) == self::NEW_BUNDLE_SELECT_VALUE) {
         $bundle = $this->assigner->createBundleFromDefault($machine_name);
     } else {
         $bundle = $this->assigner->loadBundle();
         $old_name = $bundle->getMachineName();
         $new_name = $form_state->getValue(array('bundle', 'machine_name'));
         if ($old_name != $new_name) {
             $bundle = $this->assigner->renameBundle($old_name, $new_name);
         }
     }
     $bundle->setName($form_state->getValue(array('bundle', 'name')));
     $bundle->setDescription($form_state->getValue(array('bundle', 'description')));
     $bundle->setEnabledAssignments(array_keys($enabled_methods));
     $bundle->setAssignmentWeights($method_weights);
     $bundle->setIsProfile($form_state->getValue(array('bundle', 'is_profile')));
     $bundle->setProfileName($form_state->getValue(array('bundle', 'profile_name')));
     $bundle->save();
     $this->assigner->setBundle($bundle);
     $this->assigner->setCurrent($bundle);
     $form_state->setRedirect('features.assignment');
     drupal_set_message($this->t('Package assignment configuration saved.'));
 }
  /**
   * {@inheritdoc}
   */
  public function submitForm(array &$form, FormStateInterface $form_state) {

    $enabled_methods = array_filter($form_state->getValue('enabled'));
    ksort($enabled_methods);
    $method_weights = $form_state->getValue('weight');
    ksort($method_weights);

    $current_bundle = $this->assigner->getBundle();
    $old_name = $current_bundle->getMachineName();
    $new_name = $form_state->getValue(array('bundle', 'machine_name'));
    if ($old_name != $new_name) {
      $current_bundle = $this->assigner->renameBundle($old_name, $new_name);
    }
    $current_bundle->setName($form_state->getValue(array('bundle', 'name')));
    $current_bundle->setDescription($form_state->getValue(array('bundle', 'description')));
    $current_bundle->setEnabledAssignments(array_keys($enabled_methods));
    $current_bundle->setAssignmentWeights($method_weights);
    $current_bundle->setIsProfile($form_state->getValue(array('bundle', 'is_profile')));
    $current_bundle->setProfileName($form_state->getValue(array('bundle', 'profile_name')));
    $current_bundle->save();
    $this->assigner->setBundle($current_bundle);

    $form_state->setRedirect('features.assignment');
    drupal_set_message($this->t('Package assignment configuration saved.'));
  }