Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

Block subscription if the license number is reached in a catalog item

MalikB
Tera Contributor

I need to add changes to an existing catalog item ->

block the form if the number of subscribers + active requests Teams Premium offer > 200
The value 200 must be configurable via a sysproperty


Set a sysproperty value > number of subscribers + requests in progress (at least 1) => Possibility to order
1 Set a sysproperty value < number of subscribers + current requests (at least 1) => Blocked order
2 The "Submit" button remains visible in all cases

Content of the form

Existing

1-> Requester R (user) O N always
2-> Beneficiary R (user) Mandatory Always visible

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

Modification to be made :

3-> Description of the need ->TB - Mandatory - Visible, Modification request by profession => Visibility conditions If nb licenses < 200

3.1-> The maximum number of Teams Premium licenses at XXXX has been reached. You can join the waiting list. L Change request by business => If nb licenses >= 200 (Budget approval fields)

 

L (label), TB (text box), TM (multi-line text), LD (drop-down list), LC (combo list), LM (multiple choice list), RB (radio button), CC (checkbox), S (Section), R (reference)

 

[ ] Nb licenses = Number of subscribers to the Teams Premium offer with Active = true + Requests with Active = true on this form [ ] The number 200 must be configurable via a sysproperty. [x] Block the form if the beneficiary is already subscribed to the Teams Premium offer (in the existing one) [ ] Block the form if nb licenses >= 200 with the error message (if not possible to put a link, delete the 2nd sentence): The number  maximum Teams Premium licenses at XXX has been reached. You can join the waiting list.

 

i don't know if this can help but there's is a general script includes I could find this script : 

 

setSubscription: function(user, service_offering) {

var checkDuplicateSubscription = new GlideRecord('service_subscribe_sys_user'); checkDuplicateSubscription.addQuery("sys_user", user);

checkDuplicateSubscription.addQuery("service_offering", service_offering); checkDuplicateSubscription.addQuery("u_active", true);

checkDuplicateSubscription.query();

if (!checkDuplicateSubscription.hasNext()) {

var createSubscription = new GlideRecord('service_subscribe_sys_user');

createSubscription.newRecord();

createSubscription.service_offering = service_offering; createSubscription.sys_user = user;

createSubscription.insert();

}

},

0 REPLIES 0