protected function getBibMatFinsList() { $bibMateriauxFinsList = Doctrine::getTable('BibMateriauxFins')->findAll(); $bibMateriauxFinsValuesList = array(); $i = 0; foreach ($bibMateriauxFinsList as $bibMateriauFin) { $bibMateriauxFinsValuesList[$i][sfMmwExtjsUtil::getSfExtjsNameFromField('bib_materiaux_fins', 'codematfins')] = $bibMateriauFin->getCodematfins(); $bibMateriauxFinsValuesList[$i][sfMmwExtjsUtil::getSfExtjsNameFromField('bib_materiaux_fins', 'matfins')] = $bibMateriauFin->getMatfins(); $i++; } $json = array(); $json = $bibMateriauxFinsValuesList; return $json; }
protected function processForm(sfWebRequest $request, sfForm $form, $editable = true) { $formValues = array(); $requestParameters = $request->getParameterHolder()->getAll(); $formValues = sfMmwExtjsUtil::getSfParamsFromExtjs('structures', $requestParameters); $formValues = $this->prepareFormValues($formValues, $form); $files = $this->getSfFilesParamsFromExtjs($_FILES, $form->getName()); //$form->bind($request->getParameter($form->getName()), $request->getFiles($form->getName())); $fieldsToPost = json_decode($requestParameters['fields']); foreach ($this->form->getWidgetSchema()->getFields() as $fieldname => $widget) { if (!in_array(sfMmwExtjsUtil::getSfExtjsNameFromField('structures', $fieldname), $fieldsToPost)) { unset($form[$fieldname]); } } $form->bind($formValues, $files); if ($form->isValid()) { //$this->getUser()->setFlash('notice', $form->getObject()->isNew() ? 'The item was created successfully.' : 'The item was updated successfully.'); $this->json['success'] = true; $this->json['data'] = false; $structures = $form->save(); $this->prepareJsonValues($form); $data_array = $structures->toArray(); $data_array = array_merge($data_array, $structures->getMatFinsAndFinitions()); if (is_array($this->json['data'])) { $this->json['data'] = array_merge($this->json['data'], sfMmwExtjsUtil::getExtjsParamsfromArray('structures', $data_array)); } else { $this->json['data'] = sfMmwExtjsUtil::getExtjsParamsfromArray('structures', $data_array); } if (!$editable) { $displayValues = $this->getFieldsValues($structures, false, true); foreach ($displayValues as $key => $displayValue) { $this->json['data'][$key] = $displayValue; } } $this->dispatcher->notify(new sfEvent($this, 'admin.save_object', array('object' => $structures))); } else { //$this->getUser()->setFlash('error', 'The item has not been saved due to some errors.'); $this->json['success'] = false; $this->json['data'] = false; if ($form->hasErrors()) { $this->json['errormsg'] = 'Data has not been saved'; // set individual error field foreach ($form->getErrorSchema() as $field => $error) { $this->json['errors'][sfMmwExtjsUtil::getSfExtjsNameFromField('structures', $field)] = $error->getMessage(); } } } $this->setRequestParameter('json', $this->json); $this->forward($this->getModuleName(), 'jsonResponse'); }
protected function processForm(sfWebRequest $request, sfForm $form) { $formValues = array(); $requestParameters = $request->getParameterHolder()->getAll(); $formValues = sfMmwExtjsUtil::getSfParamsFromExtjs('identification', $requestParameters); $formValues = $this->prepareFormValues($formValues, $form); $files = $this->getSfFilesParamsFromExtjs($_FILES, 'identification'); //$form->bind($request->getParameter($form->getName()), $request->getFiles($form->getName())); $fieldsToPost = isset($requestParameters['fields']) ? json_decode($requestParameters['fields']) : null; foreach ($this->form->getWidgetSchema()->getFields() as $fieldname => $widget) { if (get_class($widget) != 'sfWidgetFormSchemaDecorator' && $fieldsToPost != null && !in_array(sfMmwExtjsUtil::getSfExtjsNameFromField('identification', $fieldname), $fieldsToPost)) { unset($form[$fieldname]); } } $form->bind($formValues, $files); if ($form->isValid()) { //$this->getUser()->setFlash('notice', $form->getObject()->isNew() ? 'The item was created successfully.' : 'The item was updated successfully.'); $this->json['success'] = true; $this->json['data'] = false; $identification = $form->save(); $this->prepareJsonValues($form); if (is_array($this->json['data'])) { $this->json['data'] = array_merge($this->json['data'], sfMmwExtjsUtil::getExtjsParamsfromArray('identification', $identification->toArray())); } else { $this->json['data'] = sfMmwExtjsUtil::getExtjsParamsfromArray('identification', $identification->toArray()); } $this->dispatcher->notify(new sfEvent($this, 'admin.save_object', array('object' => $identification))); } else { //$this->getUser()->setFlash('error', 'The item has not been saved due to some errors.'); $this->json['success'] = false; $this->json['data'] = false; if ($form->hasErrors()) { $this->json['errormsg'] = 'Data has not been saved'; // set individual error field foreach ($form->getErrorSchema() as $field => $error) { $this->json['errors'][sfMmwExtjsUtil::getSfExtjsNameFromField('identification', $field)] = $error->getMessage(); } } } // SURCHARGE $secteurCommune = $identification->getSecteurCommune(); if (!empty($secteurCommune)) { $this->json['data']['identification__secteur'] = $secteurCommune; } $this->json['list'] = $this->FormRelationsJsonEncode(); // FIN SURCHARGE $this->setRequestParameter('json', $this->json); $this->forward($this->getModuleName(), 'jsonResponse'); }
protected function getBibEquipementsList() { $bibEquipementsList = Doctrine::getTable('BibEquipement')->findAll(); $bibEquipementsValuesList = array(); $i = 0; foreach ($bibEquipementsList as $bibEquipement) { $bibEquipementsValuesList[$i][sfMmwExtjsUtil::getSfExtjsNameFromField('bib_equipement', 'codeequipement')] = $bibEquipement->getCodeequipement(); $bibEquipementsValuesList[$i][sfMmwExtjsUtil::getSfExtjsNameFromField('bib_equipement', 'equipement')] = $bibEquipement->getEquipement(); $bibEquipementsValuesList[$i][sfMmwExtjsUtil::getSfExtjsNameFromField('bib_equipement', 'codetypeequip')] = $bibEquipement->getCodetypeequip(); $i++; } $json = array(); $json = $bibEquipementsValuesList; return $json; }
public function executeIndex(sfWebRequest $request) { $bibMeoeuvresList = Doctrine::getTable('BibMeoeuvre')->findAll(); $bibMeoeuvresValuesList = array(); $i = 0; foreach ($bibMeoeuvresList as $bibMeoeuvre) { $bibMeoeuvresValuesList[$i][sfMmwExtjsUtil::getSfExtjsNameFromField('bib_meoeuvre', 'codemeo')] = $bibMeoeuvre->getCodemeo(); $bibMeoeuvresValuesList[$i][sfMmwExtjsUtil::getSfExtjsNameFromField('bib_meoeuvre', 'meoeuvre')] = $bibMeoeuvre->getMeoeuvre(); $bibMeoeuvresValuesList[$i][sfMmwExtjsUtil::getSfExtjsNameFromField('bib_meoeuvre', 'codematgelist')] = $bibMeoeuvre->getLinkedCodematges(); $i++; } $this->json['success'] = true; $this->json['count'] = count($bibMeoeuvresValuesList); $this->json['data'] = $bibMeoeuvresValuesList; $this->setRequestParameter('json', $this->json); $this->forward($this->getModuleName(), 'jsonResponse'); }
public function executeIndex(sfWebRequest $request) { $bibEquipementsList = Doctrine::getTable('BibEquipement')->createQuery('e')->innerJoin('e.BibTypeEquipement bte')->orderBy('e.equipement')->execute(); $bibEquipementsValuesList = array(); $i = 0; foreach ($bibEquipementsList as $bibEquipement) { $bibEquipementsValuesList[$i][sfMmwExtjsUtil::getSfExtjsNameFromField('bib_equipement', 'codeequipement')] = $bibEquipement->getCodeequipement(); $bibEquipementsValuesList[$i][sfMmwExtjsUtil::getSfExtjsNameFromField('bib_equipement', 'equipement')] = $bibEquipement->getEquipement(); $bibEquipementsValuesList[$i][sfMmwExtjsUtil::getSfExtjsNameFromField('bib_equipement', 'codetypeequip')] = $bibEquipement->getCodetypeequip(); $bibEquipementsValuesList[$i][sfMmwExtjsUtil::getSfExtjsNameFromField('bib_equipement', 'typeequip')] = $bibEquipement->getBibTypeEquipement()->getTypeEquip(); $i++; } $this->json['success'] = true; $this->json['count'] = count($bibEquipementsValuesList); $this->json['data'] = $bibEquipementsValuesList; $this->setRequestParameter('json', $this->json); $this->forward($this->getModuleName(), 'jsonResponse'); }
public function executeIndex(sfWebRequest $request) { $bibSosList = Doctrine::getTable('BibSo')->createQuery('so')->innerJoin('so.BibTypeSo bts')->execute(); $bibSosValuesList = array(); $i = 0; foreach ($bibSosList as $bibSo) { $bibSosValuesList[$i][sfMmwExtjsUtil::getSfExtjsNameFromField('bib_so', 'codeso')] = $bibSo->getCodeso(); $bibSosValuesList[$i][sfMmwExtjsUtil::getSfExtjsNameFromField('bib_so', 'second_oeuvre')] = $bibSo->getSecondOeuvre(); $bibSosValuesList[$i][sfMmwExtjsUtil::getSfExtjsNameFromField('bib_so', 'codetypeso')] = $bibSo->getCodetypeso(); $bibSosValuesList[$i][sfMmwExtjsUtil::getSfExtjsNameFromField('bib_so', 'typeso')] = $bibSo->getBibTypeSo()->getTypeSo(); $i++; } $this->json['success'] = true; $this->json['count'] = count($bibSosValuesList); $this->json['data'] = $bibSosValuesList; $this->setRequestParameter('json', $this->json); $this->forward($this->getModuleName(), 'jsonResponse'); }
public function getExtjsField($widget, $validator, $name, $label, $extjsParams = array()) { $widgetOptions = $widget->getOptions(); $result = array(); $result['name'] = sfMmwExtjsUtil::getSfExtjsNameFromField($this->getSingularName(), $name, true); $result['itemId'] = $result['name']; $result['fieldLabel'] = sfMmwExtjsUtil::addQuote($label); $result['width'] = 250; if (!$validator->hasOption('required') || $validator->hasOption('required') && $validator->getOption('required') == true) { $result['allowBlank'] = 'false'; } else { $result['allowBlank'] = 'true'; } if ($validator->hasOption('max_length')) { $result['maxLength'] = $validator->getOption('max_length'); } if ($validator->hasOption('min_length')) { $result['minLength'] = $validator->getOption('max_length'); } // we get all parameters from the field, but for specific parameter, we may add it to extjs_params //$params = $field->getConfig('extjs_params', array()); switch (get_class($widget)) { case 'sfWidgetFormInputHidden': $result['xtype'] = sfMmwExtjsUtil::addQuote('hidden'); break; case 'sfWidgetFormInput': $result['xtype'] = sfMmwExtjsUtil::addQuote('textfield'); break; case 'sfWidgetFormTextarea': $result['xtype'] = sfMmwExtjsUtil::addQuote('textarea'); $result['width'] = isset($extjsParams['width']) ? $extjsParams['width'] : 230; $result['height'] = isset($extjsParams['height']) ? $extjsParams['height'] : 40; break; // single select // single select case 'sfWidgetFormDoctrineChoice': $model = sfMmwExtjsUtil::addQuote($widgetOptions['model']); $result['hiddenName'] = $result['name']; $result['name'] = sfMmwExtjsUtil::getSfExtjsNameFromField($this->getSingularName(), $name . '--name', true); $result['xtype'] = sfMmwExtjsUtil::addQuote('combo'); $result['emptyText'] = sfMmwExtjsUtil::addQuote('Enter a value'); $result['triggerAction'] = sfMmwExtjsUtil::addQuote('all'); $result['mode'] = sfMmwExtjsUtil::addQuote('local'); // $result['store'] = 'new mmw.'.sfInflector::underscore($widgetOptions['model']).'Store'; $result['store'] = 'new Ext.data.ArrayStore()'; $result['displayField'] = 'mmw.baseSf' . ucfirst(sfInflector::underscore($widgetOptions['model'])) . 'Object.displayField'; $result['valueField'] = 'mmw.baseSf' . ucfirst(sfInflector::underscore($widgetOptions['model'])) . 'Object.keyField'; break; case 'sfWidgetFormInputCheckbox': $result['xtype'] = sfMmwExtjsUtil::addQuote('checkbox'); break; // double select // double select case 'sfWidgetFormDoctrineChoiceMany': $model = sfMmwExtjsUtil::addQuote($widgetOptions['model']); $result['xtype'] = sfMmwExtjsUtil::addQuote('mmwItemSelector'); $result['store'] = 'new mmw.' . sfInflector::underscore($widgetOptions['model']) . 'Store'; $result['width'] = 450; break; /* case 'sfWidgetFormInputCheckbox': $result['xtype'] = ''; break; */ /* case 'sfWidgetFormInputCheckbox': $result['xtype'] = ''; break; */ case 'sfWidgetFormDateTime': case 'sfWidgetFormDate': $result['xtype'] = sfMmwExtjsUtil::addQuote('datefield'); break; case 'sfWidgetFormInputFileEditable': $result['xtype'] = sfMmwExtjsUtil::addQuote('mmwFileUploadField'); $result['emptyText'] = sfMmwExtjsUtil::addQuote('Select a file'); $result['buttonText'] = sfMmwExtjsUtil::addQuote(''); $result['buttonCfg'] = '{iconCls: \'upload-icon\'}'; break; default: break; } switch (get_class($validator)) { case 'sfValidatorEmail': $result['vtype'] = sfMmwExtjsUtil::addQuote('email'); break; // case 'sfValidatorString': // $result['vtype'] = sfMmwExtjsUtil::addQuote('alphanum'); // break; // case 'sfValidatorString': // $result['vtype'] = sfMmwExtjsUtil::addQuote('alphanum'); // break; case 'sfValidatorUrl': $result['vtype'] = sfMmwExtjsUtil::addQuote('url'); break; case 'sfValidatorInteger': $result['vtype'] = sfMmwExtjsUtil::addQuote('num'); break; } return $result; }
public function getGridColumns($editable = false) { $gridColumns = array(); $primaryKeys = array(); foreach ($this->getPrimaryKeys() as $primaryKey) { $primaryKeys[] = sfInflector::underscore($primaryKey); } $form = $this->configuration->getForm(); $formFields = $form->getWidgetSchema()->getFields(); foreach ($this->configuration->getValue('list.display') as $name => $field) { $params = array(); // type du champ: $field->getType() $extjsParams = $this->getExtjsParams($field); $params['header'] = 'mmw.getI18nColumnHeader(' . sfMmwExtjsUtil::addQuote(sfMmwExtjsUtil::getSfExtjsNameFromField($this->getSingularName(), $name)) . ', ' . sfMmwExtjsUtil::addQuote($field->getConfig('label')) . ')'; // check if the field is a key. If yes, set it to hidden if (in_array($name, $primaryKeys)) { $params['hidden'] = true; } $params['width'] = isset($extjsParams['width']) ? $extjsParams['width'] : '75'; if (isset($extjsParams['renderer'])) { $params['renderer'] = $extjsParams['renderer']; } if (isset($extjsParams['sortable'])) { $params['sortable'] = $extjsParams['sortable'] ? 'true' : 'false'; } else { if (isset($formFields[$name])) { $params['sortable'] = 'true'; } else { $params['sortable'] = 'false'; } } $params['dataIndex'] = sfMmwExtjsUtil::getSfExtjsNameFromField($this->getSingularName(), $name, true); if (isset($formFields[$name])) { $widget = $form->getWidget($name); if ($editable) { $validator = $form->getValidator($name); $params['editor'] = $this->getExtjsField(true, $widget, $validator, $name); } switch (get_class($widget)) { case 'sfWidgetFormDoctrineChoice': case 'sfWidgetFormDoctrineSelect': if ($editable) { $params['renderer'] = 'function(value, metaData, record, rowIndex, colIndex) { return mmw.util.getRecordDisplayFieldValue(scope, colIndex, value); }'; } break; case 'sfWidgetFormInputCheckbox': $params['renderer'] = 'function(value) { return scope.getRecordCheckboxDisplayImage(value); }'; break; case 'sfWidgetFormDateTime': case 'sfWidgetFormDate': $params['renderer'] = 'function(value) { return scope.getRecordCorrectDateFormat(value); }'; break; } } $gridColumns[] = $this->getConfigArray($params); } return $this->toArray($gridColumns); }
echo ucfirst($this->getSingularName()); ?> Object = Ext.extend(mmw.sfObject, { url: '<?php echo $this->getModuleName(); ?> ', keyField : <?php echo sfMmwExtjsUtil::getSfExtjsNameFromField($this->getSingularName(), sfInflector::underscore($this->getPrimaryKey()), true); ?> , <?php if (!empty($display_field)) { ?> displayField: <?php echo sfMmwExtjsUtil::getSfExtjsNameFromField($this->getSingularName(), $this->configuration->getDisplayField(), true); ?> , <?php } ?> singularName: '<?php echo $this->getSingularName(); ?> ', humanName: humanName, upHumanName: mmw.util.ucfirst(humanName), pluralHumanName: humanName+'s', pluralUpHumanName: mmw.util.ucfirst(humanName)+'s', });
protected function processWidgetToGetChoices($module_name, $widget, $fieldname, $array_to_complete, $mode = 'form') { if (in_array(get_class($widget), array('sfWidgetFormChoice', 'sfWidgetFormChoiceMany', 'sfWidgetFormSelect', 'sfWidgetFormSelectMany', 'sfWidgetFormSelectRadio', 'sfWidgetFormSelectCheckbox', 'sfWidgetFormDoctrineChoice', 'sfWidgetFormDoctrineChoiceMany', 'sfWidgetFormDoctrineSelect', 'sfWidgetFormDoctrineSelectMany'))) { if (!($mode == 'filter' && !in_array($fieldname, $this->getGridColumnsList())) && !($mode == 'form' && !in_array($fieldname, $this->getFormFieldsList()))) { $colname = sfMmwExtjsUtil::getSfExtjsNameFromField($module_name, $fieldname); $array_to_complete[$colname] = array(); switch (get_class($widget)) { case 'sfWidgetFormChoice': case 'sfWidgetFormChoiceMany': case 'sfWidgetFormSelect': case 'sfWidgetFormSelectMany': case 'sfWidgetFormSelectRadio': case 'sfWidgetFormSelectCheckbox': $choices = $widget->getOption('choices'); break; case 'sfWidgetFormDoctrineChoice': case 'sfWidgetFormDoctrineChoiceMany': case 'sfWidgetFormDoctrineSelect': case 'sfWidgetFormDoctrineSelectMany': $choices = $widget->getChoices(); break; } foreach ($choices as $key => $value) { if ($key === "") { $choices[$key] = 'non renseigné'; break; } } switch ($mode) { case 'filter': $array_to_complete[$colname] = $this->convertFilterChoices($choices); break; default: $array_to_complete[$colname] = $choices; break; } } } elseif (get_class($widget) == 'sfWidgetFormSchemaDecorator') { $array_to_complete = $this->processEmbeddedFormToGetChoices($module_name, $widget, $fieldname, $array_to_complete, $mode); } return $array_to_complete; }