User management

This section reports a series of utility methods available within a server-side Javascript action.

These methods allows to create users and bind to them a set of roles.

Check for user existence

This method allows to check for a record in PRM01_USERS, i.e. whether the specified user has been already created.

Syntax:

var prm01Object = utils.existUser(companyId, siteId, userCodeId);

Argument

Description

companyId

company id that identifies the user (text value)

siteId

site id that identifies the user (numeric value)

userCodeId

username for the user to check out (text value)

prm01Object

the resulting value is a javascript object containing the record in PRM01_USERS for the specified user. This method returns null if the user does not exist.

Create a user

This method creates a record in PRM01USERS, one in SUB02_SUBJECTS and another in SUB01_PEOPLE, i.e. create a new user account.

Syntax:

var prm01Object = utils.createUser(companyId, siteId, userCodeId, description, password, languageId, additionalData
, roles);

Argument

Description

companyId

company id that identifies the user (text value)

siteId

site id that identifies the user (numeric value)

userCodeId

username for the user to check out (text value)

description

user description (mandatory argument)

password

password (mandatory argument)

languageId

language id to link to the user

additionalData

can be null: if specified, it is a javascript object containing additional data to fill in PRM01_USERS;

e.g.

{ dateExpirationPassword: utils.convertDateToString(utils.getCurrentDate(), 'yyyy-MM-dd') }

Note: if you need to set personal data about the user (stored in SUB02_SUBJECTS table), you can use later the updatePeopleData method.

roles

a list of javascript objects; each object is related to a role to bind to the user; the javascript object for a role must have the following attributes: companyId, siteId, roleId, startDate, endDate (this one is optional)

prm01Object

the resulting value is a javascript object containing the record in PRM01_USERS for the specified user.

var prm01 = utils.createUser(
  userInfo.companyId, 
  vo.siteId, 
  vo.username, 
  vo.description, 
  vo.password, 
  vo.language, 
  {
        siteIdSub02: vo.siteId,
        dateExpirationPassword: utils.convertDateToString(utils.getCurrentDate(), 'yyyy-MM-dd')
  }, 
  []
);

Update an already existing user

This method updates an already existing record in PRM01_USERS, i.e. update a user account.

Syntax:

var prm01Object = utils.updateUser(companyId, siteId, userCodeId, languageId, additionalData);

Argument

Description

companyId

company id that identifies the user (text value)

siteId

site id that identifies the user (numeric value)

userCodeId

username for the user to check out (text value)

decriptedPassword

plain password (mandatory argument); note: "password" field is automatically reckoned by Platform, starting from the plain password

languageId

language id to link to the user

additionalData

can be null: if specified, it is a javascript object containing additional data to fill in PRM01_USERS; e.g. { dateExpirationPassword: new Date() }

prm01Object

the resulting value is a javascript object containing the record in PRM01_USERS for the specified user.

Update personal data for the specified user

This method update a record in SUB01_PEOPLE, i.e. update personal data for the specified user, like first name, last name, gender, etc.

Syntax:

var sub01Object = utils.updatePeopleData(companyId, siteId, userCodeId, personalData);

Argument

Description

companyId

company id that identifies the user (text value)

siteId

site id that identifies the user (numeric value)

userCodeId

username for the user to check out (text value)

personaData

it is a javascript object containing personal data to fill in SUB01_PEOPLE; e.g. { firstName: "Giulio", lastName: "Cesare", sex: "M" }

sub01Object

the resulting value is a javascript object containing the record in SUB01_PEOPLE for the specified user.

Get user roles

This method get the roles list linked to the specified user.

Syntax:

var list = utils.getUserRoles(companyId, siteId, userCodeId);

Argument

Description

companyId

company id that identifies the user (text value)

siteId

site id that identifies the user (numeric value)

userCodeId

username for the user to check out (text value)

list

the resulting value is an ArrayList whose elements can be accessed through list.get(i) and whose size is list.size(). Each element is a javascript object containing the following attributes: checked , editable, startDate, endDate and role

Note: the a single javascript object returned in the list has the following structure:

{
  checked: "Y", // Y or N
  editable: "Y", // Y or N
  startDate: ... // a Date object
  endDate: ... // a Date object
  role: { ... } // representation of a record of PRM02_ROLES
}

Create a role

This method allows to create a role to the current application

Syntax:

var objectPrm02 = utils.createRole(String companyId, Long siteId,String roleId,String description);

Argument

Description

companyId

company id that identifies the user (text value)

siteId

site id that identifies the user (numeric value)

roleId

ROLE_ID to create

description

role description

objectPrm02

the resulting value is the current record in PRM02_ROLES for the specified role

Creating a role for another application

There is another method you can use to create a role for another application. In such a case, the application id for the other application must be specified.

Syntax:

var objectPrm02 = utils.createRoleForApplication(String appId,String companyId, Long siteId,String roleId,String description);

Add a role to the specified user

This method allows to add a role to the specified user.

Syntax:

var objectPrm01 = utils.addUserRole(companyId, siteId, userCodeId, roles);

Argument

Description

companyId

company id that identifies the user (text value)

siteId

site id that identifies the user (numeric value)

userCodeId

username for the user to check out (text value)

roles

list of javascript objects, where each object has the following attributes: companyId, siteId, roleId, startDate, endDate (the last one is optional)

objectPrm01

the resulting value is the current record in PRM01_USERS for the specified user

Add a role for the specified user

This method allows to update a role to the specified user.

Syntax:

var objectPrm01 = utils.addUserRole(companyId, siteId, userCodeId, roles);

Argument

Description

companyId

company id that identifies the user (text value)

siteId

site id that identifies the user (numeric value)

userCodeId

username for the user to check out (text value)

roles

list of javascript objects, where each object has the following attributes: companyId, siteId, roleId, startDate, endDate (the last one is optional)

objectPrm01

the resulting value is the current record in PRM01_USERS for the specified user

Add a role for another application

There is another method you can use to add a role to a user, but for another application. In such a case, the application id for the other application must be specified.

Syntax:

var objectPrm01 = utils.addUserRoleForApplication(appId, companyId, siteId, userCodeId, roles);

Last updated