Hi Markus,
On 2012-08-20, at 12:46 AM, Markus Ruggiero wrote:
I seem to have a problem with umlauts and ERD2WEditToOneRelationship with displayStyle = "popup". One of the selections has an umlaut in the name ("Zürich"). The generated code looks like this:
<select _componentname="er.extensions.components.ERXToOneRelationship" name="0.3.5.1.2.3.0.1.0.0.3.1.5.0.1.0.1.3.2.1.3.1.1.0.0.1">
<option value="- none -">- none -</option>
<option value="CH-4000 Basel">CH-4000 Basel</option>
<option selected="selected" value="CH-8000 Zürich">CH-8000 Zürich</option>
</select>
The problem is that the value also contains the umlaut. The wizard page then complains that the attribute is mandatory. Selecting an entry without umlaut sets the relationship correctly. Changing "Zürich" to "Zuerich" also fixes the problem. However this is not an option for the customer. Is this a bug? Anyone else seen this behaviour? Any work around?
That is a strange problem. Definitely a bug, but I am not sure where. You have set the Wonder encoding properties to use UTF-8? I'd start by logging out the form values from the request to see if it is arriving correctly. Then you can step through WOToOneRelationship (ERD2WEditToOneRelationship subclasses this) and see if you can see why the value is not getting set.
Chuck
Sorry for taking some time but last night I finally could debug things further eventually found the following:
I was using a wizard page and there was the problem. As soon as I disabled the wizard page flow everything was correct. Look at the two examples (WORequest examined in Eclipse debugger). The relevant part is towards the end of the request data.
Rule with wizard:
100 : (pageConfiguration = 'CreateVerwaltung' and subTask = 'wizard') => displayPropertyKeys = ("[WIZARD_allgemein]", "code", "bezeichnung", "[WIZARD_adresse]", "adresse1", "adresse2", "ort", "[WIZARD_kontakt]", "kontaktName", "kontaktTel", "kontaktMail", "[WIZARD_notizen]", "notizen") [com.webobjects.directtoweb.Assignment]
WORequest:
<er.extensions.appserver.ERXRequest (<er.extensions.appserver.ERXRequest httpVersion=HTTP/1.1 headers={accept=[text/_javascript_, text/html, application/xml, text/xml, */*], accept-encoding=[gzip, deflate], accept-language=[en-us], connection=[keep-alive], content-length=[298], content-type=[application/x-www-form-urlencoded; charset=UTF-8], host=[127.0.0.1:13000], origin=[
http://127.0.0.1:13000], original_context_id=[4], referer=[
http://127.0.0.1:13000/cgi-bin/WebObjects/ImmoData.woa/wo/BCyOM30vOhyPtmE72pDfPg/2.0.3.3.5.2.3.2.1.1.0.1.1.0.0], user-agent=[Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_1) AppleWebKit/536.25 (KHTML, like Gecko) Version/6.0 Safari/536.25], x-prototype-version=[1.6.1], x-requested-with=[XMLHttpRequest]} content-length=298 cookies=null userInfo={} storePageInBacktrackCache=true >) method=POST uri=/cgi-bin/WebObjects/ImmoData.woa/ajax/BCyOM30vOhyPtmE72pDfPg/4.0.3.5.1.2.3.0.1.0?_u=MUC_CreateVerwaltung&1346226741823 defaultFormValueEncoding=ISO8859_1 formValueEncodingDetectionEnabled=NO formValueEncoding=ISO8859_1 formValues={AJAX_SUBMIT_BUTTON_NAME = ("0.3.5.1.2.3.0.1.0.0.3.3.5.1"); _u = ("MUC_CreateVerwaltung"); _0_3_5_1_2_3_0_1_0_0_3_3_1_1_0_0_0_0_1_hf = (""); wosid = ("BCyOM30vOhyPtmE72pDfPg"); WOIsmapCoords = ("1346226741823"); 0.3.5.1.2.3.0.1.0.0.3.1.5.0.1.0.1.3.2.1.3.1.1.0.0.1 = (
"Zürich, 8000"); _ = (""); 0.3.5.1.2.3.0.1.0.0.3.1.5.0.1.0.1.3.0.1.3.1.0 = ("asdf"); 0.3.5.1.2.3.0.1.0.0.3.1.5.0.1.0.1.3.1.1.3.1.0 = (""); } >
Rule without wizard
100 : pageConfiguration = 'CreateVerwaltung' => navigationState = "TAB_Administration.TAB_Verwaltung.TAB_CreateVerwaltung.CreateVerwaltung" [com.webobjects.directtoweb.Assignment]
WORequest:
<er.extensions.appserver.ERXRequest (<er.extensions.appserver.ERXRequest httpVersion=HTTP/1.1 headers={accept=[text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8], accept-encoding=[gzip, deflate], accept-language=[en-us], connection=[keep-alive], content-length=[622], content-type=[application/x-www-form-urlencoded], host=[127.0.0.1:13000], origin=[
http://127.0.0.1:13000], original_context_id=[3], referer=[http://127.0.0.1:13000/cgi-bin/WebObjects/ImmoData.woa/wo/yHfCZBEE2eUypzVQg04bhg/2.0.3.3.5.2.3.2.1.1.0.1.1.0.0], user-agent=[Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_1) AppleWebKit/536.25 (KHTML, like Gecko) Version/6.0 Safari/536.25]} content-length=622 cookies=null userInfo={} storePageInBacktrackCache=true >) method=POST uri=/cgi-bin/WebObjects/ImmoData.woa/wo/yHfCZBEE2eUypzVQg04bhg/3.0.3.5.1.2.3.0.1.0 defaultFormValueEncoding=ISO8859_1 formValueEncodingDetectionEnabled=NO formValueEncoding=ISO8859_1 formValues={0.3.5.1.2.3.0.1.0.0.3.1.5.0.1.0.1.3.2.1.3.1.0 = ("asdfasdf"); 0.3.5.1.2.3.0.1.0.0.3.1.5.0.1.0.1.3.3.1.3.1.0 = (""); _0_3_5_1_2_3_0_1_0_0_3_3_1_1_0_0_0_0_1_hf = (""); 0.3.5.1.2.3.0.1.0.0.3.1.5.0.1.0.1.3.5.1.3.1.0 = (""); 0.3.5.1.2.3.0.1.0.0.3.1.5.0.1.0.1.3.6.1.3.1.0 = (""); 0.3.5.1.2.3.0.1.0.0.3.1.5.0.1.0.1.3.7.1.3.1.0 = (""); 0.3.5.1.2.3.0.1.0.0.3.1.5.0.1.0.1.3.8.1.3.1.2 = (""); 0.3.5.1.2.3.0.1.0.0.3.1.5.0.1.0.1.3.4.1.3.1.1.0.0.1 = (
"Zürich, 8000"); wosid = ("yHfCZBEE2eUypzVQg04bhg"); _0_3_5_1_2_3_0_1_0_0_3_3_7_1_0_0_0_0_1_hf = ("_0_3_5_1_2_3_0_1_0_0_3_3_7_1_0_0_0_0_1_hf"); 0.3.5.1.2.3.0.1.0.0.3.1.5.0.1.0.1.3.0.1.3.1.0 = ("asdfasd"); 0.3.5.1.2.3.0.1.0.0.3.1.5.0.1.0.1.3.1.1.3.1.0 = ("asdfasd"); } >
This indicates a problem with Ajax/_javascript_ building the request. Unfortunately this is currently way over my head to debug further. Any guru around who knows this stuff?
Thanks for your help
---markus---