Changeset 6166
- Timestamp:
- Oct 11, 2012, 3:47:22 PM (10 years ago)
- Location:
- trunk
- Files:
-
- 3 added
- 1 deleted
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/clients/web/net/sf/basedb/clients/web/taglib/Icon.java
r6164 r6166 115 115 <td>no</td> 116 116 <td> 117 Deprecated. Use javascript to attach an event handler instead. 117 118 An optional JavaScript statement that will exceute when the user 118 119 clicks on the icon. … … 167 168 An optional JavaScript statement. 168 169 */ 170 @Deprecated 169 171 private String onClick = null; 170 172 … … 228 230 } 229 231 232 @Deprecated 230 233 public void setOnclick(String onClick) 231 234 { … … 233 236 if (!setEnabledIsCalled) this.enabled = onClick != null; 234 237 } 238 @Deprecated 235 239 public String getOnclick() 236 240 { … … 269 273 StringBuilder sb = new StringBuilder(); 270 274 sb.append("<span "); 271 addIdAndStyles(sb, getOnclick() != null ? "link" : null, isEnabled() ? null : "disabled");275 addIdAndStyles(sb, getOnclick() != null || getId() != null ? "link" : null, isEnabled() ? null : "disabled"); 272 276 if (getTooltip() != null) sb.append(" title=\"").append(getTooltip()).append("\""); 273 if (getOnclick() != null && isEnabled()) 274 { 275 sb.append(" onclick=\"").append(getOnclick()).append("\""); 276 if (getTabindex() >= 0) 277 if (getOnclick() != null) 278 { 279 // onclick event added as inline code 280 if (isEnabled()) 281 { 282 sb.append(" onclick=\"").append(getOnclick()).append("\""); 283 if (getTabindex() >= 0) 284 { 285 sb.append(" tabindex=\"").append(getTabindex()).append("\""); 286 sb.append(" onkeypress=\"Events.handleFocusedKeypress(event)\""); 287 } 288 } 289 } 290 else if (getId() != null) 291 { 292 // Assume onclick event is attached by javascript 293 if (isEnabled() && getTabindex() >= 0) 277 294 { 278 295 sb.append(" tabindex=\"").append(getTabindex()).append("\""); 279 sb.append(" onkeypress=\"Main.handleFocusedKeypress(event)\"");280 296 } 281 297 } 298 addDynamicAttributes(sb); 282 299 sb.append(">"); 283 300 sb.append("<img src=\"").append(theImage).append("\" alt=\"*\">"); -
trunk/www/WEB-INF/base.tld
r6155 r6166 149 149 <rtexprvalue>true</rtexprvalue> 150 150 </attribute> 151 <dynamic-attributes>true</dynamic-attributes> 151 152 </tag> 152 153 … … 311 312 312 313 <tag> 314 <name>zoom</name> 315 <tag-class>net.sf.basedb.clients.web.taglib.Zoom</tag-class> 316 <body-content>empty</body-content> 317 <attribute> 318 <name>id</name> 319 <rtexprvalue>true</rtexprvalue> 320 </attribute> 321 <attribute> 322 <name>clazz</name> 323 <rtexprvalue>true</rtexprvalue> 324 </attribute> 325 <attribute> 326 <name>subclass</name> 327 <rtexprvalue>true</rtexprvalue> 328 </attribute> 329 <attribute> 330 <name>style</name> 331 <rtexprvalue>true</rtexprvalue> 332 </attribute> 333 <attribute> 334 <name>image</name> 335 <rtexprvalue>true</rtexprvalue> 336 </attribute> 337 <attribute> 338 <name>textarea</name> 339 <required>true</required> 340 <rtexprvalue>true</rtexprvalue> 341 </attribute> 342 <attribute> 343 <name>title</name> 344 <rtexprvalue>true</rtexprvalue> 345 </attribute> 346 <attribute> 347 <name>tooltip</name> 348 <rtexprvalue>true</rtexprvalue> 349 </attribute> 350 <attribute> 351 <name>visible</name> 352 <rtexprvalue>true</rtexprvalue> 353 </attribute> 354 <attribute> 355 <name>tabindex</name> 356 <rtexprvalue>true</rtexprvalue> 357 </attribute> 358 </tag> 359 360 <tag> 313 361 <name>select</name> 314 362 <tag-class>net.sf.basedb.clients.web.taglib.Select</tag-class> -
trunk/www/common/calendar.jsp
r6162 r6166 44 44 String title = request.getParameter("title"); 45 45 String form = request.getParameter("form"); 46 String input = request.getParameter("input");46 String textarea = request.getParameter("textarea"); 47 47 String callback = request.getParameter("callback"); 48 48 boolean datetime = Values.getBoolean(request.getParameter("datetime")); … … 70 70 function getInitialDate() 71 71 { 72 var frm = window.opener.document.forms['<%=form%>']; 73 var dateString = frm['<%=input%>'].value; 72 <% 73 if (form != null) 74 { 75 %> 76 var frm = window.opener.document.forms['<%=form%>']; 77 var textarea = frm['<%=textarea%>']; 78 <% 79 } 80 else 81 { 82 %> 83 var textarea = window.opener.document.getElementById('<%=textarea%>'); 84 <% 85 } 86 %> 87 var dateString = textarea.value; 74 88 var date = Dates.parseString(dateString, '<%=HTML.javaScriptEncode(format)%>'); 75 89 if (date == null) date = new Date(); … … 94 108 if (callback == null) 95 109 { 96 %> 97 var frm = window.opener.document.forms['<%=form%>']; 98 frm['<%=input%>'].value = formattedDate; 99 <% 110 if (form != null) 111 { 112 %> 113 var frm = window.opener.document.forms['<%=form%>']; 114 frm['<%=textarea%>'].value = formattedDate; 115 <% 116 } 117 else 118 { 119 %> 120 window.opener.document.getElementById('<%=textarea%>').value = formattedDate; 121 <% 122 } 100 123 } 101 124 else 102 125 { 103 126 %> 104 window.opener.<%=callback%>('<%=form%>', '<%= input%>', formattedDate);127 window.opener.<%=callback%>('<%=form%>', '<%=textarea%>', formattedDate); 105 128 <% 106 129 } -
trunk/www/common/zoom.jsp
r6162 r6166 54 54 { 55 55 var frm = document.forms["zoom"]; 56 frm.zoom.value = window.opener.document.forms['<%=form%>'].elements['<%=textarea%>'].value; 56 <% 57 if (form == null) 58 { 59 %> 60 var element = window.opener.document.getElementById('<%=textarea%>'); 61 <% 62 } 63 else 64 { 65 %> 66 var element = window.opener.document.forms['<%=form%>'].elements['<%=textarea%>']; 67 <% 68 } 69 %> 70 frm.zoom.value = element.value; 57 71 frm.zoom.focus(); 72 frm.zoom.disabled = element.disabled; 58 73 } 59 74 function setTextAndClose() 60 75 { 61 76 var value = document.forms["zoom"].zoom.value; 62 var element = window.opener.document.forms['<%=form%>'].elements['<%=textarea%>']; 63 element.value = value; 64 element.focus(); 77 <% 78 if (form == null) 79 { 80 %> 81 var element = window.opener.document.getElementById('<%=textarea%>'); 82 <% 83 } 84 else 85 { 86 %> 87 var element = window.opener.document.forms['<%=form%>'].elements['<%=textarea%>']; 88 <% 89 } 90 %> 91 if (!element.disabled) 92 { 93 element.value = value; 94 element.focus(); 95 } 65 96 <% 66 97 if (callback != null) … … 231 262 </m:menu> 232 263 <% 233 if ( form.equals("help"))264 if ("help".equals(form)) 234 265 { 235 266 %> -
trunk/www/include/scripts/main-2.js
r6162 r6166 82 82 } 83 83 84 /** 85 Close the current popup window. 86 */ 87 app.closeWindow = function() 88 { 89 window.top.close(); 90 } 84 91 85 92 /** … … 357 364 } 358 365 366 /* 367 Event handler that can be attached to 'keypress' event for 368 form input fields to block all keys except numeric (including minus, plus, decimal dot and E). 369 */ 370 events.numberOnly = function(event) 371 { 372 var charCode = event.charCode || event.keyCode; 373 // <31 for tab, delete, etc. 48-57=key 0-9, 45= '-', 46='.', 69/101=E/e 374 var allow = charCode <= 31 || (charCode >= 48 && charCode <= 57) || charCode == 45 || charCode == 46 || charCode == 69 || charCode == 101; 375 if (!allow) event.preventDefault(); 376 } 377 378 359 379 /** 360 380 Event handler that can be attached to any event/element that … … 507 527 }(); 508 528 509 var Help = function() 529 /** 530 Functions that open common popup dialog windows. 531 */ 532 var Dialogs = function() 510 533 { 511 var help= {};534 var dialogs = {}; 512 535 var internal = {}; 513 536 … … 516 539 @param helpId The ID of the help information 517 540 */ 518 help.openHelp = function(helpId)541 dialogs.openHelp = function(helpId) 519 542 { 520 543 var url = App.getRoot()+'common/help/view_help.jsp?ID='+App.getSessionId()+'&external_id='+helpId; … … 528 551 @param helpId Optional, a default help id if no help is specified by the tab control 529 552 */ 530 help.openTabControlHelp = function(tabControl, helpId)553 dialogs.openTabControlHelp = function(tabControl, helpId) 531 554 { 532 555 var useHelpId = TabControl.getActiveHelpId(tabControl); 533 556 if (!useHelpId) useHelpId = helpId; 534 help.openHelp(useHelpId); 557 dialogs.openHelp(useHelpId); 558 } 559 560 /* 561 Open a popup window with a large textarea field for editing text. 562 @param textarea A form input/textarea element or the id of an element 563 @param title The title that the popup dialog should have 564 */ 565 dialogs.openZoom = function(textarea, title) 566 { 567 textarea = Doc.element(textarea); 568 if (!title) title = textarea.id; 569 var url = App.getRoot()+'common/zoom.jsp?ID='+App.getSessionId(); 570 url += '&title='+encodeURIComponent(title)+'&textarea='+textarea.id; 571 Main.openPopup(url, title.replace(/[^\w]/g, ''), 640, 600); 572 } 573 574 /* 575 Open a popup window for selecting a date or datetime value. 576 @param textarea A form input/textarea element or the id of an element 577 @param title The title that the popup dialog should have 578 @param dateFormat The dateformat to use when reading/writing the value 579 @param useTime 'true' to use date+time, 'false' to only use date 580 */ 581 dialogs.openCalendar = function(textarea, title, dateFormat, useTime) 582 { 583 textarea = Doc.element(textarea); 584 if (!title) title = textarea.id; 585 var url = App.getRoot()+'common/calendar.jsp?ID='+App.getSessionId(); 586 url += '&title='+encodeURIComponent(title)+'&textarea='+textarea.id+'&format='+encodeURIComponent(dateFormat); 587 if (useTime) url += '&datetime=1'; 588 Main.openPopup(url, title.replace(/[^\w]/, ''), 450, 300); 535 589 } 536 590 537 591 /** 538 592 Help icon 'click' handler. The help id is found on the target element's 539 ' help-id' attribute or with the help of the active tab control on the540 ' tabcontrol-id' attribute.593 'data-help-id' attribute or with the help of the active tab control on the 594 'data-tabcontrol-id' attribute. 541 595 */ 542 596 internal.helpOnClick = function(event) … … 548 602 if (tabControlId) 549 603 { 550 help.openTabControlHelp(tabControlId, helpId);604 dialogs.openTabControlHelp(tabControlId, helpId); 551 605 } 552 606 else if (helpId) 553 607 { 554 help.openHelp(helpId); 555 } 556 } 557 558 /** 559 Initializer that add 'onclick' event handlers to all 'help' elements. 560 */ 561 internal.addOnClickHandler = function(hlp, autoInit) 562 { 563 if (autoInit != 'help') return; 564 Events.addEventHandler(hlp, 'click', internal.helpOnClick); 565 if (hlp.tabIndex >= 0) 566 { 567 Events.enableClickOnEnter(hlp); 608 dialogs.openHelp(helpId); 609 } 610 } 611 612 /** 613 Zoom icon 'click' handler. The id of the textarea is found on the target 614 element's 'data-textarea-id' attribute. The dialog title can be specified 615 using the 'data-title' attribute, otherwise the textarea-id is used. 616 */ 617 internal.zoomOnClick = function(event) 618 { 619 var zoom = event.currentTarget; 620 var textAreaId = Data.get(zoom, 'textarea-id'); 621 var dialogTitle = Data.get(zoom, 'title', textAreaId); 622 dialogs.openZoom(textAreaId, dialogTitle); 623 } 624 625 /** 626 Initializer that add 'onclick' event handlers to common 627 elements: 'help', 'zoom', etc. 628 */ 629 internal.addOnClickHandler = function(element, autoInit) 630 { 631 if (autoInit == 'help') 632 { 633 Events.addEventHandler(element, 'click', internal.helpOnClick); 634 } 635 else if (autoInit == 'zoom') 636 { 637 Events.addEventHandler(element, 'click', internal.zoomOnClick); 638 } 639 else 640 { 641 return; 642 } 643 if (element.tabIndex >= 0) 644 { 645 Events.enableClickOnEnter(element); 568 646 } 569 647 } 570 648 Doc.addElementInitializer(internal.addOnClickHandler); 571 649 572 return help;650 return dialogs; 573 651 }(); 574 652 -
trunk/www/include/scripts/main.js
r6161 r6166 279 279 this.openHelp = function(ID, helpid) 280 280 { 281 Help.openHelp(helpid);281 Dialogs.openHelp(helpid); 282 282 } 283 283 … … 293 293 this.openTabControlHelp = function(ID, tabcontrol, helpId) 294 294 { 295 Help.openTabControlHelp(tabcontrol, helpId);295 Dialogs.openTabControlHelp(tabcontrol, helpId); 296 296 } 297 297 … … 1501 1501 this.selectDateTime = function(title, form, input, callback, format) 1502 1502 { 1503 var url = getRoot()+'common/calendar.jsp?datetime=1&title='+escape(title)+'&form='+form+'& input='+input+'&format='+escape(format);1503 var url = getRoot()+'common/calendar.jsp?datetime=1&title='+escape(title)+'&form='+form+'&textarea='+input+'&format='+escape(format); 1504 1504 url += '&ID='+getSessionId(); 1505 1505 if (callback) url += '&callback='+callback; -
trunk/www/include/styles/main.css
r6155 r6166 288 288 } 289 289 290 img.helpicon 290 img.helpicon, img.zoomicon 291 291 { 292 292 cursor: pointer; -
trunk/www/my_base/user/preferences.js
r6159 r6166 31 31 // Save + Close buttons 32 32 Buttons.addClickHandler('btnSave', Preferences.save); 33 Buttons.addClickHandler('close', Main.closeWindow);33 Buttons.addClickHandler('close', App.closeWindow); 34 34 35 35 // Validation -
trunk/www/my_base/user/reset_filters.jsp
r6162 r6166 73 73 %> 74 74 <base:page type="popup" title="<%=title%>"> 75 <base:head scripts="~ local.js" />75 <base:head scripts="~reset_filters.js" /> 76 76 <base:body> 77 77 <h1><%=title%><base:help helpid="userpreferences.resetfilters" /></h1> … … 85 85 <th>Which list?</th> 86 86 <td> 87 <select name="item_type" onchange="Filters.itemTypeOnChange()" class="selectionlist">87 <select name="item_type" id="itemType" class="selectionlist"> 88 88 <option value="">- all - 89 89 <% … … 122 122 123 123 <base:buttongroup subclass="dialogbuttons"> 124 <base:button onclick="Filters.reset();" title="Ok" />125 <base:button onclick="window.close();" title="Cancel" />124 <base:button id="btnOk" title="Ok" /> 125 <base:button id="close" title="Cancel" /> 126 126 </base:buttongroup> 127 127 </base:body> -
trunk/www/my_base/user/settings.jsp
r6162 r6166 95 95 %> 96 96 <base:page type="popup" title="<%=title%>"> 97 <base:head scripts=" ~local.js,tabcontrol.js" styles="tabcontrol.css" />97 <base:head scripts="tabcontrol-2.js,~settings.js" styles="tabcontrol.css" /> 98 98 <base:body> 99 99 <h1><%=title%><base:help tabcontrol="settings" /></h1> … … 113 113 position="bottom" remember="false"> 114 114 115 <t:tab id="contact" title="Contact information" validate="Settings.validateContact()"helpid="userpreferences.contact">115 <t:tab id="contact" title="Contact information" helpid="userpreferences.contact"> 116 116 <table class="fullform input100"> 117 117 <tr> … … 151 151 <th>Address</th> 152 152 <td> 153 <textarea <%=ifDisabled%> rows="4" name="address" ><%=HTML.encodeTags(user.getAddress())%></textarea>153 <textarea <%=ifDisabled%> rows="4" name="address" id="address"><%=HTML.encodeTags(user.getAddress())%></textarea> 154 154 </td> 155 155 <td style="width: 20px;"> 156 <base:icon image="zoom.png" 157 onclick="Main.zoom('Address', 'user', 'address')" 158 visible="<%=writePermission%>" 159 tooltip="Edit in larger window" /> 156 <base:zoom textarea="address" title="Address" /> 160 157 </td> 161 158 </tr> … … 183 180 </t:tab> 184 181 185 <t:tab id="password" title="Password" validate="Settings.validatePassword()"helpid="userpreferences.password">182 <t:tab id="password" title="Password" helpid="userpreferences.password"> 186 183 <table class="fullform input100"> 187 184 <% if (!Application.isUsingInternalAuthentication() && writePermission) … … 216 213 217 214 <t:tab id="other" title="Other information" 218 validate="Settings.validateExtendedProperties()"helpid="userpreferences.other">215 helpid="userpreferences.other"> 219 216 <table class="fullform input100"> 220 217 <% … … 224 221 { 225 222 String name = ep.getName(); 223 String fieldName = "ep."+name; 226 224 Type type = ep.getType(); 227 225 boolean required = !ep.isNullable(); … … 237 235 { 238 236 %> 239 <input <%=isRequired%> <%=ifDisabled %> type="text" name="<%=name%>" 240 value="<%=value == null ? "" : value%>" style="width: 15em;" 241 maxlength="20" onkeypress="return Numbers.integerOnly(event)" 242 > 237 <input <%=isRequired%> <%=ifDisabled %> type="text" name="<%=fieldName%>" id="<%=fieldName%>" 238 value="<%=value == null ? "" : value%>" style="width: 15em;" maxlength="20"> 243 239 <% 244 240 } … … 246 242 { 247 243 %> 248 <input <%=isRequired%> <%=ifDisabled%> type="text" name="<%=name%>" 249 value="<%=value == null ? "" : value%>" style="width: 15em;" 250 maxlength="20" onkeypress="return Numbers.numberOnly(event)" 251 > 244 <input <%=isRequired%> <%=ifDisabled%> type="text" name="<%=fieldName%>" id="<%=fieldName%>" 245 value="<%=value == null ? "" : value%>" style="width: 15em;" maxlength="20"> 252 246 <% 253 247 } … … 255 249 { 256 250 %> 257 <input <%=isRequired%> <%=ifDisabled%> type="text" name="<%= name%>"251 <input <%=isRequired%> <%=ifDisabled%> type="text" name="<%=fieldName%>" 258 252 value="<%=HTML.encodeTags((String)value)%>" 259 maxlength="<%=ep.getLength()%>" 260 > 253 maxlength="<%=ep.getLength()%>"> 261 254 <% 262 255 } … … 265 258 addZoom = true; 266 259 %> 267 <textarea <%=isRequired%> <%=ifDisabled%> name="<%= name%>" rows="6"260 <textarea <%=isRequired%> <%=ifDisabled%> name="<%=fieldName%>" id="<%=fieldName%>" rows="6" 268 261 ><%=HTML.encodeTags((String)value)%></textarea> 269 262 <% … … 275 268 { 276 269 %> 277 <input type="radio" name="<%= name%>" id="<%=name%>.null" value=""270 <input type="radio" name="<%=fieldName%>" id="<%=fieldName%>.null" value="" 278 271 <%=b == null ? "checked" : ""%> 279 ><label for="<%= name%>.null"><i>- not specified -</i></label><br>272 ><label for="<%=fieldName%>.null"><i>- not specified -</i></label><br> 280 273 <% 281 274 } 282 275 %> 283 <input type="radio" name="<%= name%>" id="<%=name%>.true" value="true"276 <input type="radio" name="<%=fieldName%>" id="<%=fieldName%>.true" value="true" 284 277 <%=b != null && b == true ? "checked" : ""%> 285 ><label for="<%= name%>.true">true</label><br>286 <input type="radio" name="<%= name%>" id="<%=name%>.false" value="false"278 ><label for="<%=fieldName%>.true">true</label><br> 279 <input type="radio" name="<%=fieldName%>" id="<%=fieldName%>.false" value="false" 287 280 <%=b != null && b == false ? "checked" : ""%> 288 ><label for="<%= name%>.false">false</label>281 ><label for="<%=fieldName%>.false">false</label> 289 282 <% 290 283 } … … 295 288 <tr> 296 289 <td> 297 <input <%=isRequired%> <%=ifDisabled%> type="text" name="<%= name%>"290 <input <%=isRequired%> <%=ifDisabled%> type="text" name="<%=fieldName%>" id="<%=fieldName%>" 298 291 value="<%=dateFormatter.format((Date)value)%>" style="width: 15em;" 299 292 maxlength="20" title="Enter date in format: <%=dateFormat%>" … … 302 295 <td> 303 296 <base:button 304 onclick="<%="Dates.selectDate('"+HTML.javaScriptEncode(ep.getTitle())+"', 'user', '"+name+"', null, '"+jsDateFormat +"')"%>" 297 id="<%="btn."+fieldName%>" 298 data-extended-property="<%=name%>" 305 299 image="calendar.png" 306 300 title="Calendar…" … … 319 313 <tr> 320 314 <td> 321 <input <%=isRequired%> <%=ifDisabled%> type="text" name="<%= name%>"315 <input <%=isRequired%> <%=ifDisabled%> type="text" name="<%=fieldName%>" id="<%=fieldName%>" 322 316 value="<%=dateTimeFormatter.format((Date)value)%>" style="width: 15em;" 323 317 maxlength="20" title="Enter timestamp in format: <%=dateTimeFormat%>" … … 326 320 <td> 327 321 <base:button 328 onclick="<%="Dates.selectDateTime('"+HTML.javaScriptEncode(ep.getTitle())+"', 'user', '"+name+"', null, '"+jsDateTimeFormat +"')"%>" 322 id="<%="btn."+fieldName%>" 323 data-extended-property="<%=name%>" 329 324 image="calendar.png" 330 325 title="Calendar…" … … 340 335 </td> 341 336 <td style="width: 20px;"> 342 <%if (addZoom) 337 <% 338 if (addZoom) 343 339 { 344 340 %> 345 <base:icon image="zoom.png" 346 onclick="<%="Main.zoom('" + HTML.javaScriptEncode(ep.getTitle()) + "', 'user', '" + name + "')"%>" 347 tooltip="Edit in larger window" 348 visible="<%=writePermission%>" 349 /> 341 <base:zoom textarea="<%=fieldName%>" title="<%=HTML.encodeTags(ep.getTitle()) %>" /> 350 342 <% 351 343 } … … 360 352 <th>Description</th> 361 353 <td> 362 <textarea <%=ifDisabled%> rows="5" name="description" ><%=HTML.encodeTags(user.getDescription())%></textarea>354 <textarea <%=ifDisabled%> rows="5" name="description" id="description"><%=HTML.encodeTags(user.getDescription())%></textarea> 363 355 </td> 364 356 <td style="width: 20px;"> 365 <base:icon image="zoom.png" 366 onclick="Main.zoom('Description', 'user', 'description')" 367 tooltip="Edit in larger window" 368 visible="<%=writePermission%>" 369 /> 357 <base:zoom textarea="description" title="Description" /> 370 358 </td> 371 359 </tr> … … 376 364 377 365 <base:buttongroup subclass="dialogbuttons"> 378 <base:button onclick="Settings.save();" title="Save" visible="<%=writePermission%>"/>379 <base:button onclick="window.close();" title="Cancel" visible="<%=writePermission%>"/>380 <base:button onclick="window.close();" title="Close" visible="<%=!writePermission%>"/>366 <base:button id="btnSave" title="Save" visible="<%=writePermission%>"/> 367 <base:button id="close" title="Cancel" visible="<%=writePermission%>"/> 368 <base:button id="close" title="Close" visible="<%=!writePermission%>"/> 381 369 </base:buttongroup> 382 370 -
trunk/www/my_base/user/submit_user.jsp
r5443 r6166 101 101 String name = ep.getName(); 102 102 Formatter formatter = FormatterFactory.getExtendedPropertyFormatter(sc, ep); 103 Object value = formatter.parseString(Values.getStringOrNull(request.getParameter( name)));103 Object value = formatter.parseString(Values.getStringOrNull(request.getParameter("ep."+name))); 104 104 user.setExtended(name, value); 105 105 }
Note: See TracChangeset
for help on using the changeset viewer.