Difference between revisions of "Using the request Object"

From AgileApps Support Wiki
imported>Aeric
imported>Aeric
Line 30: Line 30:
     String object_id = request.getParameter("object_id");
     String object_id = request.getParameter("object_id");
     String selectedRecords = request.getParameter("selectedRecords");  
     String selectedRecords = request.getParameter("selectedRecords");  
String filterCriteria = "";
    String filterCriteria = "";
if (selectedRecords != null)
    if (selectedRecords != null)
{
    {
StringTokenizer st = new StringTokenizer(selectedRecords,",");
StringTokenizer st = new StringTokenizer(selectedRecords,",");
while (st.hasMoreTokens())
while (st.hasMoreTokens())
Line 42: Line 42:
filterCriteria += "record_id = "+ st.nextToken();
filterCriteria += "record_id = "+ st.nextToken();
}
}
}
    }
     Result result;
     Result result;
     result = Functions.searchRecords(object_id , "record_id,name", filterCriteria);
     result = Functions.searchRecords(object_id , "record_id,name", filterCriteria);
     int resultCode = result.getCode();
     int resultCode = result.getCode();
if (resultCode < 0)
    if (resultCode < 0)
{
    {
}
    }
else if (resultCode == 0)
    else if (resultCode == 0)
{
    {
// No records found. Take action according to your business logic
        // No records found. Take action according to your business logic
}
    }
else
    else
{
    {
//Records retrieved successfully
        //Records retrieved successfully
ParametersIterator iterator = result.getIterator();
        ParametersIterator iterator = result.getIterator();
while(iterator.hasNext())
        while(iterator.hasNext())
{
        {
Parameters params = iterator.next();
            Parameters params = iterator.next();
String recordID = params.get("record_id");
            String recordID = params.get("record_id");
String recordName = params.get("name");
            String recordName = params.get("name");
// Take action according to your business logic
            // Take action according to your business logic
}
        }
}
    }
%>
%>
</syntaxhighlight>
</syntaxhighlight>

Revision as of 20:02, 11 January 2013

To get all of the parameters available in the request object, and their values:

<%
  String[] params = request.getParameterValues();
  for (int i=0; i<params.length; i++)
  {
    String paramName = params[i];
    String paramValue = request.getParameter( paramName );
  }
%>

To obtain a record identifier from a request object sent by the platform:

<%
  String object_id = request.getParameter("object_id");
  String record_id = request.getParameter("record_id");
%>

Notepad.png

Note: Although the object_id is alphanumeric, it can be used in any API that requires an object name.

To obtain a record identifier from a request object sent by a Custom Action button:

A Custom Action button can be applied to one record, or to several records at one time, if the user took advantage of the More Actions feature in the record list view. Because it can be applied to more than one record at a time, the process for obtaining record IDs differs somewhat.

Here is the code that does the job:

<%
    String object_id = request.getParameter("object_id");
    String selectedRecords = request.getParameter("selectedRecords"); 
    String filterCriteria = "";
    if (selectedRecords != null)
    {
		StringTokenizer st = new StringTokenizer(selectedRecords,",");
		while (st.hasMoreTokens())
		{
			if ( !"".equals(filterCriteria.trim()))
			{
				filterCriteria = " OR "
			}
			filterCriteria += "record_id = "+ st.nextToken();
		}
    }
    Result result;
    result = Functions.searchRecords(object_id , "record_id,name", filterCriteria);
    int resultCode = result.getCode();
    if (resultCode < 0)
    {
    }
    else if (resultCode == 0)
    {
        // No records found. Take action according to your business logic
    }
    else
    {
        //Records retrieved successfully
        ParametersIterator iterator = result.getIterator();
        while(iterator.hasNext())
        {
            Parameters params = iterator.next();
            String recordID = params.get("record_id");
            String recordName = params.get("name");
            // Take action according to your business logic
        }
    }
%>