diff --git a/Command/CreateFieldsOnGroupCommand.php b/Command/CreateFieldsOnGroupCommand.php
index e91f85039..5e402f9b4 100644
--- a/Command/CreateFieldsOnGroupCommand.php
+++ b/Command/CreateFieldsOnGroupCommand.php
@@ -38,58 +38,56 @@ use Chill\CustomFieldsBundle\Entity\CustomField;
*/
class CreateFieldsOnGroupCommand extends ContainerAwareCommand
{
-
const ARG_PATH = 'path';
const ARG_DELETE = 'delete';
protected function configure()
{
$this->setName('chill:custom_fields:populate_group')
- ->setDescription('Create custom fields from a yml file')
- ->addArgument(self::ARG_PATH, InputOption::VALUE_REQUIRED,
- 'Path to description file')
- ->addOption(self::ARG_DELETE, null, InputOption::VALUE_NONE,
- 'If set, delete existing fields')
- ;
+ ->setDescription('Create custom fields from a yml file')
+ ->addArgument(self::ARG_PATH, InputOption::VALUE_REQUIRED,
+ 'Path to description file')
+ ->addOption(self::ARG_DELETE, null, InputOption::VALUE_NONE,
+ 'If set, delete existing fields');
}
protected function execute(InputInterface $input, OutputInterface $output)
{
$dialog = $this->getHelperSet()->get('dialog');
$em = $this->getContainer()
- ->get('doctrine.orm.default_entity_manager');
+ ->get('doctrine.orm.default_entity_manager');
$customFieldsGroups = $em
- ->getRepository('ChillCustomFieldsBundle:CustomFieldsGroup')
- ->findAll()
- ;
+ ->getRepository('ChillCustomFieldsBundle:CustomFieldsGroup')
+ ->findAll();
if (count($customFieldsGroups) === 0) {
$output->writeln('There aren\'t any CustomFieldsGroup recorded'
- . ' Please create at least one.');
+ . ' Please create at least one.');
}
$table = $this->getHelperSet()->get('table');
$table->setHeaders(array_merge(array('id', 'entity'), $this->getContainer()
- ->getParameter('chill_main.available_languages')))
- ->setRows($this->_prepareRows($customFieldsGroups));
+ ->getParameter('chill_main.available_languages')))
+ ->setRows($this->_prepareRows($customFieldsGroups));
$table->render($output);
$customFieldsGroup = $dialog->askAndValidate($output,
- "Enter the customfieldGroup's id on which the custom fields "
- . "should be added :",
- function($answer) use ($customFieldsGroups) {
+ "Enter the customfieldGroup's id on which the custom fields "
+ . "should be added :",
+ function($answer) use ($customFieldsGroups) {
foreach ($customFieldsGroups as $customFieldsGroup) {
if ($answer == $customFieldsGroup->getId()) {
return $customFieldsGroup;
}
}
-
+
throw new \RunTimeException('The id does not match an existing '
- . 'CustomFieldsGroup');
- }
- );
-
+ . 'CustomFieldsGroup');
+ }
+ );
+
+ // TODO : getCustomFields or getActiveCustomFields ?
if ($input->getOption(self::ARG_DELETE)) {
foreach ($customFieldsGroup->getCustomFields() as $field) {
$em->remove($field);
@@ -97,43 +95,41 @@ class CreateFieldsOnGroupCommand extends ContainerAwareCommand
}
$fieldsInput = $this->_parse($input->getArgument(self::ARG_PATH),
- $output);
+ $output);
$fields = $this->_addFields($customFieldsGroup, $fieldsInput, $output);
-
-
}
private function _prepareRows ($customFieldsGroups)
{
$rows = array();
$languages = $this->getContainer()
- ->getParameter('chill_main.available_languages');
+ ->getParameter('chill_main.available_languages');
//gather entitites and create an array to access them easily
$customizableEntities = array();
foreach ($this->getContainer()
- ->getParameter('chill_custom_fields.customizables_entities') as $entry) {
+ ->getParameter('chill_custom_fields.customizables_entities') as $entry) {
$customizableEntities[$entry['class']] = $entry['name'];
}
array_walk($customFieldsGroups,
- function(CustomFieldsGroup $customFieldGroup, $key)
+ function(CustomFieldsGroup $customFieldGroup, $key)
use ($languages, &$rows, $customizableEntities) {
//set id and entity
$row = array(
- $customFieldGroup->getId(),
- $customizableEntities[$customFieldGroup->getEntity()]
+ $customFieldGroup->getId(),
+ $customizableEntities[$customFieldGroup->getEntity()]
);
foreach ($languages as $lang) {
//todo replace with service to find lang when available
$row[] = (isset($customFieldGroup->getName()[$lang])) ?
- $customFieldGroup->getName()[$lang] :
+ $customFieldGroup->getName()[$lang] :
'Not available in this language';
}
$rows[] = $row;
}
- );
+ );
return $rows;
}
@@ -152,7 +148,6 @@ class CreateFieldsOnGroupCommand extends ContainerAwareCommand
throw new \RunTimeException("The yaml file is not valid", 0, $ex);
}
-
return $values;
}
@@ -163,44 +158,41 @@ class CreateFieldsOnGroupCommand extends ContainerAwareCommand
$em = $this->getContainer()->get('doctrine.orm.entity_manager');
$languages = $this->getContainer()
- ->getParameter('chill_main.available_languages');
+ ->getParameter('chill_main.available_languages');
foreach($values['fields'] as $slug => $field) {
//check the cf type exists
$cfType = $cfProvider->getCustomFieldByType($field['type']);
if ($cfType === NULL) {
throw new \RunTimeException('the type '.$field['type'].' '
- . 'does not exists');
+ . 'does not exists');
}
$cf = new CustomField();
$cf->setSlug($slug)
- ->setName($field['name'])
- ->setOptions(isset($field['options']) ? $field['options'] : array() )
- ->setOrdering($field['ordering'])
- ->setType($field['type'])
- ->setCustomFieldsGroup($group)
- ;
+ ->setName($field['name'])
+ ->setOptions(isset($field['options']) ? $field['options'] : array() )
+ ->setOrdering($field['ordering'])
+ ->setType($field['type'])
+ ->setCustomFieldsGroup($group);
//add to table
$names = array();
foreach ($languages as $lang) {
- //todo replace with service to find lang when available
- $names[] = (isset($cf->getName()[$lang])) ?
- $cf->getName()[$lang] :
- 'Not available in this language';
- }
-
+ //todo replace with service to find lang when available
+ $names[] = (isset($cf->getName()[$lang])) ?
+ $cf->getName()[$lang] :
+ 'Not available in this language';
+ }
if ($this->getContainer()->get('validator')->validate($cf)) {
$em->persist($cf);
$output->writeln("Adding Custom Field of type "
- .$cf->getType()."\t with slug ".$cf->getSlug().
- "\t and names : ".implode($names, ', ')."");
+ .$cf->getType()."\t with slug ".$cf->getSlug().
+ "\t and names : ".implode($names, ', ')."");
} else {
throw new \RunTimeException("Error in field ".$slug);
}
-
}
$em->flush();