diff --git a/dictionaries/dictionary.itop.core.php b/dictionaries/dictionary.itop.core.php index 1a45b71b2..876868c25 100644 --- a/dictionaries/dictionary.itop.core.php +++ b/dictionaries/dictionary.itop.core.php @@ -497,6 +497,43 @@ Dict::Add('EN US', 'English', 'English', array( // Synchro Data Source // Dict::Add('EN US', 'English', 'English', array( + 'Class:SynchroDataSource/Attribute:name' => 'Name', + 'Class:SynchroDataSource/Attribute:name+' => 'Name', + 'Class:SynchroDataSource/Attribute:description' => 'Description', + 'Class:SynchroDataSource/Attribute:status' => 'Status', //TODO: enum values + 'Class:SynchroDataSource/Attribute:scope_class' => 'Target class', + 'Class:SynchroDataSource/Attribute:user_id' => 'User', + 'Class:SynchroDataSource/Attribute:url_icon' => 'Icon\'s hyperlink', + 'Class:SynchroDataSource/Attribute:url_icon+' => 'Hyperlink a (small) image representing the application with which iTop is synchronized', + 'Class:SynchroDataSource/Attribute:url_application' => 'Application\'s hyperlink', + 'Class:SynchroDataSource/Attribute:url_application+' => 'Hyperlink to the iTop object in the external application with which iTop is synchronized (if applicable). Possible placeholders: $this->attribute$ and $replica->primary_key$', + 'Class:SynchroDataSource/Attribute:reconciliation_policy' => 'Reconciliation policy', //TODO enum values + 'Class:SynchroDataSource/Attribute:full_load_periodicity' => 'Full load interval', + 'Class:SynchroDataSource/Attribute:full_load_periodicity+' => 'A complete reload of all data must occur at least as often as specified here', + 'Class:SynchroDataSource/Attribute:action_on_zero' => 'Action on zero', + 'Class:SynchroDataSource/Attribute:action_on_zero+' => 'Action taken when the search returns no object', + 'Class:SynchroDataSource/Attribute:action_on_one' => 'Action on one', + 'Class:SynchroDataSource/Attribute:action_on_one+' => 'Action taken when the search returns exactly one object', + 'Class:SynchroDataSource/Attribute:action_on_multiple' => 'Action on many', + 'Class:SynchroDataSource/Attribute:action_on_multiple+' => 'Action taken when the search returns more than one object', + 'Class:SynchroDataSource/Attribute:user_delete_policy' => 'Users allowed', + 'Class:SynchroDataSource/Attribute:user_delete_policy+' => 'Who is allowed to delete synchronized objects', + 'Class:SynchroDataSource/Attribute:user_delete_policy' => 'Users allowed', + 'Class:SynchroDataSource/Attribute:delete_policy/Value:never' => 'Nobody', + 'Class:SynchroDataSource/Attribute:delete_policy/Value:depends' => 'Administrators only', + 'Class:SynchroDataSource/Attribute:delete_policy/Value:always' => 'All allowed users', + 'Class:SynchroDataSource/Attribute:delete_policy_update' => 'Update rules', + 'Class:SynchroDataSource/Attribute:delete_policy_update+' => 'Syntax: field_name:value; ...', + 'Class:SynchroDataSource/Attribute:delete_policy_retention' => 'Retention Duration', + 'Class:SynchroDataSource/Attribute:delete_policy_retention+' => 'How much time an obsolete object is kept before being deleted', + + 'SynchroDataSource:Description' => 'Description', + 'SynchroDataSource:Reconciliation' => 'Search & reconciliation', + 'SynchroDataSource:Deletion' => 'Deletion rules', + 'SynchroDataSource:Status' => 'Status', + 'SynchroDataSource:Information' => 'Information', + + 'Core:SynchroAttributes' => 'Attributes', 'Core:SynchroStatus' => 'Status', 'Core:Synchro:ErrorsLabel' => 'Errors', diff --git a/synchro/synchrodatasource.class.inc.php b/synchro/synchrodatasource.class.inc.php index de73db23e..5945b62ea 100644 --- a/synchro/synchrodatasource.class.inc.php +++ b/synchro/synchrodatasource.class.inc.php @@ -83,7 +83,14 @@ class SynchroDataSource extends cmdbAbstractObject MetaModel::Init_AddAttribute(new AttributeString("url_application", array("allowed_values"=>null, "sql"=>"url_application", "default_value"=>null, "is_null_allowed"=>true, "depends_on"=>array()))); // Display lists - MetaModel::Init_SetZListItems('details', array('name', 'description', 'url_icon', 'url_application', 'scope_class', /*'scope_restriction', */'status', 'user_id', 'full_load_periodicity', 'reconciliation_policy', 'action_on_zero', 'action_on_one', 'action_on_multiple', 'delete_policy', 'delete_policy_update', 'delete_policy_retention', 'user_delete_policy')); // Attributes to be displayed for the complete details + MetaModel::Init_SetZListItems('details', array( + 'col:0'=> array( + 'fieldset:SynchroDataSource:Description' => array('name','description','status','scope_class','user_id','url_icon','url_application')), + 'col:1'=> array( + 'fieldset:SynchroDataSource:Reconciliation' => array('reconciliation_policy','action_on_zero','action_on_one','action_on_multiple'), + 'fieldset:SynchroDataSource:Deletion' => array('user_delete_policy','full_load_periodicity','delete_policy','delete_policy_update','delete_policy_retention')) + ) + ); MetaModel::Init_SetZListItems('list', array('scope_class', 'status', 'user_id', 'full_load_periodicity')); // Attributes to be displayed for a list // Search criteria MetaModel::Init_SetZListItems('standard_search', array('name', 'status', 'scope_class', 'user_id')); // Criteria of the std search form @@ -1274,7 +1281,13 @@ class SynchroReplica extends DBObject implements iDisplay MetaModel::Init_AddAttribute(new AttributeDateTime("info_last_modified", array("allowed_values"=>null, "sql"=>"info_last_modified", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); // Display lists - MetaModel::Init_SetZListItems('details', array('sync_source_id', 'dest_id', 'dest_class', 'status_last_seen', 'status', 'status_dest_creator', 'status_last_error', 'info_creation_date', 'info_last_modified', 'info_last_synchro')); // Attributes to be displayed for the complete details + MetaModel::Init_SetZListItems('details', array('' . + 'col:0'=> array( + 'fieldset:SynchroDataSource:Definition' => array('sync_source_id','dest_id','dest_class'), + 'fieldset:SynchroDataSource:Status' => array('status','status_last_seen','status_dest_creator','status_last_error'), + 'fieldset:SynchroDataSource:Information' => array('info_creation_date','info_last_modified')) + ) + ); MetaModel::Init_SetZListItems('list', array('sync_source_id', 'dest_id', 'dest_class', 'status_last_seen', 'status', 'status_dest_creator', 'status_last_error')); // Attributes to be displayed for a list // Search criteria MetaModel::Init_SetZListItems('standard_search', array('sync_source_id', 'status_last_seen', 'status', 'status_dest_creator', 'dest_class', 'dest_id', 'status_last_error')); // Criteria of the std search form