cmdbAbstractObject
core/cmdb,application
false
autoincrement
priv_lnk_action_notif_to_contact
id
false
true
action_id
ActionNotification
false
contact_id
Contact
false
trigger_id
Trigger
false
subscribed
true
false
-
-
-
10
-
20
-
30
-
10
-
20
-
30
ActionNotification
cmdbAbstractObject
grant_by_profile,core/cmdb,application
false
autoincrement
priv_action_itop_notif
id
title
false
message
true
icon
true
96
96
256
256
priority
1
2
3
4
4
false
recipients
false
url
$this->url()$
false
-
-
-
10
-
20
-
30
-
40
-
50
-
-
10
-
20
-
-
-
10
-
20
-
30
-
40
-
10
-
20
-
30
/**
*
* Create EventiTopNotification for each recipient
* @param $oTrigger
* @param $aContextArgs
*
* @return void
* @throws \ArchivedObjectException
* @throws \CoreCannotSaveObjectException
* @throws \CoreException
* @throws \CoreUnexpectedValue
* @throws \CoreWarning
* @throws \MySQLException
* @throws \OQLException
*/
false
public
Get('recipients'));
$oRecipientsSearch->AllowAllData();
$oRecipientsSet = new DBObjectSet($oRecipientsSearch);
$bIsAsync = $this->IsAsynchronous();
[$sPreviousLanguage, $aPreviousPluginProperties] = $this->SetNotificationLanguage();
if($bIsAsync === true){
$aRecipients = [];
}
$sMessage = MetaModel::ApplyParams($this->Get('message'), $aContextArgs);
$sTitle = MetaModel::ApplyParams($this->Get('title'), $aContextArgs);
$sUrl = MetaModel::ApplyParams($this->Get('url'), $aContextArgs);
$iObjectId = 0;
$sObjectClass = null;
if (array_key_exists('this->object()', $aContextArgs)) {
$iObjectId = $aContextArgs['this->object()']->GetKey();
$sObjectClass = get_class($aContextArgs['this->object()']);
}
while ($oRecipient = $oRecipientsSet->Fetch()) {
// Skip recipients that have no users
if (get_class($oRecipient) === Person::class && UserRights::GetUserFromPerson($oRecipient) === null) {
continue;
}
if (!\Combodo\iTop\Service\Notification\NotificationsService::GetInstance()->IsSubscribed($oTrigger, $this, $oRecipient)) {
continue;
}
if($bIsAsync === true) {
$aRecipients[] = $oRecipient->GetKey();
} else {
$oEvent = Combodo\iTop\Service\Notification\Event\EventiTopNotificationService::MakeEventFromAction($this, $oRecipient->GetKey(), $oTrigger->GetKey(), $sMessage, $sTitle, $sUrl, $iObjectId, $sObjectClass);
$oEvent->DBInsertNoReload();
}
\Combodo\iTop\Service\Notification\NotificationsService::GetInstance()->RegisterSubscription($oTrigger, $this, $oRecipient);
}
if ($bIsAsync === true) {
AsyncSendiTopNotifications::AddToQueue($this->GetKey(), $oTrigger->GetKey(), $aRecipients, $sMessage, $sTitle, $sUrl, $iObjectId, $sObjectClass);
}
$this->SetNotificationLanguage($sPreviousLanguage, $aPreviousPluginProperties['language_code'] ?? null);
}
]]>
true
public
Get('notifications.itop.send_asynchronously');
}
]]>
EventNotification
cmdbAbstractObject
core/cmdb,view_in_gui
false
autoincrement
priv_event_itop_notif
id
title
false
icon
true
priority
1
2
3
4
4
false
url
false
_blank
read
yes
no
no
false
read_date
true
contact_id
Contact
false
-
10
-
20
REST Services User
Only users having this profile are allowed to use the REST Web Services (unless 'secure_rest_services' is set to false
in the configuration file).
cmdbAbstractObject
core,grant_by_profile
Person
cmdbAbstractObject
addon/userrights,grant_by_profile
cmdbAbstractObject
addon/userrights,grant_by_profile
1
User
URP_Profiles
cmdbAbstractObject
addon/userrights,grant_by_profile
User
Organization
cmdbAbstractObject
grant_by_profile,core/cmdb
cmdbAbstractObject
grant_by_profile,core/cmdb
cmdbAbstractObject
core/cmdb,view_in_gui,grant_by_profile
User
Contact
cmdbAbstractObject
core/cmdb,view_in_gui,grant_by_profile
SynchroDataSource
cmdbAbstractObject
application, grant_by_profile
AuditCategory
cmdbAbstractObject
application, grant_by_profile
cmdbAbstractObject
application, grant_by_profile
cmdbAbstractObject
core/cmdb,view_in_gui,application,grant_by_profile
cmdbAbstractObject
grant_by_profile,core/cmdb,application
Action
Trigger
cmdbAbstractObject
bizmodel
Action
grant_by_profile,core/cmdb
Event
core/cmdb,view_in_gui
Trigger
Action
sql
true
string
linked_class
true
string
ext_key_to_me
true
string
ext_key_to_remote
true
string
sql
true
string
class_attcode
true
string
extkey_attcode
true
string
target_attcode
true
string
item_code
true
string
relation_code
true
string
from_class
true
string
neighbour_id
true
string
enabled_mode
true
string
min_up_mode
true
string
min_up_type
true
string
handler_class
true
string
class_field
true
string
query_field
true
string
display_style
false
string
target
false
string
default_value
false
string
attribute_definition_list
false
string
attribute_definition_exclusion_list
false
string
min_up
true
number
count_min
false
number
0
count_max
false
number
0
max_combo_length
false
number
min_autocomplete_chars
false
number
display_max_width
false
number
128
display_max_height
false
number
128
storage_max_width
false
number
256
storage_max_height
false
number
256
max_items
false
number
12
tag_code_max_len
false
number
20
enabled
true
boolean
duplicates
false
boolean
false
is_null_allowed
false
boolean
false
allow_target_creation
false
boolean
is_user_editable
false
boolean
true
with_php_constraint
false
boolean
false
with_php_computation
false
boolean
false
create_temporary_object
false
boolean
false
on_target_delete
false
php
targetclass
true
string
goal_computing
false
string
'DefaultMetricComputer'
working_time_computing
false
string