Can you configure requests to be editable or non editable depending on the status of a request?
As per the doc
Status Values - CA Service Management - 14.1 - CA Technologies Documentation
If you approve the request on catalog (status 800), the user has the ability to edit the original details on the form.
How can this be prevented and allow the user a comment only?
Can you make comments a required field?
You have to code this in your form.
Edit your form's atttribute, in the onLoad attribute set : ca_fd.js.onLoad()
Add the following in the form's script. You will need to change the content of the fieldsToDisable array.
onLoad : function()
var fieldsToDisable = ['txt_test1','txt_test2']; //Edit this line. List every item, using it's _id, that you want to disable.
And if you want something more straightforward,
you can add a "fieldset" in your form that englobes everything and just add : $(_.request.status==800) in its Disabled attribute.
One other option could be to leverage the 'Disabled' attribute of the service option form element (Catalog > Offerings > select your offering > Definition > edit your service option > select your form element > Disabled). Here you can specify a JS expression similar to what Pier noted above (i.e. $(_.request.status>= 400)).
Following has some details on this attribute:
Manage Service Options and Service Option Elements - CA Service Management - 14.1 - CA Technologies Documentation
Also, you can make the 'Comments' field required by customizing the 'Request Information' form (Catalog > Forms > Forms > System > select 'Request Information' form > select 'Customize' at the top > expand 'Request Information' form > select 'Comments' > set Required=true):
Manage Forms - CA Service Management - 14.1 - CA Technologies Documentation
I was not aware of that. Nice
Is the "required comment" is configurable by option?
You can configure the 'Comments' field just as any text area but the Request Information form is global..
From the service option you can really only control when forms you associate are hidden or disabled.
So my guess is that you can have it required or not for the service you want if you do something like :
Add the service IDs in the array. Should be good.
Edit : Tested it and it works like a charm.
And how do you get this information with WS?
You can use Administration > Tools > Links > Web Services API > Request Web Service > getSystemFormValues to return the system form data
Thanks pier-olivier.tremblay and Jason_Wolfe, very helpful comments.