|
@@ -1,807 +1,904 @@
|
|
-<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
-<itop_design xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
|
|
|
- <classes>
|
|
|
|
- <class id="Change" _delta="define">
|
|
|
|
- <parent>Ticket</parent>
|
|
|
|
- <properties>
|
|
|
|
- <comment><![CDATA[/**
|
|
|
|
- * Persistent classes for a CMDB
|
|
|
|
- *
|
|
|
|
- * @copyright Copyright (C) 2010-2012 Combodo SARL
|
|
|
|
- * @license http://opensource.org/licenses/AGPL-3.0
|
|
|
|
- */]]></comment>
|
|
|
|
- <category>bizmodel,searchable,changemgmt</category>
|
|
|
|
- <abstract>false</abstract>
|
|
|
|
- <key_type>autoincrement</key_type>
|
|
|
|
- <db_table>ticket_change</db_table>
|
|
|
|
- <db_key_field>id</db_key_field>
|
|
|
|
- <db_final_class_field></db_final_class_field>
|
|
|
|
- <naming>
|
|
|
|
- <format>%1$s</format>
|
|
|
|
- <attributes>
|
|
|
|
- <attribute id="ref"/>
|
|
|
|
- </attributes>
|
|
|
|
- </naming>
|
|
|
|
- <display_template></display_template>
|
|
|
|
- <icon>images/change.png</icon>
|
|
|
|
- <reconciliation>
|
|
|
|
- <attributes>
|
|
|
|
- <attribute id="ref"/>
|
|
|
|
- </attributes>
|
|
|
|
- </reconciliation>
|
|
|
|
- </properties>
|
|
|
|
- <fields>
|
|
|
|
- <field id="status" xsi:type="AttributeEnum">
|
|
|
|
- <values>
|
|
|
|
- <value>new</value>
|
|
|
|
- <value>assigned</value>
|
|
|
|
- <value>planned</value>
|
|
|
|
- <value>approved</value>
|
|
|
|
- <value>closed</value>
|
|
|
|
- <value>rejected</value>
|
|
|
|
- </values>
|
|
|
|
- <sql>status</sql>
|
|
|
|
- <default_value>new</default_value>
|
|
|
|
- <is_null_allowed>true</is_null_allowed>
|
|
|
|
- </field>
|
|
|
|
- <field id="category" xsi:type="AttributeEnum">
|
|
|
|
- <values>
|
|
|
|
- <value>hardware</value>
|
|
|
|
- <value>software</value>
|
|
|
|
- <value>system</value>
|
|
|
|
- <value>network</value>
|
|
|
|
- <value>application</value>
|
|
|
|
- <value>other</value>
|
|
|
|
- </values>
|
|
|
|
- <sql>category</sql>
|
|
|
|
- <default_value>hardware</default_value>
|
|
|
|
- <is_null_allowed>true</is_null_allowed>
|
|
|
|
- </field>
|
|
|
|
- <field id="reject_reason" xsi:type="AttributeText">
|
|
|
|
- <sql>reject_reason</sql>
|
|
|
|
- <default_value></default_value>
|
|
|
|
- <is_null_allowed>true</is_null_allowed>
|
|
|
|
- </field>
|
|
|
|
- <field id="changemanager_id" xsi:type="AttributeExternalKey">
|
|
|
|
- <sql>changemanager_id</sql>
|
|
|
|
- <target_class>Person</target_class>
|
|
|
|
- <is_null_allowed>true</is_null_allowed>
|
|
|
|
- <on_target_delete>DEL_MANUAL</on_target_delete>
|
|
|
|
- </field>
|
|
|
|
- <field id="changemanager_email" xsi:type="AttributeExternalField">
|
|
|
|
- <extkey_attcode>changemanager_id</extkey_attcode>
|
|
|
|
- <target_attcode>email</target_attcode>
|
|
|
|
- </field>
|
|
|
|
- <field id="parent_id" xsi:type="AttributeExternalKey">
|
|
|
|
- <filter><![CDATA[SELECT Change WHERE id != :this->id]]></filter>
|
|
|
|
- <sql>parent_id</sql>
|
|
|
|
- <target_class>Change</target_class>
|
|
|
|
- <is_null_allowed>true</is_null_allowed>
|
|
|
|
- <on_target_delete>DEL_MANUAL</on_target_delete>
|
|
|
|
- <jointype></jointype>
|
|
|
|
- </field>
|
|
|
|
- <field id="parent_name" xsi:type="AttributeExternalField">
|
|
|
|
- <extkey_attcode>parent_id</extkey_attcode>
|
|
|
|
- <target_attcode>ref</target_attcode>
|
|
|
|
- <is_null_allowed>true</is_null_allowed>
|
|
|
|
- </field>
|
|
|
|
- <field id="creation_date" xsi:type="AttributeDateTime">
|
|
|
|
- <sql>creation_date</sql>
|
|
|
|
- <default_value></default_value>
|
|
|
|
- <is_null_allowed>true</is_null_allowed>
|
|
|
|
- </field>
|
|
|
|
- <field id="approval_date" xsi:type="AttributeDateTime">
|
|
|
|
- <sql>approval_date</sql>
|
|
|
|
- <default_value></default_value>
|
|
|
|
- <is_null_allowed>true</is_null_allowed>
|
|
|
|
- </field>
|
|
|
|
- <field id="fallback_plan" xsi:type="AttributeText">
|
|
|
|
- <sql>fallback_plan</sql>
|
|
|
|
- <default_value></default_value>
|
|
|
|
- <is_null_allowed>true</is_null_allowed>
|
|
|
|
- </field>
|
|
|
|
- <field id="related_request_list" xsi:type="AttributeLinkedSet">
|
|
|
|
- <linked_class>UserRequest</linked_class>
|
|
|
|
- <ext_key_to_me>parent_change_id</ext_key_to_me>
|
|
|
|
- <edit_mode>none</edit_mode>
|
|
|
|
- <count_min>0</count_min>
|
|
|
|
- <count_max>0</count_max>
|
|
|
|
- </field>
|
|
|
|
- <field id="related_incident_list" xsi:type="AttributeLinkedSet">
|
|
|
|
- <linked_class>Incident</linked_class>
|
|
|
|
- <ext_key_to_me>parent_change_id</ext_key_to_me>
|
|
|
|
- <edit_mode>none</edit_mode>
|
|
|
|
- <count_min>0</count_min>
|
|
|
|
- <count_max>0</count_max>
|
|
|
|
- </field>
|
|
|
|
- <field id="related_problems_list" xsi:type="AttributeLinkedSet">
|
|
|
|
- <linked_class>Problem</linked_class>
|
|
|
|
- <ext_key_to_me>related_change_id</ext_key_to_me>
|
|
|
|
- <edit_mode>none</edit_mode>
|
|
|
|
- <count_min>0</count_min>
|
|
|
|
- <count_max>0</count_max>
|
|
|
|
- </field>
|
|
|
|
- <field id="child_changes_list" xsi:type="AttributeLinkedSet">
|
|
|
|
- <linked_class>Change</linked_class>
|
|
|
|
- <ext_key_to_me>parent_id</ext_key_to_me>
|
|
|
|
- <edit_mode>none</edit_mode>
|
|
|
|
- <count_min>0</count_min>
|
|
|
|
- <count_max>0</count_max>
|
|
|
|
- </field>
|
|
|
|
- </fields>
|
|
|
|
- <lifecycle>
|
|
|
|
- <attribute>status</attribute>
|
|
|
|
- <stimuli>
|
|
|
|
- <stimulus id="ev_assign" xsi:type="StimulusUserAction"/>
|
|
|
|
- <stimulus id="ev_plan" xsi:type="StimulusUserAction"/>
|
|
|
|
- <stimulus id="ev_reject" xsi:type="StimulusUserAction"/>
|
|
|
|
- <stimulus id="ev_reopen" xsi:type="StimulusUserAction"/>
|
|
|
|
- <stimulus id="ev_approve" xsi:type="StimulusUserAction"/>
|
|
|
|
- <stimulus id="ev_finish" xsi:type="StimulusUserAction"/>
|
|
|
|
- </stimuli>
|
|
|
|
- <states>
|
|
|
|
- <state id="new">
|
|
|
|
- <flags>
|
|
|
|
- <attribute id="ref">
|
|
|
|
- <read_only/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="org_id">
|
|
|
|
- <mandatory/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="title">
|
|
|
|
- <mandatory/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="description">
|
|
|
|
- <mandatory/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="last_update">
|
|
|
|
- <read_only/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="close_date">
|
|
|
|
- <hidden/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="reject_reason">
|
|
|
|
- <hidden/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="creation_date">
|
|
|
|
- <read_only/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="approval_date">
|
|
|
|
- <hidden/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="caller_id">
|
|
|
|
- <mandatory/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="team_id">
|
|
|
|
- <hidden/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="agent_id">
|
|
|
|
- <hidden/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="changemanager_id">
|
|
|
|
- <hidden/>
|
|
|
|
- </attribute>
|
|
|
|
- </flags>
|
|
|
|
- <transitions>
|
|
|
|
- <transition>
|
|
|
|
- <stimulus>ev_assign</stimulus>
|
|
|
|
- <target>assigned</target>
|
|
|
|
- <actions/>
|
|
|
|
- </transition>
|
|
|
|
- </transitions>
|
|
|
|
- </state>
|
|
|
|
- <state id="assigned">
|
|
|
|
- <flags>
|
|
|
|
- <attribute id="ref">
|
|
|
|
- <read_only/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="org_id">
|
|
|
|
- <mandatory/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="team_id">
|
|
|
|
- <mandatory/>
|
|
|
|
- <must_prompt/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="agent_id">
|
|
|
|
- <mandatory/>
|
|
|
|
- <must_prompt/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="title">
|
|
|
|
- <mandatory/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="description">
|
|
|
|
- <mandatory/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="last_update">
|
|
|
|
- <read_only/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="close_date">
|
|
|
|
- <hidden/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="reject_reason">
|
|
|
|
- <hidden/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="changemanager_id">
|
|
|
|
- <mandatory/>
|
|
|
|
- <must_prompt/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="creation_date">
|
|
|
|
- <read_only/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="approval_date">
|
|
|
|
- <hidden/>
|
|
|
|
- </attribute>
|
|
|
|
- </flags>
|
|
|
|
- <transitions>
|
|
|
|
- <transition>
|
|
|
|
- <stimulus>ev_plan</stimulus>
|
|
|
|
- <target>planned</target>
|
|
|
|
- <actions/>
|
|
|
|
- </transition>
|
|
|
|
- </transitions>
|
|
|
|
- </state>
|
|
|
|
- <state id="planned">
|
|
|
|
- <flags>
|
|
|
|
- <attribute id="ref">
|
|
|
|
- <read_only/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="org_id">
|
|
|
|
- <mandatory/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="title">
|
|
|
|
- <mandatory/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="description">
|
|
|
|
- <mandatory/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="start_date">
|
|
|
|
- <mandatory/>
|
|
|
|
- <must_prompt/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="end_date">
|
|
|
|
- <mandatory/>
|
|
|
|
- <must_prompt/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="last_update">
|
|
|
|
- <read_only/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="close_date">
|
|
|
|
- <hidden/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="reject_reason">
|
|
|
|
- <hidden/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="creation_date">
|
|
|
|
- <read_only/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="approval_date">
|
|
|
|
- <hidden/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="fallback_plan">
|
|
|
|
- <mandatory/>
|
|
|
|
- <must_prompt/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="caller_id">
|
|
|
|
- <mandatory/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="team_id">
|
|
|
|
- <mandatory/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="agent_id">
|
|
|
|
- <mandatory/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="changemanager_id">
|
|
|
|
- <mandatory/>
|
|
|
|
- </attribute>
|
|
|
|
- </flags>
|
|
|
|
- <transitions>
|
|
|
|
- <transition>
|
|
|
|
- <stimulus>ev_reject</stimulus>
|
|
|
|
- <target>rejected</target>
|
|
|
|
- <actions/>
|
|
|
|
- </transition>
|
|
|
|
- <transition>
|
|
|
|
- <stimulus>ev_approve</stimulus>
|
|
|
|
- <target>approved</target>
|
|
|
|
- <actions>
|
|
|
|
- <action>
|
|
|
|
- <verb>SetApprovalDate</verb>
|
|
|
|
- </action>
|
|
|
|
- </actions>
|
|
|
|
- </transition>
|
|
|
|
- </transitions>
|
|
|
|
- </state>
|
|
|
|
- <state id="rejected">
|
|
|
|
- <flags>
|
|
|
|
- <attribute id="ref">
|
|
|
|
- <read_only/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="org_id">
|
|
|
|
- <read_only/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="title">
|
|
|
|
- <read_only/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="description">
|
|
|
|
- <read_only/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="last_update">
|
|
|
|
- <read_only/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="close_date">
|
|
|
|
- <hidden/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="start_date">
|
|
|
|
- <read_only/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="end_date">
|
|
|
|
- <read_only/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="private_log">
|
|
|
|
- <read_only/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="reject_reason">
|
|
|
|
- <mandatory/>
|
|
|
|
- <must_prompt/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="creation_date">
|
|
|
|
- <read_only/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="approval_date">
|
|
|
|
- <read_only/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="caller_id">
|
|
|
|
- <read_only/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="team_id">
|
|
|
|
- <read_only/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="agent_id">
|
|
|
|
- <read_only/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="changemanager_id">
|
|
|
|
- <read_only/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="private_log">
|
|
|
|
- <read_only/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="fallback_plan">
|
|
|
|
- <read_only/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="category">
|
|
|
|
- <read_only/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="parent_id">
|
|
|
|
- <read_only/>
|
|
|
|
- </attribute>
|
|
|
|
- </flags>
|
|
|
|
- <transitions>
|
|
|
|
- <transition>
|
|
|
|
- <stimulus>ev_reopen</stimulus>
|
|
|
|
- <target>assigned</target>
|
|
|
|
- <actions/>
|
|
|
|
- </transition>
|
|
|
|
- </transitions>
|
|
|
|
- </state>
|
|
|
|
- <state id="approved">
|
|
|
|
- <flags>
|
|
|
|
- <attribute id="ref">
|
|
|
|
- <read_only/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="org_id">
|
|
|
|
- <read_only/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="title">
|
|
|
|
- <read_only/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="description">
|
|
|
|
- <read_only/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="last_update">
|
|
|
|
- <read_only/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="close_date">
|
|
|
|
- <hidden/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="start_date">
|
|
|
|
- <read_only/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="end_date">
|
|
|
|
- <read_only/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="private_log">
|
|
|
|
- <normal/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="reject_reason">
|
|
|
|
- <read_only/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="creation_date">
|
|
|
|
- <hidden/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="approval_date">
|
|
|
|
- <read_only/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="caller_id">
|
|
|
|
- <read_only/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="team_id">
|
|
|
|
- <read_only/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="agent_id">
|
|
|
|
- <read_only/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="changemanager_id">
|
|
|
|
- <read_only/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="fallback_plan">
|
|
|
|
- <normal/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="category">
|
|
|
|
- <normal/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="parent_id">
|
|
|
|
- <normal/>
|
|
|
|
- </attribute>
|
|
|
|
- </flags>
|
|
|
|
- <transitions>
|
|
|
|
- <transition>
|
|
|
|
- <stimulus>ev_finish</stimulus>
|
|
|
|
- <target>closed</target>
|
|
|
|
- <actions>
|
|
|
|
- <action>
|
|
|
|
- <verb>SetClosureDate</verb>
|
|
|
|
- </action>
|
|
|
|
- </actions>
|
|
|
|
- </transition>
|
|
|
|
- </transitions>
|
|
|
|
- </state>
|
|
|
|
- <state id="closed">
|
|
|
|
- <flags>
|
|
|
|
- <attribute id="ref">
|
|
|
|
- <read_only/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="org_id">
|
|
|
|
- <read_only/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="title">
|
|
|
|
- <read_only/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="description">
|
|
|
|
- <read_only/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="last_update">
|
|
|
|
- <read_only/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="close_date">
|
|
|
|
- <read_only/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="start_date">
|
|
|
|
- <read_only/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="end_date">
|
|
|
|
- <read_only/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="reject_reason">
|
|
|
|
- <read_only/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="creation_date">
|
|
|
|
- <read_only/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="approval_date">
|
|
|
|
- <read_only/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="caller_id">
|
|
|
|
- <read_only/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="team_id">
|
|
|
|
- <read_only/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="agent_id">
|
|
|
|
- <read_only/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="changemanager_id">
|
|
|
|
- <read_only/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="private_log">
|
|
|
|
- <read_only/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="fallback_plan">
|
|
|
|
- <read_only/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="category">
|
|
|
|
- <read_only/>
|
|
|
|
- </attribute>
|
|
|
|
- <attribute id="parent_id">
|
|
|
|
- <read_only/>
|
|
|
|
- </attribute>
|
|
|
|
- </flags>
|
|
|
|
- <transitions/>
|
|
|
|
- </state>
|
|
|
|
- </states>
|
|
|
|
- </lifecycle>
|
|
|
|
- <methods>
|
|
|
|
- <method id="SetApprovalDate">
|
|
|
|
- <static>false</static>
|
|
|
|
- <access>public</access>
|
|
|
|
- <type>LifecycleAction</type>
|
|
|
|
- <code><![CDATA[ public function SetApprovalDate($sStimulusCode)
|
|
|
|
- {
|
|
|
|
- $this->Set('approval_date', time());
|
|
|
|
- return true;
|
|
|
|
- }]]></code>
|
|
|
|
- </method>
|
|
|
|
- <method id="SetClosureDate">
|
|
|
|
- <static>false</static>
|
|
|
|
- <access>public</access>
|
|
|
|
- <type>LifecycleAction</type>
|
|
|
|
- <code><![CDATA[ public function SetClosureDate($sStimulusCode)
|
|
|
|
- {
|
|
|
|
- $this->Set('close_date', time());
|
|
|
|
- return true;
|
|
|
|
- }]]></code>
|
|
|
|
- </method>
|
|
|
|
- <method id="OnInsert">
|
|
|
|
- <static>false</static>
|
|
|
|
- <access>protected</access>
|
|
|
|
- <type>Overload-DBObject</type>
|
|
|
|
- <code><![CDATA[ protected function OnInsert()
|
|
|
|
- {
|
|
|
|
- $oToNotify = $this->Get('contacts_list');
|
|
|
|
- $oToImpact = $this->Get('functionalcis_list');
|
|
|
|
-
|
|
|
|
- $oImpactedInfras = DBObjectSet::FromLinkSet($this, 'functionalcis_list', 'functionalci_id');
|
|
|
|
-
|
|
|
|
- $aComputed = $oImpactedInfras->GetRelatedObjects('impacts', 10);
|
|
|
|
-
|
|
|
|
- if (isset($aComputed['FunctionalCI']) && is_array($aComputed['FunctionalCI']))
|
|
|
|
- {
|
|
|
|
- foreach($aComputed['FunctionalCI'] as $iKey => $oObject)
|
|
|
|
- {
|
|
|
|
- $oNewLink = new lnkFunctionalCIToTicket();
|
|
|
|
- $oNewLink->Set('functionalci_id', $iKey);
|
|
|
|
- $oToImpact->AddObject($oNewLink);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- if (isset($aComputed['Contact']) && is_array($aComputed['Contact']))
|
|
|
|
- {
|
|
|
|
- foreach($aComputed['Contact'] as $iKey => $oObject)
|
|
|
|
- {
|
|
|
|
- $oNewLink = new lnkContactToTicket();
|
|
|
|
- $oNewLink->Set('contact_id', $iKey);
|
|
|
|
- $oNewLink->Set('role', 'contact automatically computed');
|
|
|
|
- $oToNotify->AddObject($oNewLink);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- $this->Set('creation_date', time());
|
|
|
|
- $this->Set('last_update', time());
|
|
|
|
- }]]></code>
|
|
|
|
- </method>
|
|
|
|
- <method id="OnUpdate">
|
|
|
|
- <static>false</static>
|
|
|
|
- <access>protected</access>
|
|
|
|
- <type>Overload-DBObject</type>
|
|
|
|
- <code><![CDATA[ protected function OnUpdate()
|
|
|
|
- {
|
|
|
|
- $this->Set('last_update', time());
|
|
|
|
- }]]></code>
|
|
|
|
- </method>
|
|
|
|
- <method id="ComputeValues">
|
|
|
|
- <static>false</static>
|
|
|
|
- <access>public</access>
|
|
|
|
- <type>Overload-DBObject</type>
|
|
|
|
- <code><![CDATA[ public function ComputeValues()
|
|
|
|
- {
|
|
|
|
- $sCurrRef = $this->Get('ref');
|
|
|
|
- if (strlen($sCurrRef) == 0)
|
|
|
|
- {
|
|
|
|
- $iKey = $this->GetKey();
|
|
|
|
- if ($iKey < 0)
|
|
|
|
- {
|
|
|
|
- // Object not yet in the Database
|
|
|
|
- $iKey = MetaModel::GetNextKey(get_class($this));
|
|
|
|
- }
|
|
|
|
- $sName = sprintf('C-%06d', $iKey);
|
|
|
|
- $this->Set('ref', $sName);
|
|
|
|
- }
|
|
|
|
- }]]></code>
|
|
|
|
- </method>
|
|
|
|
- <method id="GetIcon">
|
|
|
|
- <comment>/**
|
|
|
|
- * Get the icon representing this object
|
|
|
|
- * @param boolean $bImgTag If true the result is a full IMG tag (or an emtpy string if no icon is defined)
|
|
|
|
- * @return string Either the full IMG tag ($bImgTag == true) or just the path to the icon file
|
|
|
|
- */</comment>
|
|
|
|
- <static>false</static>
|
|
|
|
- <access>public</access>
|
|
|
|
- <type>Overload-DBObject</type>
|
|
|
|
- <code><![CDATA[ public function GetIcon($bImgTag = true)
|
|
|
|
- {
|
|
|
|
- $sStatus = $this->Get('status');
|
|
|
|
- switch($this->GetState())
|
|
|
|
- {
|
|
|
|
- case 'approved':
|
|
|
|
- case 'implemented':
|
|
|
|
- case 'monitored':
|
|
|
|
- $sIcon = self::MakeIconFromName('change-approved.png');
|
|
|
|
- break;
|
|
|
|
-
|
|
|
|
- case 'rejected':
|
|
|
|
- case 'notapproved':
|
|
|
|
- $sIcon = self::MakeIconFromName('change-rejected.png');
|
|
|
|
- break;
|
|
|
|
-
|
|
|
|
- case 'closed':
|
|
|
|
- $sIcon = self::MakeIconFromName('change-closed.png');
|
|
|
|
- break;
|
|
|
|
-
|
|
|
|
- default:
|
|
|
|
- $sIcon = MetaModel::GetClassIcon(get_class($this), $bImgTag);
|
|
|
|
- }
|
|
|
|
- return $sIcon;
|
|
|
|
- }]]></code>
|
|
|
|
- </method>
|
|
|
|
- <method id="MakeIconFromName">
|
|
|
|
- <static>true</static>
|
|
|
|
- <access>protected</access>
|
|
|
|
- <type>Overload-DBObject</type>
|
|
|
|
- <code><![CDATA[ protected static function MakeIconFromName($sIconName, $bImgTag = true)
|
|
|
|
- {
|
|
|
|
- $sIcon = '';
|
|
|
|
- if ($sIconName != '')
|
|
|
|
- {
|
|
|
|
- $sPath = '../modules/Sofaxis-change-mgmt/images/'.$sIconName;
|
|
|
|
- if ($bImgTag)
|
|
|
|
- {
|
|
|
|
- $sIcon = "<img src=\"$sPath\" style=\"vertical-align:middle;\"/>";
|
|
|
|
- }
|
|
|
|
- else
|
|
|
|
- {
|
|
|
|
- $sIcon = $sPath;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- return $sIcon;
|
|
|
|
- }]]></code>
|
|
|
|
- </method>
|
|
|
|
- </methods>
|
|
|
|
- <presentation>
|
|
|
|
- <details>
|
|
|
|
- <items>
|
|
|
|
- <item>functionalcis_list</item>
|
|
|
|
- <item>contacts_list</item>
|
|
|
|
- <item>workorders_list</item>
|
|
|
|
- <item>related_request_list</item>
|
|
|
|
- <item>related_incident_list</item>
|
|
|
|
- <item>related_problems_list</item>
|
|
|
|
- <item>child_changes_list</item>
|
|
|
|
- <item id="col:col1">
|
|
|
|
- <items>
|
|
|
|
- <item id="fieldset:Ticket:baseinfo">
|
|
|
|
- <items>
|
|
|
|
- <item>ref</item>
|
|
|
|
- <item>org_id</item>
|
|
|
|
- <item>status</item>
|
|
|
|
- <item>title</item>
|
|
|
|
- <item>description</item>
|
|
|
|
- </items>
|
|
|
|
- </item>
|
|
|
|
- <item id="fieldset:Ticket:contact">
|
|
|
|
- <items>
|
|
|
|
- <item>caller_id</item>
|
|
|
|
- <item>team_id</item>
|
|
|
|
- <item>agent_id</item>
|
|
|
|
- <item>changemanager_id</item>
|
|
|
|
- </items>
|
|
|
|
- </item>
|
|
|
|
- </items>
|
|
|
|
- </item>
|
|
|
|
- <item id="col:col2">
|
|
|
|
- <items>
|
|
|
|
- <item id="fieldset:Ticket:resolution">
|
|
|
|
- <items>
|
|
|
|
- <item>category</item>
|
|
|
|
- <item>reject_reason</item>
|
|
|
|
- <item>fallback_plan</item>
|
|
|
|
- </items>
|
|
|
|
- </item>
|
|
|
|
- <item id="fieldset:Relations">
|
|
|
|
- <items>
|
|
|
|
- <item>parent_id</item>
|
|
|
|
- </items>
|
|
|
|
- </item>
|
|
|
|
- </items>
|
|
|
|
- </item>
|
|
|
|
- <item id="col:col3">
|
|
|
|
- <items>
|
|
|
|
- <item id="fieldset:Ticket:date">
|
|
|
|
- <items>
|
|
|
|
- <item>creation_date</item>
|
|
|
|
- <item>start_date</item>
|
|
|
|
- <item>end_date</item>
|
|
|
|
- <item>last_update</item>
|
|
|
|
-
|
|
|
|
- <item>approval_date</item>
|
|
|
|
- <item>close_date</item>
|
|
|
|
- </items>
|
|
|
|
- </item>
|
|
|
|
- </items>
|
|
|
|
- </item>
|
|
|
|
- </items>
|
|
|
|
- </details>
|
|
|
|
- <search>
|
|
|
|
- <items>
|
|
|
|
- <item>ref</item>
|
|
|
|
- <item>title</item>
|
|
|
|
- <item>org_id</item>
|
|
|
|
- <item>status</item>
|
|
|
|
- <item>start_date</item>
|
|
|
|
- <item>end_date</item>
|
|
|
|
- <item>creation_date</item>
|
|
|
|
- <item>last_update</item>
|
|
|
|
- <item>close_date</item>
|
|
|
|
- <item>team_id</item>
|
|
|
|
- <item>agent_id</item>
|
|
|
|
- <item>changemanager_id</item>
|
|
|
|
- </items>
|
|
|
|
- </search>
|
|
|
|
- <list>
|
|
|
|
- <items>
|
|
|
|
- <item>title</item>
|
|
|
|
- <item>org_id</item>
|
|
|
|
- <item>start_date</item>
|
|
|
|
- <item>end_date</item>
|
|
|
|
- <item>status</item>
|
|
|
|
- <item>category</item>
|
|
|
|
- <item>agent_id</item>
|
|
|
|
- </items>
|
|
|
|
- </list>
|
|
|
|
- </presentation>
|
|
|
|
- </class>
|
|
|
|
- </classes>
|
|
|
|
- <menus>
|
|
|
|
- <menu id="ChangeManagement" xsi:type="MenuGroup" _delta="define">
|
|
|
|
- <rank>50</rank>
|
|
|
|
- </menu>
|
|
|
|
- <menu id="Change:Overview" xsi:type="DashboardMenuNode" _delta="define">
|
|
|
|
- <rank>0</rank>
|
|
|
|
- <parent>ChangeManagement</parent>
|
|
|
|
- <definition_file>overview.xml</definition_file>
|
|
|
|
- </menu>
|
|
|
|
- <menu id="NewChange" xsi:type="NewObjectMenuNode" _delta="define">
|
|
|
|
- <rank>1</rank>
|
|
|
|
- <parent>ChangeManagement</parent>
|
|
|
|
- <class>Change</class>
|
|
|
|
- </menu>
|
|
|
|
- <menu id="SearchChanges" xsi:type="SearchMenuNode" _delta="define">
|
|
|
|
- <rank>2</rank>
|
|
|
|
- <parent>ChangeManagement</parent>
|
|
|
|
- <class>Change</class>
|
|
|
|
- </menu>
|
|
|
|
- <menu id="Change:Shortcuts" xsi:type="TemplateMenuNode" _delta="define">
|
|
|
|
- <rank>3</rank>
|
|
|
|
- <parent>ChangeManagement</parent>
|
|
|
|
- <template_file></template_file>
|
|
|
|
- </menu>
|
|
|
|
- <menu id="MyChanges" xsi:type="OQLMenuNode" _delta="define">
|
|
|
|
- <rank>1</rank>
|
|
|
|
- <parent>Change:Shortcuts</parent>
|
|
|
|
- <oql><![CDATA[SELECT Change WHERE agent_id = :current_contact_id AND status NOT IN ("closed")]]></oql>
|
|
|
|
- <do_search></do_search>
|
|
|
|
- <auto_reload>fast</auto_reload>
|
|
|
|
- </menu>
|
|
|
|
- <menu id="Changes" xsi:type="OQLMenuNode" _delta="define">
|
|
|
|
- <rank>2</rank>
|
|
|
|
- <parent>Change:Shortcuts</parent>
|
|
|
|
- <oql><![CDATA[SELECT Change WHERE status != "closed"]]></oql>
|
|
|
|
- <do_search>1</do_search>
|
|
|
|
- <auto_reload>fast</auto_reload>
|
|
|
|
- </menu>
|
|
|
|
- <menu id="WaitingApproval" xsi:type="OQLMenuNode" _delta="define">
|
|
|
|
- <rank>3</rank>
|
|
|
|
- <parent>Change:Shortcuts</parent>
|
|
|
|
- <oql><![CDATA[SELECT Change WHERE status IN ("planned")]]></oql>
|
|
|
|
- <do_search></do_search>
|
|
|
|
- <auto_reload>fast</auto_reload>
|
|
|
|
- </menu>
|
|
|
|
- </menus>
|
|
|
|
-</itop_design>
|
|
|
|
|
|
+<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
+<itop_design xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0">
|
|
|
|
+ <classes>
|
|
|
|
+ <class id="Change" _delta="define">
|
|
|
|
+ <parent>Ticket</parent>
|
|
|
|
+ <properties>
|
|
|
|
+ <comment><![CDATA[/**
|
|
|
|
+ * Persistent classes for a CMDB
|
|
|
|
+ *
|
|
|
|
+ * @copyright Copyright (C) 2010-2012 Combodo SARL
|
|
|
|
+ * @license http://opensource.org/licenses/AGPL-3.0
|
|
|
|
+ */]]></comment>
|
|
|
|
+ <category>bizmodel,searchable,changemgmt</category>
|
|
|
|
+ <abstract>false</abstract>
|
|
|
|
+ <key_type>autoincrement</key_type>
|
|
|
|
+ <db_table>ticket_change</db_table>
|
|
|
|
+ <db_key_field>id</db_key_field>
|
|
|
|
+ <db_final_class_field/>
|
|
|
|
+ <naming>
|
|
|
|
+ <format>%1$s</format>
|
|
|
|
+ <attributes>
|
|
|
|
+ <attribute id="ref"/>
|
|
|
|
+ </attributes>
|
|
|
|
+ </naming>
|
|
|
|
+ <display_template/>
|
|
|
|
+ <icon>images/change.png</icon>
|
|
|
|
+ <reconciliation>
|
|
|
|
+ <attributes>
|
|
|
|
+ <attribute id="ref"/>
|
|
|
|
+ </attributes>
|
|
|
|
+ </reconciliation>
|
|
|
|
+ </properties>
|
|
|
|
+ <fields>
|
|
|
|
+ <field id="status" xsi:type="AttributeEnum">
|
|
|
|
+ <values>
|
|
|
|
+ <value>new</value>
|
|
|
|
+ <value>assigned</value>
|
|
|
|
+ <value>planned</value>
|
|
|
|
+ <value>approved</value>
|
|
|
|
+ <value>closed</value>
|
|
|
|
+ <value>rejected</value>
|
|
|
|
+ </values>
|
|
|
|
+ <sql>status</sql>
|
|
|
|
+ <default_value>new</default_value>
|
|
|
|
+ <is_null_allowed>true</is_null_allowed>
|
|
|
|
+ </field>
|
|
|
|
+ <field id="category" xsi:type="AttributeEnum">
|
|
|
|
+ <values>
|
|
|
|
+ <value>hardware</value>
|
|
|
|
+ <value>software</value>
|
|
|
|
+ <value>system</value>
|
|
|
|
+ <value>network</value>
|
|
|
|
+ <value>application</value>
|
|
|
|
+ <value>other</value>
|
|
|
|
+ </values>
|
|
|
|
+ <sql>category</sql>
|
|
|
|
+ <default_value>hardware</default_value>
|
|
|
|
+ <is_null_allowed>true</is_null_allowed>
|
|
|
|
+ </field>
|
|
|
|
+ <field id="reject_reason" xsi:type="AttributeText">
|
|
|
|
+ <sql>reject_reason</sql>
|
|
|
|
+ <default_value/>
|
|
|
|
+ <is_null_allowed>true</is_null_allowed>
|
|
|
|
+ </field>
|
|
|
|
+ <field id="changemanager_id" xsi:type="AttributeExternalKey">
|
|
|
|
+ <sql>changemanager_id</sql>
|
|
|
|
+ <target_class>Person</target_class>
|
|
|
|
+ <is_null_allowed>true</is_null_allowed>
|
|
|
|
+ <on_target_delete>DEL_MANUAL</on_target_delete>
|
|
|
|
+ </field>
|
|
|
|
+ <field id="changemanager_email" xsi:type="AttributeExternalField">
|
|
|
|
+ <extkey_attcode>changemanager_id</extkey_attcode>
|
|
|
|
+ <target_attcode>email</target_attcode>
|
|
|
|
+ </field>
|
|
|
|
+ <field id="parent_id" xsi:type="AttributeExternalKey">
|
|
|
|
+ <filter><![CDATA[SELECT Change WHERE id != :this->id]]></filter>
|
|
|
|
+ <sql>parent_id</sql>
|
|
|
|
+ <target_class>Change</target_class>
|
|
|
|
+ <is_null_allowed>true</is_null_allowed>
|
|
|
|
+ <on_target_delete>DEL_MANUAL</on_target_delete>
|
|
|
|
+ <jointype/>
|
|
|
|
+ </field>
|
|
|
|
+ <field id="parent_name" xsi:type="AttributeExternalField">
|
|
|
|
+ <extkey_attcode>parent_id</extkey_attcode>
|
|
|
|
+ <target_attcode>ref</target_attcode>
|
|
|
|
+ <is_null_allowed>true</is_null_allowed>
|
|
|
|
+ </field>
|
|
|
|
+ <field id="creation_date" xsi:type="AttributeDateTime">
|
|
|
|
+ <sql>creation_date</sql>
|
|
|
|
+ <default_value/>
|
|
|
|
+ <is_null_allowed>true</is_null_allowed>
|
|
|
|
+ </field>
|
|
|
|
+ <field id="approval_date" xsi:type="AttributeDateTime">
|
|
|
|
+ <sql>approval_date</sql>
|
|
|
|
+ <default_value/>
|
|
|
|
+ <is_null_allowed>true</is_null_allowed>
|
|
|
|
+ </field>
|
|
|
|
+ <field id="fallback_plan" xsi:type="AttributeText">
|
|
|
|
+ <sql>fallback_plan</sql>
|
|
|
|
+ <default_value/>
|
|
|
|
+ <is_null_allowed>true</is_null_allowed>
|
|
|
|
+ </field>
|
|
|
|
+ <field id="related_request_list" xsi:type="AttributeLinkedSet">
|
|
|
|
+ <linked_class>UserRequest</linked_class>
|
|
|
|
+ <ext_key_to_me>parent_change_id</ext_key_to_me>
|
|
|
|
+ <edit_mode>none</edit_mode>
|
|
|
|
+ <count_min>0</count_min>
|
|
|
|
+ <count_max>0</count_max>
|
|
|
|
+ </field>
|
|
|
|
+ <field id="related_incident_list" xsi:type="AttributeLinkedSet">
|
|
|
|
+ <linked_class>Incident</linked_class>
|
|
|
|
+ <ext_key_to_me>parent_change_id</ext_key_to_me>
|
|
|
|
+ <edit_mode>none</edit_mode>
|
|
|
|
+ <count_min>0</count_min>
|
|
|
|
+ <count_max>0</count_max>
|
|
|
|
+ </field>
|
|
|
|
+ <field id="related_problems_list" xsi:type="AttributeLinkedSet">
|
|
|
|
+ <linked_class>Problem</linked_class>
|
|
|
|
+ <ext_key_to_me>related_change_id</ext_key_to_me>
|
|
|
|
+ <edit_mode>none</edit_mode>
|
|
|
|
+ <count_min>0</count_min>
|
|
|
|
+ <count_max>0</count_max>
|
|
|
|
+ </field>
|
|
|
|
+ <field id="child_changes_list" xsi:type="AttributeLinkedSet">
|
|
|
|
+ <linked_class>Change</linked_class>
|
|
|
|
+ <ext_key_to_me>parent_id</ext_key_to_me>
|
|
|
|
+ <edit_mode>none</edit_mode>
|
|
|
|
+ <count_min>0</count_min>
|
|
|
|
+ <count_max>0</count_max>
|
|
|
|
+ </field>
|
|
|
|
+ </fields>
|
|
|
|
+ <lifecycle>
|
|
|
|
+ <attribute>status</attribute>
|
|
|
|
+ <stimuli>
|
|
|
|
+ <stimulus id="ev_assign" xsi:type="StimulusUserAction"/>
|
|
|
|
+ <stimulus id="ev_plan" xsi:type="StimulusUserAction"/>
|
|
|
|
+ <stimulus id="ev_reject" xsi:type="StimulusUserAction"/>
|
|
|
|
+ <stimulus id="ev_reopen" xsi:type="StimulusUserAction"/>
|
|
|
|
+ <stimulus id="ev_approve" xsi:type="StimulusUserAction"/>
|
|
|
|
+ <stimulus id="ev_finish" xsi:type="StimulusUserAction"/>
|
|
|
|
+ </stimuli>
|
|
|
|
+ <states>
|
|
|
|
+ <state id="new">
|
|
|
|
+ <flags>
|
|
|
|
+ <attribute id="ref">
|
|
|
|
+ <read_only/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="org_id">
|
|
|
|
+ <mandatory/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="title">
|
|
|
|
+ <mandatory/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="description">
|
|
|
|
+ <mandatory/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="last_update">
|
|
|
|
+ <read_only/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="close_date">
|
|
|
|
+ <hidden/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="reject_reason">
|
|
|
|
+ <hidden/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="creation_date">
|
|
|
|
+ <read_only/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="approval_date">
|
|
|
|
+ <hidden/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="caller_id">
|
|
|
|
+ <mandatory/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="team_id">
|
|
|
|
+ <hidden/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="agent_id">
|
|
|
|
+ <hidden/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="changemanager_id">
|
|
|
|
+ <hidden/>
|
|
|
|
+ </attribute>
|
|
|
|
+ </flags>
|
|
|
|
+ <transitions>
|
|
|
|
+ <transition>
|
|
|
|
+ <stimulus>ev_assign</stimulus>
|
|
|
|
+ <target>assigned</target>
|
|
|
|
+ <actions/>
|
|
|
|
+ </transition>
|
|
|
|
+ </transitions>
|
|
|
|
+ </state>
|
|
|
|
+ <state id="assigned">
|
|
|
|
+ <flags>
|
|
|
|
+ <attribute id="ref">
|
|
|
|
+ <read_only/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="org_id">
|
|
|
|
+ <mandatory/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="team_id">
|
|
|
|
+ <mandatory/>
|
|
|
|
+ <must_prompt/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="agent_id">
|
|
|
|
+ <mandatory/>
|
|
|
|
+ <must_prompt/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="title">
|
|
|
|
+ <mandatory/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="description">
|
|
|
|
+ <mandatory/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="last_update">
|
|
|
|
+ <read_only/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="close_date">
|
|
|
|
+ <hidden/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="reject_reason">
|
|
|
|
+ <hidden/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="changemanager_id">
|
|
|
|
+ <mandatory/>
|
|
|
|
+ <must_prompt/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="creation_date">
|
|
|
|
+ <read_only/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="approval_date">
|
|
|
|
+ <hidden/>
|
|
|
|
+ </attribute>
|
|
|
|
+ </flags>
|
|
|
|
+ <transitions>
|
|
|
|
+ <transition>
|
|
|
|
+ <stimulus>ev_plan</stimulus>
|
|
|
|
+ <target>planned</target>
|
|
|
|
+ <actions/>
|
|
|
|
+ </transition>
|
|
|
|
+ </transitions>
|
|
|
|
+ </state>
|
|
|
|
+ <state id="planned">
|
|
|
|
+ <flags>
|
|
|
|
+ <attribute id="ref">
|
|
|
|
+ <read_only/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="org_id">
|
|
|
|
+ <mandatory/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="title">
|
|
|
|
+ <mandatory/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="description">
|
|
|
|
+ <mandatory/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="start_date">
|
|
|
|
+ <mandatory/>
|
|
|
|
+ <must_prompt/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="end_date">
|
|
|
|
+ <mandatory/>
|
|
|
|
+ <must_prompt/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="last_update">
|
|
|
|
+ <read_only/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="close_date">
|
|
|
|
+ <hidden/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="reject_reason">
|
|
|
|
+ <hidden/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="creation_date">
|
|
|
|
+ <read_only/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="approval_date">
|
|
|
|
+ <hidden/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="fallback_plan">
|
|
|
|
+ <mandatory/>
|
|
|
|
+ <must_prompt/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="caller_id">
|
|
|
|
+ <mandatory/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="team_id">
|
|
|
|
+ <mandatory/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="agent_id">
|
|
|
|
+ <mandatory/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="changemanager_id">
|
|
|
|
+ <mandatory/>
|
|
|
|
+ </attribute>
|
|
|
|
+ </flags>
|
|
|
|
+ <transitions>
|
|
|
|
+ <transition>
|
|
|
|
+ <stimulus>ev_reject</stimulus>
|
|
|
|
+ <target>rejected</target>
|
|
|
|
+ <actions/>
|
|
|
|
+ </transition>
|
|
|
|
+ <transition>
|
|
|
|
+ <stimulus>ev_approve</stimulus>
|
|
|
|
+ <target>approved</target>
|
|
|
|
+ <actions>
|
|
|
|
+ <action>
|
|
|
|
+ <verb>SetApprovalDate</verb>
|
|
|
|
+ </action>
|
|
|
|
+ </actions>
|
|
|
|
+ </transition>
|
|
|
|
+ </transitions>
|
|
|
|
+ </state>
|
|
|
|
+ <state id="rejected">
|
|
|
|
+ <flags>
|
|
|
|
+ <attribute id="ref">
|
|
|
|
+ <read_only/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="org_id">
|
|
|
|
+ <read_only/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="title">
|
|
|
|
+ <read_only/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="description">
|
|
|
|
+ <read_only/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="last_update">
|
|
|
|
+ <read_only/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="close_date">
|
|
|
|
+ <hidden/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="start_date">
|
|
|
|
+ <read_only/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="end_date">
|
|
|
|
+ <read_only/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="private_log">
|
|
|
|
+ <read_only/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="reject_reason">
|
|
|
|
+ <mandatory/>
|
|
|
|
+ <must_prompt/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="creation_date">
|
|
|
|
+ <read_only/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="approval_date">
|
|
|
|
+ <read_only/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="caller_id">
|
|
|
|
+ <read_only/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="team_id">
|
|
|
|
+ <read_only/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="agent_id">
|
|
|
|
+ <read_only/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="changemanager_id">
|
|
|
|
+ <read_only/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="private_log">
|
|
|
|
+ <read_only/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="fallback_plan">
|
|
|
|
+ <read_only/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="category">
|
|
|
|
+ <read_only/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="parent_id">
|
|
|
|
+ <read_only/>
|
|
|
|
+ </attribute>
|
|
|
|
+ </flags>
|
|
|
|
+ <transitions>
|
|
|
|
+ <transition>
|
|
|
|
+ <stimulus>ev_reopen</stimulus>
|
|
|
|
+ <target>assigned</target>
|
|
|
|
+ <actions/>
|
|
|
|
+ </transition>
|
|
|
|
+ </transitions>
|
|
|
|
+ </state>
|
|
|
|
+ <state id="approved">
|
|
|
|
+ <flags>
|
|
|
|
+ <attribute id="ref">
|
|
|
|
+ <read_only/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="org_id">
|
|
|
|
+ <read_only/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="title">
|
|
|
|
+ <read_only/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="description">
|
|
|
|
+ <read_only/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="last_update">
|
|
|
|
+ <read_only/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="close_date">
|
|
|
|
+ <hidden/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="start_date">
|
|
|
|
+ <read_only/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="end_date">
|
|
|
|
+ <read_only/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="private_log">
|
|
|
|
+ <normal/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="reject_reason">
|
|
|
|
+ <read_only/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="creation_date">
|
|
|
|
+ <hidden/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="approval_date">
|
|
|
|
+ <read_only/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="caller_id">
|
|
|
|
+ <read_only/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="team_id">
|
|
|
|
+ <read_only/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="agent_id">
|
|
|
|
+ <read_only/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="changemanager_id">
|
|
|
|
+ <read_only/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="fallback_plan">
|
|
|
|
+ <normal/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="category">
|
|
|
|
+ <normal/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="parent_id">
|
|
|
|
+ <normal/>
|
|
|
|
+ </attribute>
|
|
|
|
+ </flags>
|
|
|
|
+ <transitions>
|
|
|
|
+ <transition>
|
|
|
|
+ <stimulus>ev_finish</stimulus>
|
|
|
|
+ <target>closed</target>
|
|
|
|
+ <actions>
|
|
|
|
+ <action>
|
|
|
|
+ <verb>SetClosureDate</verb>
|
|
|
|
+ </action>
|
|
|
|
+ </actions>
|
|
|
|
+ </transition>
|
|
|
|
+ </transitions>
|
|
|
|
+ </state>
|
|
|
|
+ <state id="closed">
|
|
|
|
+ <flags>
|
|
|
|
+ <attribute id="ref">
|
|
|
|
+ <read_only/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="org_id">
|
|
|
|
+ <read_only/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="title">
|
|
|
|
+ <read_only/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="description">
|
|
|
|
+ <read_only/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="last_update">
|
|
|
|
+ <read_only/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="close_date">
|
|
|
|
+ <read_only/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="start_date">
|
|
|
|
+ <read_only/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="end_date">
|
|
|
|
+ <read_only/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="reject_reason">
|
|
|
|
+ <read_only/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="creation_date">
|
|
|
|
+ <read_only/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="approval_date">
|
|
|
|
+ <read_only/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="caller_id">
|
|
|
|
+ <read_only/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="team_id">
|
|
|
|
+ <read_only/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="agent_id">
|
|
|
|
+ <read_only/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="changemanager_id">
|
|
|
|
+ <read_only/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="private_log">
|
|
|
|
+ <read_only/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="fallback_plan">
|
|
|
|
+ <read_only/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="category">
|
|
|
|
+ <read_only/>
|
|
|
|
+ </attribute>
|
|
|
|
+ <attribute id="parent_id">
|
|
|
|
+ <read_only/>
|
|
|
|
+ </attribute>
|
|
|
|
+ </flags>
|
|
|
|
+ <transitions/>
|
|
|
|
+ </state>
|
|
|
|
+ </states>
|
|
|
|
+ </lifecycle>
|
|
|
|
+ <methods>
|
|
|
|
+ <method id="SetApprovalDate">
|
|
|
|
+ <static>false</static>
|
|
|
|
+ <access>public</access>
|
|
|
|
+ <type>LifecycleAction</type>
|
|
|
|
+ <code><![CDATA[ public function SetApprovalDate($sStimulusCode)
|
|
|
|
+ {
|
|
|
|
+ $this->Set('approval_date', time());
|
|
|
|
+ return true;
|
|
|
|
+ }]]></code>
|
|
|
|
+ </method>
|
|
|
|
+ <method id="SetClosureDate">
|
|
|
|
+ <static>false</static>
|
|
|
|
+ <access>public</access>
|
|
|
|
+ <type>LifecycleAction</type>
|
|
|
|
+ <code><![CDATA[ public function SetClosureDate($sStimulusCode)
|
|
|
|
+ {
|
|
|
|
+ $this->Set('close_date', time());
|
|
|
|
+ return true;
|
|
|
|
+ }]]></code>
|
|
|
|
+ </method>
|
|
|
|
+ <method id="OnInsert">
|
|
|
|
+ <static>false</static>
|
|
|
|
+ <access>protected</access>
|
|
|
|
+ <type>Overload-DBObject</type>
|
|
|
|
+ <code><![CDATA[ protected function OnInsert()
|
|
|
|
+ {
|
|
|
|
+ $oToNotify = $this->Get('contacts_list');
|
|
|
|
+ $oToImpact = $this->Get('functionalcis_list');
|
|
|
|
+
|
|
|
|
+ $oImpactedInfras = DBObjectSet::FromLinkSet($this, 'functionalcis_list', 'functionalci_id');
|
|
|
|
+
|
|
|
|
+ $aComputed = $oImpactedInfras->GetRelatedObjects('impacts', 10);
|
|
|
|
+
|
|
|
|
+ if (isset($aComputed['FunctionalCI']) && is_array($aComputed['FunctionalCI']))
|
|
|
|
+ {
|
|
|
|
+ foreach($aComputed['FunctionalCI'] as $iKey => $oObject)
|
|
|
|
+ {
|
|
|
|
+ $oNewLink = new lnkFunctionalCIToTicket();
|
|
|
|
+ $oNewLink->Set('functionalci_id', $iKey);
|
|
|
|
+ $oToImpact->AddObject($oNewLink);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if (isset($aComputed['Contact']) && is_array($aComputed['Contact']))
|
|
|
|
+ {
|
|
|
|
+ foreach($aComputed['Contact'] as $iKey => $oObject)
|
|
|
|
+ {
|
|
|
|
+ $oNewLink = new lnkContactToTicket();
|
|
|
|
+ $oNewLink->Set('contact_id', $iKey);
|
|
|
|
+ $oNewLink->Set('role', 'contact automatically computed');
|
|
|
|
+ $oToNotify->AddObject($oNewLink);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ $this->Set('creation_date', time());
|
|
|
|
+ $this->Set('last_update', time());
|
|
|
|
+ }]]></code>
|
|
|
|
+ </method>
|
|
|
|
+ <method id="OnUpdate">
|
|
|
|
+ <static>false</static>
|
|
|
|
+ <access>protected</access>
|
|
|
|
+ <type>Overload-DBObject</type>
|
|
|
|
+ <code><![CDATA[ protected function OnUpdate()
|
|
|
|
+ {
|
|
|
|
+ $this->Set('last_update', time());
|
|
|
|
+ }]]></code>
|
|
|
|
+ </method>
|
|
|
|
+ <method id="ComputeValues">
|
|
|
|
+ <static>false</static>
|
|
|
|
+ <access>public</access>
|
|
|
|
+ <type>Overload-DBObject</type>
|
|
|
|
+ <code><![CDATA[ public function ComputeValues()
|
|
|
|
+ {
|
|
|
|
+ $sCurrRef = $this->Get('ref');
|
|
|
|
+ if (strlen($sCurrRef) == 0)
|
|
|
|
+ {
|
|
|
|
+ $iKey = $this->GetKey();
|
|
|
|
+ if ($iKey < 0)
|
|
|
|
+ {
|
|
|
|
+ // Object not yet in the Database
|
|
|
|
+ $iKey = MetaModel::GetNextKey(get_class($this));
|
|
|
|
+ }
|
|
|
|
+ $sName = sprintf('C-%06d', $iKey);
|
|
|
|
+ $this->Set('ref', $sName);
|
|
|
|
+ }
|
|
|
|
+ }]]></code>
|
|
|
|
+ </method>
|
|
|
|
+ <method id="GetIcon">
|
|
|
|
+ <comment>/**
|
|
|
|
+ * Get the icon representing this object
|
|
|
|
+ * @param boolean $bImgTag If true the result is a full IMG tag (or an emtpy string if no icon is defined)
|
|
|
|
+ * @return string Either the full IMG tag ($bImgTag == true) or just the path to the icon file
|
|
|
|
+ */</comment>
|
|
|
|
+ <static>false</static>
|
|
|
|
+ <access>public</access>
|
|
|
|
+ <type>Overload-DBObject</type>
|
|
|
|
+ <code><![CDATA[ public function GetIcon($bImgTag = true)
|
|
|
|
+ {
|
|
|
|
+ $sStatus = $this->Get('status');
|
|
|
|
+ switch($this->GetState())
|
|
|
|
+ {
|
|
|
|
+ case 'approved':
|
|
|
|
+ case 'implemented':
|
|
|
|
+ case 'monitored':
|
|
|
|
+ $sIcon = self::MakeIconFromName('change-approved.png');
|
|
|
|
+ break;
|
|
|
|
+
|
|
|
|
+ case 'rejected':
|
|
|
|
+ case 'notapproved':
|
|
|
|
+ $sIcon = self::MakeIconFromName('change-rejected.png');
|
|
|
|
+ break;
|
|
|
|
+
|
|
|
|
+ case 'closed':
|
|
|
|
+ $sIcon = self::MakeIconFromName('change-closed.png');
|
|
|
|
+ break;
|
|
|
|
+
|
|
|
|
+ default:
|
|
|
|
+ $sIcon = MetaModel::GetClassIcon(get_class($this), $bImgTag);
|
|
|
|
+ }
|
|
|
|
+ return $sIcon;
|
|
|
|
+ }]]></code>
|
|
|
|
+ </method>
|
|
|
|
+ <method id="MakeIconFromName">
|
|
|
|
+ <static>true</static>
|
|
|
|
+ <access>protected</access>
|
|
|
|
+ <type>Overload-DBObject</type>
|
|
|
|
+ <code><![CDATA[ protected static function MakeIconFromName($sIconName, $bImgTag = true)
|
|
|
|
+ {
|
|
|
|
+ $sIcon = '';
|
|
|
|
+ if ($sIconName != '')
|
|
|
|
+ {
|
|
|
|
+ $sPath = '../modules/Sofaxis-change-mgmt/images/'.$sIconName;
|
|
|
|
+ if ($bImgTag)
|
|
|
|
+ {
|
|
|
|
+ $sIcon = "<img src=\"$sPath\" style=\"vertical-align:middle;\"/>";
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ $sIcon = $sPath;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return $sIcon;
|
|
|
|
+ }]]></code>
|
|
|
|
+ </method>
|
|
|
|
+ </methods>
|
|
|
|
+ <presentation>
|
|
|
|
+ <details>
|
|
|
|
+ <items>
|
|
|
|
+ <item id="functionalcis_list">
|
|
|
|
+ <rank>10</rank>
|
|
|
|
+ </item>
|
|
|
|
+ <item id="contacts_list">
|
|
|
|
+ <rank>20</rank>
|
|
|
|
+ </item>
|
|
|
|
+ <item id="workorders_list">
|
|
|
|
+ <rank>30</rank>
|
|
|
|
+ </item>
|
|
|
|
+ <item id="related_request_list">
|
|
|
|
+ <rank>40</rank>
|
|
|
|
+ </item>
|
|
|
|
+ <item id="related_incident_list">
|
|
|
|
+ <rank>50</rank>
|
|
|
|
+ </item>
|
|
|
|
+ <item id="related_problems_list">
|
|
|
|
+ <rank>60</rank>
|
|
|
|
+ </item>
|
|
|
|
+ <item id="child_changes_list">
|
|
|
|
+ <rank>70</rank>
|
|
|
|
+ </item>
|
|
|
|
+ <item id="col:col1">
|
|
|
|
+ <rank>80</rank>
|
|
|
|
+ <items>
|
|
|
|
+ <item id="fieldset:Ticket:baseinfo">
|
|
|
|
+ <rank>10</rank>
|
|
|
|
+ <items>
|
|
|
|
+ <item id="ref">
|
|
|
|
+ <rank>10</rank>
|
|
|
|
+ </item>
|
|
|
|
+ <item id="org_id">
|
|
|
|
+ <rank>20</rank>
|
|
|
|
+ </item>
|
|
|
|
+ <item id="status">
|
|
|
|
+ <rank>30</rank>
|
|
|
|
+ </item>
|
|
|
|
+ <item id="title">
|
|
|
|
+ <rank>40</rank>
|
|
|
|
+ </item>
|
|
|
|
+ <item id="description">
|
|
|
|
+ <rank>50</rank>
|
|
|
|
+ </item>
|
|
|
|
+ </items>
|
|
|
|
+ </item>
|
|
|
|
+ <item id="fieldset:Ticket:contact">
|
|
|
|
+ <rank>20</rank>
|
|
|
|
+ <items>
|
|
|
|
+ <item id="caller_id">
|
|
|
|
+ <rank>10</rank>
|
|
|
|
+ </item>
|
|
|
|
+ <item id="team_id">
|
|
|
|
+ <rank>20</rank>
|
|
|
|
+ </item>
|
|
|
|
+ <item id="agent_id">
|
|
|
|
+ <rank>30</rank>
|
|
|
|
+ </item>
|
|
|
|
+ <item id="changemanager_id">
|
|
|
|
+ <rank>40</rank>
|
|
|
|
+ </item>
|
|
|
|
+ </items>
|
|
|
|
+ </item>
|
|
|
|
+ </items>
|
|
|
|
+ </item>
|
|
|
|
+ <item id="col:col2">
|
|
|
|
+ <rank>90</rank>
|
|
|
|
+ <items>
|
|
|
|
+ <item id="fieldset:Ticket:resolution">
|
|
|
|
+ <rank>10</rank>
|
|
|
|
+ <items>
|
|
|
|
+ <item id="category">
|
|
|
|
+ <rank>10</rank>
|
|
|
|
+ </item>
|
|
|
|
+ <item id="reject_reason">
|
|
|
|
+ <rank>20</rank>
|
|
|
|
+ </item>
|
|
|
|
+ <item id="fallback_plan">
|
|
|
|
+ <rank>30</rank>
|
|
|
|
+ </item>
|
|
|
|
+ </items>
|
|
|
|
+ </item>
|
|
|
|
+ <item id="fieldset:Relations">
|
|
|
|
+ <rank>20</rank>
|
|
|
|
+ <items>
|
|
|
|
+ <item id="parent_id">
|
|
|
|
+ <rank>10</rank>
|
|
|
|
+ </item>
|
|
|
|
+ </items>
|
|
|
|
+ </item>
|
|
|
|
+ </items>
|
|
|
|
+ </item>
|
|
|
|
+ <item id="col:col3">
|
|
|
|
+ <rank>100</rank>
|
|
|
|
+ <items>
|
|
|
|
+ <item id="fieldset:Ticket:date">
|
|
|
|
+ <rank>10</rank>
|
|
|
|
+ <items>
|
|
|
|
+ <item id="creation_date">
|
|
|
|
+ <rank>10</rank>
|
|
|
|
+ </item>
|
|
|
|
+ <item id="start_date">
|
|
|
|
+ <rank>20</rank>
|
|
|
|
+ </item>
|
|
|
|
+ <item id="end_date">
|
|
|
|
+ <rank>30</rank>
|
|
|
|
+ </item>
|
|
|
|
+ <item id="last_update">
|
|
|
|
+ <rank>40</rank>
|
|
|
|
+ </item>
|
|
|
|
+ <item id="approval_date">
|
|
|
|
+ <rank>50</rank>
|
|
|
|
+ </item>
|
|
|
|
+ <item id="close_date">
|
|
|
|
+ <rank>60</rank>
|
|
|
|
+ </item>
|
|
|
|
+ </items>
|
|
|
|
+ </item>
|
|
|
|
+ </items>
|
|
|
|
+ </item>
|
|
|
|
+ </items>
|
|
|
|
+ </details>
|
|
|
|
+ <search>
|
|
|
|
+ <items>
|
|
|
|
+ <item id="ref">
|
|
|
|
+ <rank>10</rank>
|
|
|
|
+ </item>
|
|
|
|
+ <item id="title">
|
|
|
|
+ <rank>20</rank>
|
|
|
|
+ </item>
|
|
|
|
+ <item id="org_id">
|
|
|
|
+ <rank>30</rank>
|
|
|
|
+ </item>
|
|
|
|
+ <item id="status">
|
|
|
|
+ <rank>40</rank>
|
|
|
|
+ </item>
|
|
|
|
+ <item id="start_date">
|
|
|
|
+ <rank>50</rank>
|
|
|
|
+ </item>
|
|
|
|
+ <item id="end_date">
|
|
|
|
+ <rank>60</rank>
|
|
|
|
+ </item>
|
|
|
|
+ <item id="creation_date">
|
|
|
|
+ <rank>70</rank>
|
|
|
|
+ </item>
|
|
|
|
+ <item id="last_update">
|
|
|
|
+ <rank>80</rank>
|
|
|
|
+ </item>
|
|
|
|
+ <item id="close_date">
|
|
|
|
+ <rank>90</rank>
|
|
|
|
+ </item>
|
|
|
|
+ <item id="team_id">
|
|
|
|
+ <rank>100</rank>
|
|
|
|
+ </item>
|
|
|
|
+ <item id="agent_id">
|
|
|
|
+ <rank>110</rank>
|
|
|
|
+ </item>
|
|
|
|
+ <item id="changemanager_id">
|
|
|
|
+ <rank>120</rank>
|
|
|
|
+ </item>
|
|
|
|
+ </items>
|
|
|
|
+ </search>
|
|
|
|
+ <list>
|
|
|
|
+ <items>
|
|
|
|
+ <item id="title">
|
|
|
|
+ <rank>10</rank>
|
|
|
|
+ </item>
|
|
|
|
+ <item id="org_id">
|
|
|
|
+ <rank>20</rank>
|
|
|
|
+ </item>
|
|
|
|
+ <item id="start_date">
|
|
|
|
+ <rank>30</rank>
|
|
|
|
+ </item>
|
|
|
|
+ <item id="end_date">
|
|
|
|
+ <rank>40</rank>
|
|
|
|
+ </item>
|
|
|
|
+ <item id="status">
|
|
|
|
+ <rank>50</rank>
|
|
|
|
+ </item>
|
|
|
|
+ <item id="category">
|
|
|
|
+ <rank>60</rank>
|
|
|
|
+ </item>
|
|
|
|
+ <item id="agent_id">
|
|
|
|
+ <rank>70</rank>
|
|
|
|
+ </item>
|
|
|
|
+ </items>
|
|
|
|
+ </list>
|
|
|
|
+ </presentation>
|
|
|
|
+ </class>
|
|
|
|
+ </classes>
|
|
|
|
+ <menus>
|
|
|
|
+ <menu id="ChangeManagement" xsi:type="MenuGroup" _delta="define">
|
|
|
|
+ <rank>50</rank>
|
|
|
|
+ </menu>
|
|
|
|
+ <menu id="Change:Overview" xsi:type="DashboardMenuNode" _delta="define">
|
|
|
|
+ <rank>0</rank>
|
|
|
|
+ <parent>ChangeManagement</parent>
|
|
|
|
+ <definition_file>overview.xml</definition_file>
|
|
|
|
+ </menu>
|
|
|
|
+ <menu id="NewChange" xsi:type="NewObjectMenuNode" _delta="define">
|
|
|
|
+ <rank>1</rank>
|
|
|
|
+ <parent>ChangeManagement</parent>
|
|
|
|
+ <class>Change</class>
|
|
|
|
+ </menu>
|
|
|
|
+ <menu id="SearchChanges" xsi:type="SearchMenuNode" _delta="define">
|
|
|
|
+ <rank>2</rank>
|
|
|
|
+ <parent>ChangeManagement</parent>
|
|
|
|
+ <class>Change</class>
|
|
|
|
+ </menu>
|
|
|
|
+ <menu id="Change:Shortcuts" xsi:type="TemplateMenuNode" _delta="define">
|
|
|
|
+ <rank>3</rank>
|
|
|
|
+ <parent>ChangeManagement</parent>
|
|
|
|
+ <template_file/>
|
|
|
|
+ </menu>
|
|
|
|
+ <menu id="MyChanges" xsi:type="OQLMenuNode" _delta="define">
|
|
|
|
+ <rank>1</rank>
|
|
|
|
+ <parent>Change:Shortcuts</parent>
|
|
|
|
+ <oql><![CDATA[SELECT Change WHERE agent_id = :current_contact_id AND status NOT IN ("closed")]]></oql>
|
|
|
|
+ <do_search/>
|
|
|
|
+ <auto_reload>fast</auto_reload>
|
|
|
|
+ </menu>
|
|
|
|
+ <menu id="Changes" xsi:type="OQLMenuNode" _delta="define">
|
|
|
|
+ <rank>2</rank>
|
|
|
|
+ <parent>Change:Shortcuts</parent>
|
|
|
|
+ <oql><![CDATA[SELECT Change WHERE status != "closed"]]></oql>
|
|
|
|
+ <do_search>1</do_search>
|
|
|
|
+ <auto_reload>fast</auto_reload>
|
|
|
|
+ </menu>
|
|
|
|
+ <menu id="WaitingApproval" xsi:type="OQLMenuNode" _delta="define">
|
|
|
|
+ <rank>3</rank>
|
|
|
|
+ <parent>Change:Shortcuts</parent>
|
|
|
|
+ <oql><![CDATA[SELECT Change WHERE status IN ("planned")]]></oql>
|
|
|
|
+ <do_search/>
|
|
|
|
+ <auto_reload>fast</auto_reload>
|
|
|
|
+ </menu>
|
|
|
|
+ </menus>
|
|
|
|
+</itop_design>
|