Dev - Lookup Form Widget Question

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Dev - Lookup Form Widget Question

Michael Irving

Is there a way to pass a parm to a lookup form?

 

I’m trying to have the lookup for filter out records based on a partyId.  I was looking to have my main form do something like this:

 

        <field name="workEffortId" title="Task">

           <lookup target-form-name="LookupPartyAssginedWorkEffort?partyId=${partyId}"/>

        </field>

 

Then, the bsh for the form would be able to query WorkEffortAndPartyAssign for the given partyId….but that didn’t work.

 

 

Any ideas would be GREATLY appreciated

 

-----------------------------------------

Michael Irving

Keynetx, Inc. - Building Solutions for Success

Mobile: (267)474.3564

Fax: (215) 529-5399

email: [hidden email]

 

* * * Visit Our Web Site: http://www.keynetx.net * * *

 

--------------------------------------------------------------------------------

NOTICE: If received in error, please destroy and notify sender. Sender does not waive confidentiality or privilege, and use is prohibited.

 


 
_______________________________________________
Dev mailing list
[hidden email]
http://lists.ofbiz.org/mailman/listinfo/dev
Reply | Threaded
Open this post in threaded view
|

Re: Dev - Lookup Form Widget Question

byersa
Michael,

There is an attribute to lookup that is not in the schema file. It is
"target-parameter". I would commit it, but I am having trouble
connecting to the svn server.

It should be the name of a field in the form. In your case, "partyId".
It will get the value of that field and send it to the server as
"parm0=<value>". So, it is limited to fields in your form, but you
should be able to add just about any hidden field if you need to.

You can have more than one parameter in target-parameter. Separate them
with ",".

-Al


Michael Irving wrote:

> Is there a way to pass a parm to a lookup form?
>
> I’m trying to have the lookup for filter out records based on a
> partyId. I was looking to have my main form do something like this:
>
> <field name="workEffortId" title="Task">
>
> <lookup
> target-form-name="LookupPartyAssginedWorkEffort?partyId=${partyId}"/>
>
> </field>
>
> Then, the bsh for the form would be able to query
> WorkEffortAndPartyAssign for the given partyId….but that didn’t work.
>
> Any ideas would be GREATLY appreciated
>

 
_______________________________________________
Dev mailing list
[hidden email]
http://lists.ofbiz.org/mailman/listinfo/dev
Reply | Threaded
Open this post in threaded view
|

RE: Dev - Lookup Form Widget Question

Michael Irving
Thanks Al.  

When I used "target-parameter", it doesn't appear that call_fieldlookup2 can
handle the third parameter.  Was fieldlookup.js also modified to support
this?

function call_fieldlookup2(target, viewName) {  
    var fieldLookup = new fieldLookup1(target);  
    fieldLookup.popup2(viewName);
}

-----Original Message-----
From: [hidden email] [mailto:[hidden email]] On
Behalf Of Al Byers
Sent: Friday, December 16, 2005 5:21 PM
To: OFBiz Project Development Discussion
Subject: Re: [OFBiz] Dev - Lookup Form Widget Question

Michael,

There is an attribute to lookup that is not in the schema file. It is
"target-parameter". I would commit it, but I am having trouble
connecting to the svn server.

It should be the name of a field in the form. In your case, "partyId".
It will get the value of that field and send it to the server as
"parm0=<value>". So, it is limited to fields in your form, but you
should be able to add just about any hidden field if you need to.

You can have more than one parameter in target-parameter. Separate them
with ",".

-Al


Michael Irving wrote:

> Is there a way to pass a parm to a lookup form?
>
> I'm trying to have the lookup for filter out records based on a
> partyId. I was looking to have my main form do something like this:
>
> <field name="workEffortId" title="Task">
>
> <lookup
> target-form-name="LookupPartyAssginedWorkEffort?partyId=${partyId}"/>
>
> </field>
>
> Then, the bsh for the form would be able to query
> WorkEffortAndPartyAssign for the given partyId..but that didn't work.
>
> Any ideas would be GREATLY appreciated
>

 
_______________________________________________
Dev mailing list
[hidden email]
http://lists.ofbiz.org/mailman/listinfo/dev

 
_______________________________________________
Dev mailing list
[hidden email]
http://lists.ofbiz.org/mailman/listinfo/dev
Reply | Threaded
Open this post in threaded view
|

