Jazz Forum Welcome to the Jazz Community Forum Connect and collaborate with IBM Engineering experts and users

need to control required fields differently based on the resolution code

I thought I saw a discussion of this problem,
we want to make a field required on resolution, but only for a subset of the resolution codes.

I know this doesn't come out of the box.

I am wondering if I can do it in javascript (then I wouldn't have to reboot the server)

I have a multi-select checkbox presentation, which stores values in a string..


so, if going to Resolved state
         and if the proposed resolution code is  'fixed' or 'fixed upstream' or ....
            then if the classification field is empty.
               error 'Classification must be selected'

ssooooo,, here it is  but it only works on 4.x
Required Attributes for Condition Precondition.

<code>
/*******************************************************************************
 * Licensed Materials - Property of IBM
 * (c) Copyright IBM Corporation 2011. All Rights Reserved.
 *
 * Note to U.S. Government Users Restricted Rights: 
 * Use, duplication or disclosure restricted by GSA ADP Schedule
 * Contract with IBM Corp.
 *******************************************************************************/
dojo.provide("com.xx.defect.resolution.Condition");
dojo.require("com.ibm.team.workitem.api.common.WorkItemAttributes");

(function() {
    dojo.declare("com.xx.defect.resolution.Condition", null, {

        matches: function(workItem, configuration)
        {
           // get access to the attribute definitions
           var WorkItemAttributes = com.ibm.team.workitem.api.common.WorkItemAttributes;
          
           // default return, means no error
           var rc = false;
          
           // get the workitem type, maybe not needed as this is attached to a specific
           // field in a specific workitem.
           var workitemtype = workItem.getValue(WorkItemAttributes.TYPE);
          
           // log for debugging
           // in workspace/.metadata/.log
           // console.log(workitemtype);

           if( workitemtype ==="defect" )
           { 
              var state= workItem.getValue(WorkItemAttributes.STATE);

              //console.log(state);

              if(state === "3" )    // numeric of Sx workitem state
              {
                 var resolution = workItem.getValue(WorkItemAttributes.RESOLUTION);
                 //console.log(resolution);
                
                 if(resolution === "3" )  /* || resolution === "4"); //the numeric of the rx resolution code */
                 {
                      // this means error
                      rc = true;                     
                 }
              }
           }
           return rc;
        }

    });
})();

</code>

0 votes


Be the first one to answer this question!

Register or log in to post your answer.

Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.

Search context
Follow this question

By Email: 

Once you sign in you will be able to subscribe for any updates here.

By RSS:

Answers
Answers and Comments
Question details
× 12,020

Question asked: Feb 25 '13, 7:06 p.m.

Question was seen: 3,525 times

Last updated: Feb 25 '13, 11:22 p.m.

Confirmation Cancel Confirm