diff --git a/src/CL/CustomFieldsBundle/Entity/Adress.php b/src/CL/CustomFieldsBundle/Entity/Adress.php
index 9a472f279..b0eb5028e 100644
--- a/src/CL/CustomFieldsBundle/Entity/Adress.php
+++ b/src/CL/CustomFieldsBundle/Entity/Adress.php
@@ -20,7 +20,7 @@ class Adress
public function __toString()
{
- return $this->data;
+ return $this->data . '(id:' .$this->id .')';
}
/**
diff --git a/src/CL/CustomFieldsBundle/Form/DataTransformer/JsonCustomFieldToArrayTransformer.php b/src/CL/CustomFieldsBundle/Form/DataTransformer/JsonCustomFieldToArrayTransformer.php
index 029a84c7f..3aa088542 100644
--- a/src/CL/CustomFieldsBundle/Form/DataTransformer/JsonCustomFieldToArrayTransformer.php
+++ b/src/CL/CustomFieldsBundle/Form/DataTransformer/JsonCustomFieldToArrayTransformer.php
@@ -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 "
- 1 -
";
-
- var_dump($customFields);
-
- echo "
- 2 -
";
-
- var_dump($customFieldsLablels);
-
- echo "
- 3 -
";
-
- var_dump($customFieldsByLabel);
- */
-
$this->customField = $customFieldsByLabel;
}
@@ -56,13 +43,12 @@ class JsonCustomFieldToArrayTransformer implements DataTransformerInterface {
}
/*
-
echo "
- 4 -
";
var_dump($customFieldsArray);
echo "
- 5 -
";
- ยจ*/
+ */
$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;
}
@@ -98,9 +86,10 @@ class JsonCustomFieldToArrayTransformer implements DataTransformerInterface {
{
/*
echo "
- - 7 -
";
+
var_dump(array_keys($customFieldsArray));
-
+
echo "
- - 8 -
";
var_dump(array_keys($this->customField));
@@ -108,6 +97,8 @@ class JsonCustomFieldToArrayTransformer implements DataTransformerInterface {
echo "
- - 9 -
";
*/
+ //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);
}
diff --git a/src/CL/CustomFieldsBundle/Form/Type/CustomFieldType.php b/src/CL/CustomFieldsBundle/Form/Type/CustomFieldType.php
index 67c52c20b..a664d874f 100644
--- a/src/CL/CustomFieldsBundle/Form/Type/CustomFieldType.php
+++ b/src/CL/CustomFieldsBundle/Form/Type/CustomFieldType.php
@@ -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());