Skip to content

Instantly share code, notes, and snippets.

Created November 3, 2013 19:59

Revisions

  1. @invalid-email-address Anonymous created this gist Nov 3, 2013.
    40 changes: 40 additions & 0 deletions after.php
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,40 @@
    <?php


    class ContentEntityFormController extends EntityFormController {

    public function getFormLangcode(array &$form_state) {
    if (empty($form_state['langcode'])) {
    $form_state['langcode'] = $this->entityManager->getTranslationFromContext($this->entity)->language()->id;
    }
    return $form_state['langcode'];
    }

    private function entityManager() {
    if (!$this->entityManager) {
    $this->entityManager = \Drupal::entityManager();
    }
    $this->entityManager = $entity_manager;
    }

    /**
    * Optional to simplify unit testing.
    */
    public function setEntityManager(EntityManagerInterface $entity_manager) {
    $this->entityManager = $entity_manager;
    }
    }

    class BookOutlineForm extends ContentEntityFormController {

    public function __construct(BookManager $book_manager) {
    $this->bookManager = $book_manager;
    }

    public static function create(ContainerInterface $container) {
    return new static(
    $container->get('book.manager')
    );
    }

    }
    31 changes: 31 additions & 0 deletions before.php
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,31 @@
    <?php

    class ContentEntityFormController extends EntityFormController {

    public function __construct(EntityManagerInterface $entity_manager) {
    $this->entityManager = $entity_manager;
    }

    public function getFormLangcode(array &$form_state) {
    if (empty($form_state['langcode'])) {
    $form_state['langcode'] = $this->entityManager->getTranslationFromContext($this->entity)->language()->id;
    }
    return $form_state['langcode'];
    }
    }

    class BookOutlineForm extends ContentEntityFormController {

    public function __construct(EntityManagerInterface $entity_manager, BookManager $book_manager) {
    parent::__construct($entity_manager);
    $this->bookManager = $book_manager;
    }

    public static function create(ContainerInterface $container) {
    return new static(
    $container->get('entity.manager'),
    $container->get('book.manager')
    );
    }

    }