# RHUser
Inherits from: RHObject :: RHWrapper :: RHPrimaryKey
# Class Methods
# Inherited methods
# CreateGroup
function Assoc CreateGroup(Object prgCtx, String groupName, Integer groupType=UAPI.GROUP, Integer leaderID=Undefined)
# CreateUser
function Assoc CreateUser(Object prgCtx, String userName, String password, Dynamic defaultGroup, Integer privs, String firstName=Undefined, String lastName=Undefined)
A class function for creating a new user. Needs some work.
# FuzzyUserFind
function Frame FuzzyUserFind(Object prgCtx, String text)
# ID
function Integer ID()
Returns the ID of this user or group.
# New
function Frame New(Object prgCtx, Dynamic user=prgCtx.USession().fUserId, List userTypes={UAPI.USER, UAPI.GROUP, UAPI.FACTORY})
# Overrides:
New
in class RHObject
# NewGroup
function Frame NewGroup(Object prgCtx, Dynamic user, List userTypes={UAPI.GROUP})
# NewRMGroup
function Frame NewRMGroup(Object prgCtx)
# Instance Methods
# Property Methods
Property methods can be accessed with the valueForKey
method.
_incomplete_projects allmembers allmemberships cachekey canlogin classidentifier classname clone department displayname email emailformatted errorassoc favorites favourites fullname gif group hasalterprivileges hash id identityhashcode img isadmin isbusinessadmin isdeleted isexternal isexternallyauthenticated isfactory isgroup isgrouporrole ismember isprojectrole isrecordsmanager isrole isuser isvalid iterator language lastlogin leader locale mayreallydelete members memberships membershipsquery metadata metadatatype methods name notifications okassoc ownednodes owner ownerid personalworkspace photo photourl pk privileges propertymethods proxy rec reset resetsubclass rightslist rightslistsql rolenode serialize string touch type userdata userid userpwd userrec webnodesview
# Inherited methods
assert cacheKey cacheKeyTouch cacheMethod cacheValueForKey callSuper checkError class classIdentifier className clone deserialize dict endTrans identityHashCode isAccessorMethod isCached isEqual isInstanceOf isProperty isPropertyMethod isPropertyRelated iterator lrucacheGet lrucacheSet memcachedDelete memcachedGet memcachedGetValue memcachedSet metadata metadataDelete metadataGet metadataSet methods model_get model_set pluck prepareForReuse propertyMethods removeFromCache reset resetCache resolveRelatedProperty respondsTo setCacheValueForKey setValueForKey setValueForKeyPath startTrans super valueForKey valueForKeyPath
# addMembers
function Assoc addMembers(Dynamic ids)
Adds a list of users or groups to this group or role. An error is returned if if a user or group is already a member of this group or role.
This function will lock a row in KState related to the user's group memberships.
This lock will prevent the user from performing requests until the transaction completes,
which is problematic for long running transactions. For such cases consider using
addMembersDeferred()
instead.
# Parameters
ids
- A list of usernames, IDs, or RHUser objects.
# Returns
A return value Assoc.
# addMembersDeferred
function Assoc addMembersDeferred(Dynamic ids)
Adds a list of users or groups to this group or role. This function is a little more
forgiving than .addMembers()
when a user is already a member of the group.
# Parameters
ids
- A list of usernames, IDs, or RHUser objects.
# Returns
A return value Assoc.
# allmembers
function Frame allmembers()
Returns an Iterator
with all direct and indirect members of this group.
# allmemberships
function Frame allmemberships()
Returns an Iterator
with all direct and indirect memberships of this user or group.
# authenticationCookie
function String authenticationCookie()
# canLogin
function Boolean canLogin()
# delete
function Assoc delete(Boolean reallyDelete = .isRole())
# department
function Frame department()
# displayName
function String displayName()
Returns the display name of this user with the format configured by Administrator.
function String email()
# emailformatted
function String emailformatted()
# favorites
function Frame favorites()
# favourites
function Frame favourites(Integer pageSize=25, Integer pageNumber=1)
# fullname
function String fullname()
Returns the user's first and last name concatenated with a space.
# gif
function String gif()
# group
function Frame group()
# hasAlterPrivileges
function Boolean hasAlterPrivileges(Dynamic userid=.fPrgCtx.USession().fUserID)
Returns true if the current user has alter permission on this user or group.
# hash
function String hash()
# Overrides:
hash
in class RHObject
# hasPerm
function Boolean hasPerm(Dynamic DataID, Integer perm=DAPI.PERM_SEECONTENTS)
# hasPrivilege
function Boolean hasPrivilege(Integer privilege)
See UAPI.PRIV_* values in documentation.
# img
function String img()
# impersonate
function Object impersonate()
Returns a prgCtx for the current user. Use with care.
# isAdmin
function Boolean isAdmin()
# isBusinessAdmin
function Boolean isBusinessAdmin()
# isDeleted
function Boolean isDeleted()
# isExternal
function Boolean isExternal()
# isExternallyAuthenticated
function Boolean isExternallyAuthenticated()
# isFactory
function Boolean isFactory()
Returns true
if this object represents a factory group, false
otherwise.
# isGroup
function Boolean isGroup()
Returns true
if this object represents a group, false
otherwise.
# isGroupOrRole
function Boolean isGroupOrRole()
Returns true
if this object represents a group or role, false
otherwise.
# isMember
function Boolean isMember(Dynamic userid=.fPrgCtx.USession().fUserID, Boolean recursive=true)
# isMemberOf
function Boolean isMemberOf(Dynamic groupID, Boolean recursive=true)
# isProjectRole
function Boolean isProjectRole()
Returns true
if this group is a project role, false
otherwise.
# isRecordsManager
function Boolean isRecordsManager()
Return true if Records Management is installed and the user is member of the Records Management group.
# isRole
function Boolean isRole()
Returns true
if this group is a role, false
otherwise.
# isUser
function Boolean isUser()
Tests if this RHUser represents a user.
# Returns
true
if this object represents a user,false
otherwise.
# isValid
function Boolean isValid()
# Overrides:
isValid
in class RHPrimaryKey
# language
function String language()
Returns the "metadata" language code for the user.
If the user has their "Metadata Language" set to "Browser-specific", then CS will attempt to get the language from the browser request. If it's not possible, it defaults to the system language $RHCore.Utils.LanguageSystem(.fPrgCtx).
# lastlogin
function Date lastlogin()
Returns the last login date of this user as a date.
# leader
function Frame leader()
# locale
function String locale()
This is the user interface language. It returns an empty string if set to browser-specific.
# mayReallyDelete
function Boolean mayReallyDelete()
# members
function Frame members()
Returns an Iterator
with the direct members of this group.
# memberships
function Frame memberships()
Returns an Iterator
with all direct memberships of this user or group.
# membershipsQuery
function Frame membershipsQuery()
This method returns an RHKUAFQuery with all groups the user is a member of (direct & indirect).
# metadataType
function Integer metadataType()
# Overrides:
metadataType
in class RHPrimaryKey
# name
function String name()
# nodesACL
function Dynamic nodesACL(Dynamic aclTypes=DAPI.PERMTYPE_ACL, Boolean filterPermissions=true)
Returns all nodes on which the current user or group has direct access (i.e., not via a group membership)
This can include the default user, default group, and any ACL entries
# notifications
function Frame notifications()
# otcsticket
function String otcsticket()
# ownedNodes
function Frame ownedNodes()
# owner
function Frame owner()
# ownerid
function Integer ownerid()
Returns the owner id of this user or group.
# personalworkspace
function Frame personalworkspace()
Returns an RHNode
of the user's Personal Workspace.
# photo
function Frame photo()
Returns an RHNode
of the user's photo.
# photoUrl
function String photoUrl()
Returns the Pulse photo URL for this user.
# pk
function Integer pk()
# Overrides:
pk
in class RHPrimaryKey
# pref
function Dynamic pref(String keyword, Dynamic defaultValue=Undefined)
The keyword
parameter can also be a keypath in the event the value is an Assoc
# primitiveValueForKey
function Dynamic primitiveValueForKey(String key, Dynamic defaultValue=Undefined)
# Overrides:
primitiveValueForKey
in class RHWrapper
# privileges
function Integer privileges()
# proxy
function Frame proxy(Integer proxyType=UAPI.PROXY_WAPI)
# rec
function Record rec()
This method is equivalent to userRec
.
# removeMembers
function Assoc removeMembers(Dynamic ids)
# removeProxy
function Assoc removeProxy(Integer proxyType=UAPI.PROXY_WAPI)
# rename
function Assoc rename(String newName)
Rename this user, group, or role. Be careful renaming roles (this is not typically done).
# resetSubclass
function Frame resetSubclass()
# Overrides:
resetSubclass
in class RHObject
# rightsList
function List rightsList(Integer proxyType=CAPI.PROXY_NONE)
# rightsListSQL
function Dynamic rightsListSQL(Integer proxyType=CAPI.PROXY_NONE)
This function returns a String or List that can be injected into a query. This depends whether the system has the KUAFRightsListNew table.
# roleNode
function Frame roleNode()
# serialize
function Dynamic serialize()
# Overrides:
serialize
in class RHObject
# setLanguage
function Assoc setLanguage(String langCode=Undefined)
Set the user's metadata language.
# setLeader
function Assoc setLeader(Dynamic newleaderid=Undefined)
A leader must also be a member of the group unless the leader and group are the same. This method handles both.
# setLocale
function Assoc setLocale(String locale)
# setMembers
function Assoc setMembers(Dynamic ids)
Sets the members of this group or role to the list of users or groups. This will also remove any memberships that are not in the list of passed in users or groups.
# Parameters
ids
- A list of usernames, IDs, or RHUser objects.
# Returns
A return value Assoc.
# setOwner
function Assoc setOwner(Dynamic ownerid)
# setPassword
function Assoc setPassword(String password)
# setPref
function Assoc setPref(String key, Dynamic value)
# setProxy
function Assoc setProxy(Dynamic userid, Integer proxyType=UAPI.PROXY_WAPI)
# setValues
function Frame setValues(Dynamic values)
# Overrides:
setValues
in class RHObject
# string
function String string()
This method returns a string
representation of the object.
# Overrides:
string
in class RHObject
# test
function Void test()
# test2
function Void test()
# testPassword
function Boolean testPassword(String password)
# touch
function Assoc touch()
Touching a role will force the associated node to get touched as well.
# Overrides:
touch
in class RHWrapper
# type
function Integer type()
Returns the user type as an integer, where:
0 denotes a user
1 denotes group
3 denotes a system group
4 denotes a system privilege group
8 denotes an external user
9 denotes an external group
2000 or greater denotes a role (e.g., project roles)
# userdata
function Assoc userdata()
# userid
function Integer ID()
Returns the id of this user or group.
# userpwd
function String userpwd()
This method returns an error since access to the password is not allowed.
# userRec
function Record userRec()
Returns a Record
representation of this user based on the KUAF
table.
# webNodesView
function String webNodesView()