Skip to content
Snippets Groups Projects
Commit 530dbe55 authored by Patrick Barroca's avatar Patrick Barroca :grin:
Browse files

Merge branch 'hotline#88412_probleme_dans_l_agenda' into 'hotline'

hotline #88412 fix form radio element value

See merge request !3062
parents 2650c29f a5e56627
Branches
Tags 6.47
3 merge requests!3297WIP: Master,!3067Hotline,!3062hotline #88412 fix form radio element value
Pipeline #6576 passed with stage
in 35 minutes and 23 seconds
- ticket #88412 : Administration : correction de l'enregistrement des formulaires ou la valeur des éléments de type radio comporte des accents
\ No newline at end of file
...@@ -87,7 +87,5 @@ class Class_CustomField_Value extends Storm_Model_Abstract { ...@@ -87,7 +87,5 @@ class Class_CustomField_Value extends Storm_Model_Abstract {
return $options; return $options;
return [$this->getValue()]; return [$this->getValue()];
} }
} }
?>
...@@ -121,6 +121,7 @@ class ZendAfi_Form_Admin_CustomFields_ModelValues_Field_Strategy_ckeditor extend ...@@ -121,6 +121,7 @@ class ZendAfi_Form_Admin_CustomFields_ModelValues_Field_Strategy_ckeditor extend
class ZendAfi_Form_Admin_CustomFields_ModelValues_Field_Strategy_select extends ZendAfi_Form_Admin_CustomFields_ModelValues_Field_Strategy { class ZendAfi_Form_Admin_CustomFields_ModelValues_Field_Strategy_select extends ZendAfi_Form_Admin_CustomFields_ModelValues_Field_Strategy {
protected function getOptions() { protected function getOptions() {
$options = $this->_field->getOptionsListAsArray(); $options = $this->_field->getOptionsListAsArray();
$multioptions=[]; $multioptions=[];
...@@ -136,12 +137,14 @@ class ZendAfi_Form_Admin_CustomFields_ModelValues_Field_Strategy_select extends ...@@ -136,12 +137,14 @@ class ZendAfi_Form_Admin_CustomFields_ModelValues_Field_Strategy_select extends
class ZendAfi_Form_Admin_CustomFields_ModelValues_Field_Strategy_multiCheckbox extends ZendAfi_Form_Admin_CustomFields_ModelValues_Field_Strategy { class ZendAfi_Form_Admin_CustomFields_ModelValues_Field_Strategy_multiCheckbox extends ZendAfi_Form_Admin_CustomFields_ModelValues_Field_Strategy {
protected function getOptions() { protected function getOptions() {
$options = $this->_field->getOptionsListAsArray(); $options = $this->_field->getOptionsListAsArray();
$multioptions=[]; $multioptions=[];
foreach($options as $option) { foreach($options as $option) {
$multioptions[$option]=$option; $multioptions[$option]=$option;
} }
return ['multioptions' => $multioptions]; return ['multioptions' => $multioptions];
} }
...@@ -149,7 +152,4 @@ class ZendAfi_Form_Admin_CustomFields_ModelValues_Field_Strategy_multiCheckbox e ...@@ -149,7 +152,4 @@ class ZendAfi_Form_Admin_CustomFields_ModelValues_Field_Strategy_multiCheckbox e
public function unserialize($value) { public function unserialize($value) {
return $value ? explode(';', $value) : []; return $value ? explode(';', $value) : [];
} }
}
} \ No newline at end of file
?>
...@@ -21,10 +21,12 @@ ...@@ -21,10 +21,12 @@
class ZendAfi_View_Helper_FormRadio extends ZendAfi_View_Helper_FormElement { class ZendAfi_View_Helper_FormRadio extends ZendAfi_View_Helper_FormElement {
protected protected
$_inputType = 'radio', $_inputType = 'radio',
$_isArray = false; $_isArray = false;
public function formRadio($name, $value = null, $attribs = null, $options = null, $listsep = "<br />\n") { public function formRadio($name, $value = null, $attribs = null, $options = null, $listsep = "<br />\n") {
$info = $this->_getInfo($name, $value, $attribs, $options, $listsep); $info = $this->_getInfo($name, $value, $attribs, $options, $listsep);
extract($info); extract($info);
...@@ -108,7 +110,7 @@ class ZendAfi_View_Helper_FormRadio extends ZendAfi_View_Helper_FormElement { ...@@ -108,7 +110,7 @@ class ZendAfi_View_Helper_FormRadio extends ZendAfi_View_Helper_FormElement {
array_merge(['type' => $this->_inputType, array_merge(['type' => $this->_inputType,
'name' => $name, 'name' => $name,
'id' => $optId, 'id' => $optId,
'value' => $this->view->escape($opt_value)], 'value' => $opt_value],
$input_attribs, $input_attribs,
$attribs), $attribs),
$label_attribs) $label_attribs)
......
...@@ -36,16 +36,10 @@ abstract class CmsControllerCustomFieldsTestCase extends AbstractControllerTestC ...@@ -36,16 +36,10 @@ abstract class CmsControllerCustomFieldsTestCase extends AbstractControllerTestC
'code' => Class_CodifThesaurus::fixedCodeOf('CustomField'), 'code' => Class_CodifThesaurus::fixedCodeOf('CustomField'),
'libelle' => 'Champs personnalisés']); 'libelle' => 'Champs personnalisés']);
$meta = $this->fixture('Class_CustomField_Meta',
['id' => 3,
'label' => 'Public',
'field_type' => Class_CustomField_Meta::SELECT,
'options_list' => 'Hardcore gamers; newbies',
'indexable' => 1]);
$closure = function () { $this->_count++; $closure = function () { $this->_count++;
if ($this->_count == 1) if ($this->_count == 1)
return []; return [];
return array_filter( [Class_CodifThesaurus::findFirstBy(['libelle' => 'Hardcore gamers']),Class_CodifThesaurus::findFirstBy(['libelle' => 'newbies'])]);} ; return array_filter( [Class_CodifThesaurus::findFirstBy(['libelle' => 'Hardcore gamers']),Class_CodifThesaurus::findFirstBy(['libelle' => 'Newbies'])]);} ;
Storm_Test_ObjectWrapper::onLoaderOfModel('Class_CodifThesaurus') Storm_Test_ObjectWrapper::onLoaderOfModel('Class_CodifThesaurus')
->whenCalled('findAllBy') ->whenCalled('findAllBy')
...@@ -53,7 +47,12 @@ abstract class CmsControllerCustomFieldsTestCase extends AbstractControllerTestC ...@@ -53,7 +47,12 @@ abstract class CmsControllerCustomFieldsTestCase extends AbstractControllerTestC
'order' => 'libelle']) 'order' => 'libelle'])
->willDo($closure); ->willDo($closure);
$meta = $this->fixture('Class_CustomField_Meta',
['id' => 3,
'label' => 'Public',
'field_type' => Class_CustomField_Meta::SELECT,
'options_list' => 'Hardcore gamers; Newbies;',
'indexable' => 1]);
$this->_custom_field = $this->fixture('Class_CustomField', $this->_custom_field = $this->fixture('Class_CustomField',
['id' => 5, ['id' => 5,
...@@ -61,11 +60,23 @@ abstract class CmsControllerCustomFieldsTestCase extends AbstractControllerTestC ...@@ -61,11 +60,23 @@ abstract class CmsControllerCustomFieldsTestCase extends AbstractControllerTestC
'meta' => $meta, 'meta' => $meta,
'model' => 'Article']); 'model' => 'Article']);
$meta_multi = $this->fixture('Class_CustomField_Meta',
['id' => 8,
'label' => 'Niveau d\'accès',
'field_type' => Class_CustomField_Meta::MULTI_CHECKBOX,
'options_list' => 'Débutant; Expert;',
'indexable' => 0]);
$this->fixture('Class_CustomField',
['id' => 89,
'priority' => 9,
'meta' => $meta_multi,
'model' => 'Article']);
$this->_article = $this->fixture('Class_Article', $this->_article = $this->fixture('Class_Article',
['id' => 1, ['id' => 1,
'titre' => 'News Article', 'titre' => 'News Article',
'contenu' => 'Welcome']); 'contenu' => 'Welcome']);
} }
} }
...@@ -87,7 +98,7 @@ class CmsControllerCustomFieldsEditActionTest extends CmsControllerCustomFieldsT ...@@ -87,7 +98,7 @@ class CmsControllerCustomFieldsEditActionTest extends CmsControllerCustomFieldsT
/** @test */ /** @test */
public function publicNewsbiesShouldBePresent() { public function publicNewsbiesShouldBePresent() {
$this->assertXPathContentContains('//select[@name="field_5"]//option', 'newbies'); $this->assertXPathContentContains('//select[@name="field_5"]//option', 'Newbies');
} }
} }
...@@ -101,7 +112,7 @@ class CmsControllerCustomFieldsWithNewbiesSetActionTest extends CmsControllerCus ...@@ -101,7 +112,7 @@ class CmsControllerCustomFieldsWithNewbiesSetActionTest extends CmsControllerCus
['id' => 10, ['id' => 10,
'model_id' => 1, 'model_id' => 1,
'custom_field_id' => 5, 'custom_field_id' => 5,
'value' => 'newbies']); 'value' => 'Newbies']);
} }
...@@ -109,7 +120,7 @@ class CmsControllerCustomFieldsWithNewbiesSetActionTest extends CmsControllerCus ...@@ -109,7 +120,7 @@ class CmsControllerCustomFieldsWithNewbiesSetActionTest extends CmsControllerCus
public function editActionShouldHaveNewbiesOptionSelected() { public function editActionShouldHaveNewbiesOptionSelected() {
$this->dispatch('admin/cms/edit/id/1' ,true); $this->dispatch('admin/cms/edit/id/1' ,true);
$this->assertXPathContentContains('//select[@name="field_5"]//option[@selected="selected"]', $this->assertXPathContentContains('//select[@name="field_5"]//option[@selected="selected"]',
'newbies'); 'Newbies');
} }
...@@ -140,6 +151,7 @@ class CmsControllerCustomFieldsAndIndexationPostEditActionTest ...@@ -140,6 +151,7 @@ class CmsControllerCustomFieldsAndIndexationPostEditActionTest
'indexation' => 1, 'indexation' => 1,
'status' => Class_Article::STATUS_VALIDATED, 'status' => Class_Article::STATUS_VALIDATED,
'field_5' => 'Hardcore gamers', 'field_5' => 'Hardcore gamers',
'field_89' => ['Débutant'],
'debut' => '', 'debut' => '',
'fin' => '', 'fin' => '',
'events_debut' => '', 'events_debut' => '',
...@@ -153,11 +165,17 @@ class CmsControllerCustomFieldsAndIndexationPostEditActionTest ...@@ -153,11 +165,17 @@ class CmsControllerCustomFieldsAndIndexationPostEditActionTest
/** @test */ /** @test */
public function shouldHaveCreatedCustomValue() { public function shouldHaveCreatedCustomValueHardcoreGamers() {
$this->assertNotNull(Class_CustomField_Value::findFirstBy(['value' => 'Hardcore gamers'])); $this->assertNotNull(Class_CustomField_Value::findFirstBy(['value' => 'Hardcore gamers']));
} }
/** @test */
public function shouldHaveCreatedCustomValueDebutant() {
$this->assertNotNull(Class_CustomField_Value::findFirstBy(['value' => 'Débutant']));
}
/** @test */ /** @test */
public function shouldHaveCreatedCustomFieldThesaurus() { public function shouldHaveCreatedCustomFieldThesaurus() {
$this->assertNotNull($this->_field_thesaurus); $this->assertNotNull($this->_field_thesaurus);
...@@ -240,7 +258,7 @@ class CmsControllerCustomFieldsNotIndexableMetaPostEditActionTest ...@@ -240,7 +258,7 @@ class CmsControllerCustomFieldsNotIndexableMetaPostEditActionTest
function() { function() {
Class_CodifThesaurus::findForCustomField($this->_custom_field)->delete(); Class_CodifThesaurus::findForCustomField($this->_custom_field)->delete();
Class_CodifThesaurus::findFirstBy(['libelle' => 'Hardcore gamers'])->delete(); Class_CodifThesaurus::findFirstBy(['libelle' => 'Hardcore gamers'])->delete();
Class_CodifThesaurus::findFirstBy(['libelle' => 'newbies'])->delete(); Class_CodifThesaurus::findFirstBy(['libelle' => 'Newbies'])->delete();
}) })
->beStrict()); ->beStrict());
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment