Adding spokenLanguages to Person (Entity and Form)

This commit is contained in:
Marc Ducobu 2014-11-26 13:02:21 +01:00
parent 8a65274fbc
commit ae36da3366
3 changed files with 41 additions and 3 deletions

View File

@ -23,6 +23,7 @@ namespace Chill\PersonBundle\Entity;
use Symfony\Component\Validator\ExecutionContextInterface;
use Chill\MainBundle\Entity\Country;
use Doctrine\Common\Collections\ArrayCollection;
/**
* Person
@ -104,16 +105,22 @@ class Person {
* @var string
*/
private $phonenumber = '';
/**
* The spoken languages (ArrayCollection of Languages)
* @var \Doctrine\Common\Collections\ArrayCollection
*/
private $spokenLanguages;
public function __construct(\DateTime $opening = null) {
$this->history = new \Doctrine\Common\Collections\ArrayCollection();
$this->history = new ArrayCollection();
$this->spokenLanguages = new ArrayCollection();
if ($opening === null) {
$opening = new \DateTime();
}
$this->open(new PersonHistoryFile($opening));
}
/**
@ -530,7 +537,29 @@ class Person {
{
return $this->getLabel();
}
/**
* Set spokenLanguages
*
* @param type $spokenLanguages
* @return Person
*/
public function setSpokenLanguages($spokenLanguages)
{
$this->spokenLanguages = $spokenLanguages;
return $this;
}
/**
* Get spokenLanguages
*
* @return ArrayCollection
*/
public function getSpokenLanguages()
{
return $this->spokenLanguages;
}
// VALIDATION
public function isHistoryValid(ExecutionContextInterface $context) {

View File

@ -53,6 +53,10 @@ class PersonType extends AbstractType
->add('nationality', 'select2_chill_country', array(
'required' => false
))
->add('spokenLanguages', 'select2_chill_language', array(
'required' => false,
'multiple' => true
))
;
if($options['cFGroup']) {

View File

@ -53,4 +53,9 @@ Chill\PersonBundle\Entity\Person:
targetEntity: PersonHistoryFile
mappedBy: person
cascade: [persist, remove, merge, detach]
manyToMany:
spokenLanguages:
targetEntity: Chill\MainBundle\Entity\Language
joinTable:
name: persons_spoken_languages
lifecycleCallbacks: { }