Exemplo n.º 1
0
 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;
 }
Exemplo n.º 2
0
 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');
 }
Exemplo n.º 3
0
 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');
 }
Exemplo n.º 4
0
 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;
 }
Exemplo n.º 5
0
 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');
 }
Exemplo n.º 6
0
 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');
 }
Exemplo n.º 7
0
 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');
 }
Exemplo n.º 8
0
 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);
 }
Exemplo n.º 10
0
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',
});
Exemplo n.º 11
0
 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;
 }