Re: Dev - Lookup Form Widget Question

byersa
Michael,

It appears that you have an out-of-date version. The latest version has
a second, "arguments", parameter in the fieldLookup1 constructor call. I
thought this was changed a while back, so you may want to catch up.

function call_fieldlookup2(target, viewName) {  
    var fieldLookup = new fieldLookup1(target, arguments);
    fieldLookup.popup2(viewName);
}

-Al

Michael Irving wrote:

>Thanks Al.  
>
>When I used "target-parameter", it doesn't appear that call_fieldlookup2 can
>handle the third parameter.  Was fieldlookup.js also modified to support
>this?
>
>function call_fieldlookup2(target, viewName) {  
>    var fieldLookup = new fieldLookup1(target);  
>    fieldLookup.popup2(viewName);
>}
>
>-----Original Message-----
>From: [hidden email] [mailto:[hidden email]] On
>Behalf Of Al Byers
>Sent: Friday, December 16, 2005 5:21 PM
>To: OFBiz Project Development Discussion
>Subject: Re: [OFBiz] Dev - Lookup Form Widget Question
>
>Michael,
>
>There is an attribute to lookup that is not in the schema file. It is
>"target-parameter". I would commit it, but I am having trouble
>connecting to the svn server.
>
>It should be the name of a field in the form. In your case, "partyId".
>It will get the value of that field and send it to the server as
>"parm0=<value>". So, it is limited to fields in your form, but you
>should be able to add just about any hidden field if you need to.
>
>You can have more than one parameter in target-parameter. Separate them
>with ",".
>
>-Al
>
>
>Michael Irving wrote:
>
>  
>
>>Is there a way to pass a parm to a lookup form?
>>
>>I'm trying to have the lookup for filter out records based on a
>>partyId. I was looking to have my main form do something like this:
>>
>><field name="workEffortId" title="Task">
>>
>><lookup
>>target-form-name="LookupPartyAssginedWorkEffort?partyId=${partyId}"/>
>>
>></field>
>>
>>Then, the bsh for the form would be able to query
>>WorkEffortAndPartyAssign for the given partyId..but that didn't work.
>>
>>Any ideas would be GREATLY appreciated
>>
>>    
>>
>
>
>_______________________________________________
>Dev mailing list
>[hidden email]
>http://lists.ofbiz.org/mailman/listinfo/dev
>
>
>_______________________________________________
>Dev mailing list
>[hidden email]
>http://lists.ofbiz.org/mailman/listinfo/dev
>
>  
>

 
_______________________________________________
Dev mailing list
[hidden email]
http://lists.ofbiz.org/mailman/listinfo/dev
Reply | Threaded
Open this post in threaded view
|

Re: Dev - Lookup Form Widget Question

byersa
In reply to this post by Michael Irving
Hey Micheal,

I got to thinking that your idea for fixing this was worth putting in.
Would you mind testing it before it gets committed? I hacked up two
patch files because I had other changes in them; so you will have to
patch them by hand. And I included a method from the fieldlookup.js  
that needs to be replaced.

If you can't get to it, it will eventually make itself into the base.

Thanks,

-Al

P.S. This will make you an official deputy psuedo-committer. Your secret
decoder ring will be sent by special courier. :0)

Index: src/org/ofbiz/widget/form/ModelFormField.java
===================================================================
--- src/org/ofbiz/widget/form/ModelFormField.java       (revision 6278)
+++ src/org/ofbiz/widget/form/ModelFormField.java       (working copy)

     public static class LookupField extends TextField {
-        protected String formName;
+        protected FlexibleStringExpander formName;
         protected String descriptionFieldName;
         protected String targetParameter;

         public LookupField(Element element, ModelFormField
modelFormField) {
             super(element, modelFormField);
-            this.formName = element.getAttribute("target-form-name");
+            this.formName = new
FlexibleStringExpander(element.getAttribute("target-form-name"));
             this.descriptionFieldName =
element.getAttribute("description-field-name");
             this.targetParameter =
element.getAttribute("target-parameter");
         }
@@ -2645,8 +2683,8 @@
             formStringRenderer.renderLookupField(buffer, context, this);
         }

