ucAddPreInsert
Purpose
This allows additional error reporting by returning an error message.
Applies To
Add Issue screen
Signature
public String ucAddPreInsert (
Problem pProblem, // the problem or case
ArrayList pReleases, // the list of releases
ArrayList pModules, // the list of modules
ArrayList pUdfs, // the list of UDF's
SesameSession session, // current session
ProblemFormParam pfp) // values of from the form
Notes
This is called during the Add process before any updates are performed, and allows a final manipulation of parameters prior to attempting the add operation. There is a point to explain about the form parameters which are passed into this method, and that you can manipulate these parameters to stop the display of the new issue verification screen. Add the following line into this method:
values.put("ADD_CONFIRM_PAGE", "NO");
This will cause the new issue verification screen to be suppressed.
Example
This example shows how ucAddPreInsert is called before any updates to a record are made. Based upon the customer requirements, if the record is in the “Test Case” or “Test Plan” area and project, the issue is not saved upon the add operation, and an error message is displayed.
public String ucAddPreInsert (
Problem pProblem, // the problem or case
ArrayList pReleases, // the list of releases
ArrayList pModules, // the list of modules
ArrayList pUdfs, // the list of UDF's
SesameSession session, // current session
ProblemFormParam pfp) // values of from the form
{
String errText = rules.ucAddPreInsert(item,
releases,
modules,
udfs,
session,
values);
if (errText != null) { return errText; }
// If we are in the test case area or test plan project,
// do not allow issue to be saved
if (A_TEST_CASES.equals(values.get("AREA")) && (A_TEST_CASES + "|" +
A_TEST_PLAN_PROJECT_ID).equals(values.get("PROJECT")))
{
return Z.m.msg(session, "You cannot save a test plan as an issue. " +
"Use this screen to generate a test plan from test cases you select.");
}
return null;
}