Dear all, I would like to put a variable to an item of a repeater widget:
miscs[0].code = "ISIL"; miscs[0].misc = cocoon.session.getAttribute("mpf_aaa_isil"); Maybe i must change somehow the binding file: <fb:context path="misc-group"> <fb:repeater id="miscs" parent-path="." row-path="misc"> <fb:on-bind> <!-- <fb:value id="misc" path="."/> --> <fb:javascript id="miscs.0.misc" path="."> <fb:load-form> ???? </fb:load-form> <fb:save-form> ???? </fb:save-form> </fb:javascript> <!-- <fb:value id="code" path="@role"/> --> <fb:javascript id="miscs.0.code" path="@role"> <fb:load-form> ???? </fb:load-form> <fb:save-form> ???? </fb:save-form> </fb:javascript> </fb:on-bind> <fb:on-delete-row> <fb:delete-node/> </fb:on-delete-row> <fb:on-insert-row> <fb:insert-node/> </fb:on-insert-row> </fb:repeater> </fb:context> Could anyone help me. Best Regards, Erik Hovi
<?xml version="1.0" encoding="UTF-8"?> <!-- physical-collection model --> <fd:form xmlns:fd="http://apache.org/cocoon/forms/1.0#definition" xmlns:i18n="http://apache.org/cocoon/i18n/2.1" xmlns:xdepo="http://xdepo.org/xdepo/1.0" > <fd:widgets> <fd:field id="xdepo"> <fd:datatype base="string"/> </fd:field> <fd:field id="xdepopage"> <fd:label></fd:label> <fd:datatype base="string"/> <fd:selection-list src="../../xdepo-local/datatypes/mpf/physical-collection/forms/form1/pages.xml" dynamic="true"/> </fd:field> <fd:output id="creation-date"> <fd:label><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.creation-date"/></fd:label> <fd:help><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.creation-date.help"/></fd:help> <fd:datatype base="string"/> </fd:output> <fd:output id="modification-date"> <fd:label><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.modification-date"/></fd:label> <fd:help><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.modification-date.help"/></fd:help> <fd:datatype base="string"/> </fd:output> <fd:output id="agent"> <fd:label><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.agent"/></fd:label> <fd:help><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.agent.help"/></fd:help> <fd:datatype base="string"/> </fd:output> <fd:field id="update"> <fd:label><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.update"/></fd:label> <fd:hint><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.update.hint"/></fd:hint> <fd:help><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.update.help"/></fd:help> <fd:datatype base="date"> <fd:convertor> <fd:patterns> <fd:pattern>yyyy-MM-dd</fd:pattern> </fd:patterns> </fd:convertor> </fd:datatype> </fd:field> <fd:field id="language"> <fd:label><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.language"/></fd:label> <fd:hint><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.language.hint"/></fd:hint> <fd:help><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.language.help"/></fd:help> <fd:datatype base="string"/> <fd:selection-list src="../../xdepo-local/common/langs.xml"/> </fd:field> <xdepo:widget name="chooseWidgetSupervisor"> <xdepo:sub-widget role="supervisor"> <fd:field id="record-status"> <fd:label><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.status"/></fd:label> <fd:hint><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.status.hint"/></fd:hint> <fd:help><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.status.help"/></fd:help> <fd:datatype base="string"/> <fd:selection-list src="cocoon:/listvalues.xml?uri=/Lists/&doc=record-status.xml"/> </fd:field> </xdepo:sub-widget> <xdepo:sub-widget role="others"> <fd:output id="record-status"> <fd:label><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.status"/></fd:label> <fd:hint><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.status.hint"/></fd:hint> <fd:help><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.status.help"/></fd:help> <fd:datatype base="string"/> </fd:output> </xdepo:sub-widget> </xdepo:widget> <fd:field id="right"> <fd:label><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.rights"/></fd:label> <fd:hint><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.rights.hint"/></fd:hint> <fd:help><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.rights.help"/></fd:help> <fd:datatype base="string"/> </fd:field> <fd:field id="comment"> <fd:label><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.comment"/></fd:label> <fd:hint><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.comment.hint"/></fd:hint> <fd:help><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.comment.help"/></fd:help> <fd:datatype base="string"/> </fd:field> <fd:field id="misc-val"> <fd:label><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.misc.val"/></fd:label> <fd:datatype base="string"/> </fd:field> <fd:repeater id="miscs" initial-size="1"> <fd:label><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.misc"/></fd:label> <fd:widgets> <fd:output id="id"> <fd:datatype base="long"/> </fd:output> <fd:field id="code"> <fd:label><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.misc.code"/></fd:label> <fd:hint><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.misc.hint"/></fd:hint> <fd:help><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.misc.help"/></fd:help> <fd:datatype base="string"/> </fd:field> <fd:field id="misc"> <fd:datatype base="string"/> </fd:field> <fd:row-action id="removemisc" action-command="delete"> <fd:label><i18n:text key="less"/></fd:label> </fd:row-action> <fd:row-action id="addmisc" action-command="add-after"> <fd:label><i18n:text key="more"/></fd:label> </fd:row-action> </fd:widgets> </fd:repeater> </fd:widgets> </fd:form>
<?xml version="1.0" encoding="UTF-8"?> <!-- physical-collection binding --> <fb:context xmlns:fb="http://apache.org/cocoon/forms/1.0#binding" xmlns:fd="http://apache.org/cocoon/forms/1.0#definition" path="/physical-collection"> <fb:javascript id="xdepo" path="/physical-collection/@xdepo:datatype"> <fb:load-form> createNonExistentElement( jxpathContext,"/physical-collection", "metadata",0); createNonExistentElementWithAttribute( jxpathContext,"/physical-collection/metadata", "language",0,"code"); createNonExistentElementWithAttribute( jxpathContext,"/physical-collection/metadata", "record-status",1,"code"); </fb:load-form> <fb:save-form> </fb:save-form> </fb:javascript> <fb:context path="metadata"> <fb:value id="creation-date" path="creation/date"/> <fb:value id="modification-date" path="modification/date"/> <fb:javascript id="update" path="update"> <fb:load-form> var update = jxpathPointer.getValue(); var date = new java.text.SimpleDateFormat("yyyy-MM-dd").parse(update); widget.setValue(date); </fb:load-form> <fb:save-form> jxpathPointer.setValue(new java.text.SimpleDateFormat("yyyy-MM-dd").format(widget.getValue())); </fb:save-form> </fb:javascript> <fb:javascript id="record-status" path="record-status/@code"> <fb:load-form> var role = cocoon.session.getAttribute("mpf_role"); var contadmin = cocoon.session.getAttribute("mpf_contadmin"); var systadmin = cocoon.session.getAttribute("mpf_systadmin"); var value= ""; if (role.equals("supervisor") || contadmin.equals("true") || systadmin.equals("true")) { var currentval = jxpathPointer.getValue(); if (currentval=="") { value = "valid"; } else { value = currentval; } } else { value = "draft"; } widget.setValue(value); </fb:load-form> <fb:save-form> var role = cocoon.session.getAttribute("mpf_role"); var contadmin = cocoon.session.getAttribute("mpf_contadmin"); var systadmin = cocoon.session.getAttribute("mpf_systadmin"); if (role.equals("supervisor") || contadmin.equals("true") || systadmin.equals("true")) { jxpathPointer.setValue(widget.getValue()); if (widget.getValue().equals("valid")){ var date = new java.util.Date(); var df = new java.text.SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss").format(date); var login = cocoon.session.getAttribute("xdepo_login"); var name=""; var email=""; var database = cocoon.session.getAttribute("xdepo_instance"); var xdbuser = DatabaseManager.getCollection("xmldb:"+database+":///db" + "/mpf/conf/users/", "admin", getGlobalVariable(database+"-admin-pwd")); var userservice = xdbuser.getService( "XQueryService", "1.0" ); var q = userservice.queryResource(login+".xml","/user/name/text()"); if (q.getSize() > 0){ name = q.getResource(0).getContent(); } var q2 = userservice.queryResource(login+".xml","/user/email/text()"); if (q2.getSize() > 0){ email = q2.getResource(0).getContent(); } var metadata = jxpathContext.getPointer("/*/metadata"); var validation = jxpathContext.getPointer("/*/metadata/validation"); var qname = new Packages.org.apache.commons.jxpath.ri.QName("validation"); if (validation.getNode()==null){ metadata.createChild(jxpathContext, qname, 0); validation = jxpathContext.getPointer("/*/metadata/validation"); } var validationdate = jxpathContext.getPointer("/*/metadata/validation/date"); qname = new Packages.org.apache.commons.jxpath.ri.QName("date"); if (validationdate.getNode()==null){ validation.createChild(jxpathContext, qname, 0,df); } var validationagent = jxpathContext.getPointer("/*/metadata/validation/agent"); qname = new Packages.org.apache.commons.jxpath.ri.QName("agent"); if(validationagent.getNode()==null){ validation.createChild(jxpathContext, qname, 0); validationagent = jxpathContext.getPointer("/*/metadata/validation/agent"); } var validationagentcode = jxpathContext.getPointer("/*/metadata/validation/agent/@code"); var premiervalidationagent = jxpathContext.getPointer("/*/metadata/validation/agent/@code"); qname = new Packages.org.apache.commons.jxpath.ri.QName("code"); if(validationagentcode.getNode()==null){ validationagent.createAttribute(jxpathContext, qname).setValue(login); } var validationagentname = jxpathContext.getPointer("/*/metadata/validation/agent/@name"); qname = new Packages.org.apache.commons.jxpath.ri.QName("name"); if(validationagentname.getNode()==null && premiervalidationagent.getNode()==null){ validationagent.createAttribute(jxpathContext, qname).setValue(name); } var validationagentmail = jxpathContext.getPointer("/*/metadata/validation/agent/@email"); qname = new Packages.org.apache.commons.jxpath.ri.QName("email"); if(validationagentmail.getNode()==null && premiervalidationagent.getNode()==null){ validationagent.createAttribute(jxpathContext, qname).setValue(email); } } } else { jxpathPointer.setValue("draft"); } </fb:save-form> </fb:javascript> <fb:value id="agent" path="owner/agent/@code"/> <fb:value id="right" path="rights"/> <fb:javascript id="language" path="language/@code"> <fb:load-form> var value = jxpathPointer.getValue(); if (value=="") { value = cocoon.session.getAttribute("xdepo_lang"); } widget.setValue(value); </fb:load-form> <fb:save-form> jxpathPointer.setValue(widget.getValue()); </fb:save-form> </fb:javascript> <fb:javascript id="comment" path="comment"> <fb:load-form> loadingWidgetWithSeparator(widget, jxpathPointer,"\n\n"); </fb:load-form> <fb:save-form> creatingElementWithSeparator(widget, jxpathPointer,jxpathContext,"\r\n","\n","p"); </fb:save-form> </fb:javascript> <fb:context path="misc-group"> <fb:repeater id="miscs" parent-path="." row-path="misc"> <fb:on-bind> <fb:value id="misc" path="."/> <fb:value id="code" path="@role"/> </fb:on-bind> <fb:on-delete-row> <fb:delete-node/> </fb:on-delete-row> <fb:on-insert-row> <fb:insert-node/> </fb:on-insert-row> </fb:repeater> </fb:context> </fb:context> </fb:context>
<?xml version="1.0" encoding="UTF-8"?> <!-- physical-collection template --> <document xmlns:ft="http://apache.org/cocoon/forms/1.0#template" xmlns:fi="http://apache.org/cocoon/forms/1.0#instance" xmlns:i18n="http://apache.org/cocoon/i18n/2.1" xmlns:xdepo="http://xdepo.org/xdepo/1.0"> <header> <title> <i18n:text i18n:catalogue="mpf_michael-forms" key="physical-collection.header"/> </title> <style href="lib/xdepo/css/viewer.css"/> </header> <body id="formulaire"> <div class="main"> <ft:form-template name="physical-collection" method="POST" action="#{$continuation/id}.continue?uri=${cocoon.request.uri}&doc=${cocoon.request.doc}"> <div class="infocontext"> <p> <i18n:text i18n:catalogue="mpf_michael-forms" key="physical-collection.header"/> <xdepo:viewer-context base="${cocoon.request.uri}" title="${cocoon.request.uri}"/> : ${cocoon.request.doc}  <ft:widget id="xdepopage"> <fi:styling onChange="FormSubmit('physical-collection');"/> </ft:widget> </p> </div> <fi:validation-errors> <header> <i18n:text i18n:catalogue="mpf_michael-forms" key="michael.validation.errors.header"/> </header> <footer> <i18n:text i18n:catalogue="mpf_michael-forms" key="michael.validation.errors.footer"/> </footer> </fi:validation-errors> <table align="center" cellpadding="0" cellspacing="0" class="form"> <tr> <td colspan="2"> <table width="100%" cellpadding="0" cellspacing="0"> <!--creation date--> <tr class="line b1"> <td class="missing"> <xdepo:alert id="creation-date"/> </td> <td class="mandatory"> <xdepo:required id="creation-date"/> </td> <td class="more"> </td> <td class="less"> </td> <td class="label"> <ft:widget-label id="creation-date"/> </td> <td class="value"> <ft:widget id="creation-date"> <fi:styling help="false" required="false" validation="false"/> </ft:widget> </td> <td class="help"> <xdepo:help id="creation-date"> <img src="resources/help.gif" border="0"/> </xdepo:help> </td> </tr> <!--modification date--> <tr class="line b2"> <td class="missing"> <xdepo:alert id="modification-date"/> </td> <td class="mandatory"> <xdepo:required id="modification-date"/> </td> <td class="more"> </td> <td class="less"> </td> <td class="label"> <ft:widget-label id="modification-date"/> </td> <td class="value"> <ft:widget id="modification-date"> <fi:styling help="false" required="false" validation="false"/> </ft:widget> </td> <td class="help"> <xdepo:help id="modification-date"> <img src="resources/help.gif" border="0"/> </xdepo:help> </td> </tr> <!--update--> <tr class="line b1"> <td class="missing"> <xdepo:alert id="update"/> </td> <td class="mandatory"> <xdepo:required id="update"/> </td> <td class="more"> </td> <td class="less"> </td> <td class="label"> <ft:widget-label id="update"/> </td> <td class="value"> <ft:widget id="update"> <fi:styling help="false" required="false" validation="false"/> </ft:widget> </td> <td class="help"> <xdepo:help id="update"> <img src="resources/help.gif" border="0"/> </xdepo:help> </td> </tr> <!--record-status--> <tr class="line b2"> <td class="missing"> <xdepo:alert id="record-status"/> </td> <td class="mandatory"> <xdepo:required id="record-status"/> </td> <td class="more"> </td> <td class="less"> </td> <td class="label"> <ft:widget-label id="record-status"/> </td> <td class="value"> <ft:widget id="record-status"> <fi:styling help="false" required="false" validation="false"/> </ft:widget> </td> <td class="help"> <xdepo:help id="record-status"> <img src="resources/help.gif" border="0"/> </xdepo:help> </td> </tr> <!--agent--> <tr class="line b1"> <td class="missing"> <xdepo:alert id="agent"/> </td> <td class="mandatory"> <xdepo:required id="agent"/> </td> <td class="more"> </td> <td class="less"> </td> <td class="label"> <ft:widget-label id="agent"/> </td> <td class="value"> <ft:widget id="agent"> <fi:styling help="false" required="false" validation="false"/> </ft:widget> </td> <td class="help"> <xdepo:help id="agent"> <img src="resources/help.gif" border="0"/> </xdepo:help> </td> </tr> <!--right--> <tr class="line b2"> <td class="missing"> <xdepo:alert id="right"/> </td> <td class="mandatory"> <xdepo:required id="right"/> </td> <td class="more"> </td> <td class="less"> </td> <td class="label"> <ft:widget-label id="right"/> </td> <td class="value"> <ft:widget id="right"> <fi:styling help="false" required="false" validation="false"/> </ft:widget> </td> <td class="help"> <xdepo:help id="right"> <img src="resources/help.gif" border="0"/> </xdepo:help> </td> </tr> <!--language--> <tr class="line b1"> <td class="missing"> <xdepo:alert id="language"/> </td> <td class="mandatory"> <xdepo:required id="language"/> </td> <td class="more"> </td> <td class="less"> </td> <td class="label"> <ft:widget-label id="language"/> </td> <td class="value"> <ft:widget id="language"> <fi:styling help="false" required="false" validation="false"/> </ft:widget> </td> <td class="help"> <xdepo:help id="language"> <img src="resources/help.gif" border="0"/> </xdepo:help> </td> </tr> <!--comment--> <tr class="line b2"> <td class="missing"> <xdepo:alert id="comment"/> </td> <td class="mandatory"> <xdepo:required id="comment"/> </td> <td class="more"> </td> <td class="less"> </td> <td class="label"> <ft:widget-label id="comment"/> </td> <td class="value"> <ft:widget id="comment"> <fi:styling help="false" required="false" validation="false" type="textarea"/> </ft:widget> </td> <td class="help"> <xdepo:help id="comment"> <img src="resources/help.gif" border="0"/> </xdepo:help> </td> </tr> <!--misc--> <ft:repeater-widget id="miscs"> <tr class="line b1"> <td class="missing">   </td> <td class="mandatory">   </td> <td class="more"> <ft:widget id="addmisc"> <xdepo:button type="img" role="add" code="misc"/> </ft:widget> </td> <td class="less"> <ft:widget id="removemisc"> <xdepo:button type="img" role="remove" code="misc"/> </ft:widget> </td> <td class="label"> <i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.misc"/> </td> <td class="value"> <table cellspacing="0" cellpadding="0"> <tr> <td align="center"> <i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.misc.code"/> </td> <td align="center"> <i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.misc.val"/> </td> </tr> <tr> <td> <ft:widget id="code"> <fi:styling size="10" help="false"/> </ft:widget> </td> <td> <ft:widget id="misc"> <fi:styling size="60"/> </ft:widget> </td> </tr> </table> </td> <td class="help"> <xdepo:help id1="miscs." id2=".code"> <img src="resources/help.gif" border="0"/> </xdepo:help> </td> </tr> </ft:repeater-widget> <!--navigation--> <tr> <td> </td> <td colspan="6"> <table align="center" width="100%"> <tr> <td align="left" width="33%"> <input type="submit" name="prev" value="Prev" i18n:attr="value"/> </td> <td align="center" width="33%"> <input type="submit" name="save" value="Save" i18n:attr="value"/> </td> <td align="right" width="33%"> </td> </tr> </table> </td> </tr> </table> </td> </tr> </table> </ft:form-template> </div> </body> </document>
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]