Tags:
create new tag
view all tags

Question

Is there a way to set the field values that will be displayed in a TWiki form dynamically, instead of hard-coding them in the Values column of the form definition? What I would like to do is use the results of a search to populate these field values. To illustrate using the Operating System example in the TWiki documentation, if a topic called OsUbix was created, in addition to OsHPUX, OsLinux, OsSolaris and OsWin, the form could then show a checkbox for OsUbix without having to manually update the form definition. If this is not possible, is there any technical reason why this functionality could not be added?

  • TWiki version: 01 December 2001
  • Web server: Apache
  • Server OS: Linux
  • Web browser: IE 4.0 / Netscape
  • Client OS: Windows / Linux

-- TWikiGuest - 26 Apr 2002

Answer

Expanding variables in form definitions is currently not implemented.

You could try to hack this into the code. First, define a %SEARCH{...}% based on FormattedSearch that fills the value cell of the OperatingSystem field with a comma delimited list of Os* topics. Then, in TWiki::Forms::renderForEdit() you need to expand the variables (indicated in red):

        my %field = $meta->findOne( "FIELD", $fieldName );
        my $value = $field{"value"};
        $value = "" unless defined $value;  # allow "0" values 
        $value = TWiki::handleCommonTags( $value, $TWiki::topicName ); 

(This code has not been tested)

-- PeterThoeny - 27 Apr 2002

Follow-up

I tried the above code change and tested it with a %SEARCH{...}% as suggested. The search evaluated fine in the form definition topic, but did not have the desired effect when editing a topic that used that form. There the search string remained unevaluated. The generated HTML was like the following:


<table border="1" cellspacing="0" cellpadding="0">
   <tr><th bgcolor="#99CCCC" colspan=2><a target="FormTest2"
 onClick="return launchWindow('Jonstestweb','FormTest2')" 
 title="Click to see details in separate window" 
 href="/twiki/bin/view/Jonstestweb/FormTest2">FormTest2</a> <input type="submit"
 name="submitChangeForm" value=" &nbsp; Change &nbsp; " /></th 
bgcolor="#99CCCC"></tr>
   <tr> <th bgcolor="#99CCCC" align="right"><span title="Check one or more categories ">Dynamically Populated</span> </th 
bgcolor="#99CCCC"><td align="left"> <table  cellspacing="0" cellpadding="0"><tr>
<td><input type="checkbox" name="DynamicallyPopulated%SEARCH{Os[A-Za-z0-9]*
 scope=topic order=topic regex=on casesensitive=on nosearch=on nototal=on format=$topic" />%SEARCH{Os[A-Za-z0-9]* scope=topic 
order=topic regex=on casesensitive=on nosearch=on nototal=on format=$topic &nbsp;&nbsp;</td>
<td><input type="checkbox" name="DynamicallyPopulated}%" />}% 
&nbsp;&nbsp;</td>
</tr></table>

-- TWikiGuest - 2 May 2002

Edit | Attach | Watch | Print version | History: r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r3 - 2002-05-02 - TWikiGuest
 
  • Learn about TWiki  
  • Download TWiki
This site is powered by the TWiki collaboration platform Powered by Perl Hosted by OICcam.com Ideas, requests, problems regarding TWiki? Send feedback. Ask community in the support forum.
Copyright © 1999-2026 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.