-        public String getFormName() {
-            return this.formName;
+        public String getFormName(Map context) {
+            return this.formName.expandString(context);
         }

         public List getTargetParameterList() {


Index: src/org/ofbiz/widget/html/HtmlFormRenderer.java
===================================================================
--- src/org/ofbiz/widget/html/HtmlFormRenderer.java     (revision 6278)
+++ src/org/ofbiz/widget/html/HtmlFormRenderer.java     (working copy)
@@ -1655,7 +1688,7 @@
             buffer.append(modelFormField.getParameterName(context));
             buffer.append(", '");
         }
-        buffer.append(lookupField.getFormName());
+        buffer.append(lookupField.getFormName(context));
         buffer.append("'");
         List targetParameterList = lookupField.getTargetParameterList();
         if (targetParameterList.size() > 0) {


framework/images/webapp/images/fieldlookup.js:

function lookup_popup2 (view_name) {
    var argString = "";
    if (this.args.length > 2) {
        for(var i=2; i < this.args.length; i++) {
            argString += "&parm" + (i-2) + "=" + this.args[i];
        }
    }
    var sep = "?";
    if (view_name.indexOf("?") >= 0) {
        sep = "&";
    }
    var obj_lookupwindow = window.open(view_name + sep + 'id=' + this.id
+ argString,'FieldLookup',
'width=700,height=550,scrollbars=yes,status=no,resizable=yes,top='+my+',left='+mx+',dependent=yes,alwaysRaised=yes');
    obj_lookupwindow.opener = window;
    obj_lookupwindow.focus();
}

Michael Irving wrote:

>Thanks Al.  
>
>When I used "target-parameter", it doesn't appear that call_fieldlookup2 can
>handle the third parameter.  Was fieldlookup.js also modified to support
>this?
>
>function call_fieldlookup2(target, viewName) {  
>    var fieldLookup = new fieldLookup1(target);  
>    fieldLookup.popup2(viewName);
>}
>
>-----Original Message-----
>From: [hidden email] [mailto:[hidden email]] On
>Behalf Of Al Byers
>Sent: Friday, December 16, 2005 5:21 PM
>To: OFBiz Project Development Discussion
>Subject: Re: [OFBiz] Dev - Lookup Form Widget Question
>
>Michael,
>
>There is an attribute to lookup that is not in the schema file. It is
>"target-parameter". I would commit it, but I am having trouble
>connecting to the svn server.
>
>It should be the name of a field in the form. In your case, "partyId".
>It will get the value of that field and send it to the server as
>"parm0=<value>". So, it is limited to fields in your form, but you
>should be able to add just about any hidden field if you need to.
>
>You can have more than one parameter in target-parameter. Separate them
>with ",".
>
>-Al
>
>
>Michael Irving wrote:
>
>  
>
>>Is there a way to pass a parm to a lookup form?
>>
>>I'm trying to have the lookup for filter out records based on a
>>partyId. I was looking to have my main form do something like this:
>>
>><field name="workEffortId" title="Task">
>>
>><lookup
>>target-form-name="LookupPartyAssginedWorkEffort?partyId=${partyId}"/>
>>
>></field>
>>
>>Then, the bsh for the form would be able to query
>>WorkEffortAndPartyAssign for the given partyId..but that didn't work.
>>
>>Any ideas would be GREATLY appreciated
>>
>>    
>>
>
>
>_______________________________________________
>Dev mailing list
>[hidden email]
>http://lists.ofbiz.org/mailman/listinfo/dev
>
>
>_______________________________________________
>Dev mailing list
>[hidden email]
>http://lists.ofbiz.org/mailman/listinfo/dev
>
>  
>

 
_______________________________________________
Dev mailing list
[hidden email]
http://lists.ofbiz.org/mailman/listinfo/dev