mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-06-07 18:44:08 +00:00
ManyToMany (Choice)
This commit is contained in:
parent
f148c7e566
commit
f055af8228
@ -20,7 +20,7 @@ class Adress
|
||||
|
||||
public function __toString()
|
||||
{
|
||||
return $this->data;
|
||||
return $this->data . '(id:' .$this->id .')';
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -4,6 +4,7 @@ namespace CL\CustomFieldsBundle\Form\DataTransformer;
|
||||
|
||||
use Symfony\Component\Form\DataTransformerInterface;
|
||||
use Doctrine\Common\Persistence\ObjectManager;
|
||||
use Doctrine\Common\Collections\ArrayCollection;
|
||||
|
||||
class JsonCustomFieldToArrayTransformer implements DataTransformerInterface {
|
||||
/**
|
||||
@ -28,20 +29,6 @@ class JsonCustomFieldToArrayTransformer implements DataTransformerInterface {
|
||||
|
||||
$customFieldsByLabel = array_combine($customFieldsLablels, $customFields);
|
||||
|
||||
/*
|
||||
echo "<br> - 1 - <br>";
|
||||
|
||||
var_dump($customFields);
|
||||
|
||||
echo "<br> - 2 - <br>";
|
||||
|
||||
var_dump($customFieldsLablels);
|
||||
|
||||
echo "<br> - 3 - <br>";
|
||||
|
||||
var_dump($customFieldsByLabel);
|
||||
*/
|
||||
|
||||
$this->customField = $customFieldsByLabel;
|
||||
}
|
||||
|
||||
@ -56,13 +43,12 @@ class JsonCustomFieldToArrayTransformer implements DataTransformerInterface {
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
echo "<br> - 4 - <br>";
|
||||
|
||||
var_dump($customFieldsArray);
|
||||
|
||||
echo "<br> - 5 - <br>";
|
||||
¨*/
|
||||
*/
|
||||
|
||||
$customFieldsArrayRet = array();
|
||||
|
||||
@ -81,6 +67,8 @@ class JsonCustomFieldToArrayTransformer implements DataTransformerInterface {
|
||||
->getRepository('CLCustomFieldsBundle:' . $entityClass)
|
||||
->findOneById($value);
|
||||
$traited = true;
|
||||
} else if ($type === 'ManyToMany(Adress)') {
|
||||
$customFieldsArrayRet[$key] = $value;
|
||||
}
|
||||
}
|
||||
|
||||
@ -89,7 +77,7 @@ class JsonCustomFieldToArrayTransformer implements DataTransformerInterface {
|
||||
}
|
||||
}
|
||||
|
||||
//var_dump($customFieldsArray);
|
||||
var_dump($customFieldsArrayRet);
|
||||
|
||||
return $customFieldsArrayRet;
|
||||
}
|
||||
@ -99,6 +87,7 @@ class JsonCustomFieldToArrayTransformer implements DataTransformerInterface {
|
||||
/*
|
||||
echo "<br> - - 7 - <br>";
|
||||
|
||||
|
||||
var_dump(array_keys($customFieldsArray));
|
||||
|
||||
echo "<br> - - 8 - <br>";
|
||||
@ -108,6 +97,8 @@ class JsonCustomFieldToArrayTransformer implements DataTransformerInterface {
|
||||
echo "<br> - - 9 - <br>";
|
||||
*/
|
||||
|
||||
//var_dump($customFieldsArray);
|
||||
|
||||
$customFieldsArrayRet = array();
|
||||
|
||||
foreach ($customFieldsArray as $key => $value) {
|
||||
@ -147,7 +138,7 @@ class JsonCustomFieldToArrayTransformer implements DataTransformerInterface {
|
||||
|
||||
}
|
||||
|
||||
var_dump($customFieldsArrayRet);
|
||||
//echo json_encode($customFieldsArrayRet);
|
||||
|
||||
return json_encode($customFieldsArrayRet);
|
||||
}
|
||||
|
@ -42,10 +42,31 @@ class CustomFieldType extends AbstractType
|
||||
if($cf->getType() === 'ManyToOne(Adress)') {
|
||||
$builder->add($cf->getLabel(), 'entity', array(
|
||||
'class' => 'CLCustomFieldsBundle:Adress',
|
||||
'property' => 'data',
|
||||
'property' => 'data'
|
||||
));
|
||||
} else if ($cf->getType() === 'ManyToOnePersist(Adress)') {
|
||||
$builder->add($cf->getLabel(), new AdressType());
|
||||
} else if($cf->getType() === 'ManyToMany(Adress)') {
|
||||
|
||||
$adress = $this->om
|
||||
->getRepository('CLCustomFieldsBundle:Adress')
|
||||
->findAll();
|
||||
|
||||
$adressId = array_map(
|
||||
function($e) { return $e->getId(); },
|
||||
$adress);
|
||||
|
||||
$adressLabel = array_map(
|
||||
function($e) { return (string) $e; },
|
||||
$adress);
|
||||
|
||||
$addressChoices = array_combine($adressId, $adressLabel);
|
||||
|
||||
|
||||
$builder->add($cf->getLabel(), 'choice', array(
|
||||
'choices' => $addressChoices,
|
||||
'multiple' => true
|
||||
));
|
||||
}
|
||||
else {
|
||||
$builder->add($cf->getLabel(), $cf->getType());
|
||||
|
Loading…
x
Reference in New Issue
Block a user