Exemplo n.º 1
0
 protected function generateFile($module)
 {
     // get javascript by calling the mmwExtjs action
     $browser = new sfBrowser();
     $browser->get('/' . $module . '/mmwExtjs/');
     $javascript = $browser->getResponse()->getContent();
     $file = sfMmwExtjsUtil::getJavascriptPath($module, 'base', true);
     file_put_contents($file, $javascript);
     chmod($file, 0666);
     $this->showMessage($module);
 }
Exemplo n.º 2
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.º 3
0
 public function executeEdit(sfWebRequest $request)
 {
     $this->structures = $this->getRoute()->getObject();
     $this->form = $this->configuration->getForm($this->structures);
     $this->json['success'] = true;
     $this->prepareJsonValues($this->form);
     $this->json['data'] = array_merge($this->json['data'], $this->FormJsonEncode());
     $this->json['data'] = array_merge($this->json['data'], sfMmwExtjsUtil::getExtjsParamsfromArray('structures', $this->structures->getMatFinsAndFinitions()));
     if ($request->hasParameter('loadStores') && $request->getParameter('loadStores') == true) {
         $this->json['list'] = $this->FormRelationsJsonEncode();
     }
     $this->setRequestParameter('json', $this->json);
     $this->forward($this->getModuleName(), 'jsonResponse');
 }
Exemplo n.º 4
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.º 5
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.º 6
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.º 7
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.º 8
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.º 9
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;
 }
 protected function toArray($array)
 {
     $result = "[\n\t\t" . sfMmwExtjsUtil::recursiveImplode(",\n\t\t", $array) . "\n\t]";
     return $result;
 }
Exemplo n.º 11
0
Object;
		Ext.apply(this, this.initialConfig, {
			title: this.getLl('Title', new Array(this.sfObject.pluralHumanName, this.sfObject.pluralUpHumanName)<?php 
echo ($gridTitle = $this->configuration->getListTitle()) != null ? ', ' . sfMmwExtjsUtil::addQuote(addslashes($gridTitle)) : '';
?>
),
			line: Ext.data.Record.create([{}]),
			store: store,
			bbar: new Ext.PagingToolbar({
		        pageSize: 15,
		        store: store,
		        displayInfo: true,
		        displayMsg: this.getLl('PagerDisplayMsg', new Array(scope.sfObject.pluralHumanName, scope.sfObject.pluralUpHumanName, '{0}', '{1}', '{2}')<?php 
echo ($pagerCaption = $this->configuration->getListPagerCaption()) != null ? ', ' . sfMmwExtjsUtil::addQuote(addslashes($pagerCaption . ' {0} to {1} of {2}')) : '';
?>
),
		        emptyMsg: this.getLl('PagerEmptyMsg', new Array(scope.sfObject.humanName, scope.sfObject.upHumanName, '{0}', '{1}', '{2}')<?php 
echo ($pagerEmptyCaption = $this->configuration->getListPagerEmptyCaption()) != null ? ', ' . sfMmwExtjsUtil::addQuote(addslashes($pagerEmptyCaption)) : '';
?>
)
		    }),
			columns: <?php 
echo $this->getGridColumns(true);
?>
		});
		mmw.<?php 
echo $this->getSingularName();
?>
EditorGridPanel.superclass.initComponent.call(this);
	}
});
Exemplo n.º 12
0
 protected function processMmwExtJSFilters(array $requestParams, $q)
 {
     if (isset($requestParams['mmwExtJSFilters']) && ($filters = json_decode($requestParams['mmwExtJSFilters']))) {
         foreach ($filters as $filter) {
             // The obtained filter is a stdClass object. get_object_vars transforms it into an array.
             $filter = get_object_vars($filter);
             $fieldName = sfMmwExtjsUtil::getSfFieldNameFromExtjs($filter['field']);
             // Value validation
             switch ($filter['type']) {
                 case 'numeric':
                     $validator = new sfValidatorNumber();
                     break;
                 case 'boolean':
                     $validator = new sfValidatorBoolean();
                     break;
                 case 'date':
                     $validator = new sfValidatorDate();
                     break;
                 case 'string':
                     $validator = new sfValidatorString();
                     break;
                 case 'list':
                     $validator = new sfValidatorPass();
                     if (!is_array($filter['value']) || count($filter['value']) == 0) {
                         break 2;
                     }
                     break;
                 default:
                     $validator = new sfValidatorPass();
                     break;
             }
             try {
                 $value = $validator->clean($filter['value']);
             } catch (sfValidatorError $e) {
                 break;
             }
             $rootAlias = $q->getRootAlias();
             $query = $rootAlias . '.' . $fieldName;
             // Filter applying
             switch ($filter['type']) {
                 case 'numeric':
                 case 'date':
                     switch ($filter['comparison']) {
                         case 'lt':
                             $query .= ' < "' . $value . '"';
                             break;
                         case 'gt':
                             $query .= ' > "' . $value . '"';
                             break;
                         case 'eq':
                             $query .= ' = "' . $value . '"';
                             break;
                         default:
                             break 2;
                     }
                     break;
                 case 'boolean':
                     $query .= ' = ' . $value;
                     break;
                 case 'string':
                     $query .= ' LIKE "' . $value . '%"';
                     break;
                 case 'list':
                     $query .= ' IN (';
                     foreach ($value as $v) {
                         $query .= '"' . $v . '"';
                     }
                     $query .= ')';
                     break;
                 default:
                     $query .= ' = ' . $value;
                     break;
             }
             $q->addWhere($query);
         }
     }
 }