datamodel.itop-change-mgmt.xml 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <itop_design xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0">
  3. <classes>
  4. <class id="Change" _delta="define">
  5. <parent>Ticket</parent>
  6. <properties>
  7. <comment><![CDATA[/**
  8. * Persistent classes for a CMDB
  9. *
  10. * @copyright Copyright (C) 2010-2012 Combodo SARL
  11. * @license http://opensource.org/licenses/AGPL-3.0
  12. */]]></comment>
  13. <category>bizmodel,searchable,changemgmt</category>
  14. <abstract>false</abstract>
  15. <key_type>autoincrement</key_type>
  16. <db_table>ticket_change</db_table>
  17. <db_key_field>id</db_key_field>
  18. <db_final_class_field/>
  19. <naming>
  20. <format>%1$s</format>
  21. <attributes>
  22. <attribute id="ref"/>
  23. </attributes>
  24. </naming>
  25. <display_template/>
  26. <icon>images/change.png</icon>
  27. <reconciliation>
  28. <attributes>
  29. <attribute id="ref"/>
  30. </attributes>
  31. </reconciliation>
  32. <order>
  33. <columns>
  34. <column id="ref" ascending="false"/>
  35. </columns>
  36. </order>
  37. </properties>
  38. <fields>
  39. <field id="status" xsi:type="AttributeEnum">
  40. <values>
  41. <value>new</value>
  42. <value>assigned</value>
  43. <value>planned</value>
  44. <value>approved</value>
  45. <value>closed</value>
  46. <value>rejected</value>
  47. </values>
  48. <sql>status</sql>
  49. <default_value>new</default_value>
  50. <is_null_allowed>true</is_null_allowed>
  51. </field>
  52. <field id="category" xsi:type="AttributeEnum">
  53. <values>
  54. <value>hardware</value>
  55. <value>software</value>
  56. <value>system</value>
  57. <value>network</value>
  58. <value>application</value>
  59. <value>other</value>
  60. </values>
  61. <sql>category</sql>
  62. <default_value>hardware</default_value>
  63. <is_null_allowed>true</is_null_allowed>
  64. </field>
  65. <field id="reject_reason" xsi:type="AttributeText">
  66. <sql>reject_reason</sql>
  67. <default_value/>
  68. <is_null_allowed>true</is_null_allowed>
  69. </field>
  70. <field id="changemanager_id" xsi:type="AttributeExternalKey">
  71. <sql>changemanager_id</sql>
  72. <target_class>Person</target_class>
  73. <is_null_allowed>true</is_null_allowed>
  74. <on_target_delete>DEL_MANUAL</on_target_delete>
  75. </field>
  76. <field id="changemanager_email" xsi:type="AttributeExternalField">
  77. <extkey_attcode>changemanager_id</extkey_attcode>
  78. <target_attcode>email</target_attcode>
  79. </field>
  80. <field id="parent_id" xsi:type="AttributeExternalKey">
  81. <filter><![CDATA[SELECT Change WHERE id != :this->id]]></filter>
  82. <sql>parent_id</sql>
  83. <target_class>Change</target_class>
  84. <is_null_allowed>true</is_null_allowed>
  85. <on_target_delete>DEL_MANUAL</on_target_delete>
  86. <jointype/>
  87. </field>
  88. <field id="parent_name" xsi:type="AttributeExternalField">
  89. <extkey_attcode>parent_id</extkey_attcode>
  90. <target_attcode>ref</target_attcode>
  91. <is_null_allowed>true</is_null_allowed>
  92. </field>
  93. <field id="creation_date" xsi:type="AttributeDateTime">
  94. <sql>creation_date</sql>
  95. <default_value/>
  96. <is_null_allowed>true</is_null_allowed>
  97. </field>
  98. <field id="approval_date" xsi:type="AttributeDateTime">
  99. <sql>approval_date</sql>
  100. <default_value/>
  101. <is_null_allowed>true</is_null_allowed>
  102. </field>
  103. <field id="fallback_plan" xsi:type="AttributeText">
  104. <sql>fallback_plan</sql>
  105. <default_value/>
  106. <is_null_allowed>true</is_null_allowed>
  107. </field>
  108. <field id="related_request_list" xsi:type="AttributeLinkedSet">
  109. <linked_class>UserRequest</linked_class>
  110. <ext_key_to_me>parent_change_id</ext_key_to_me>
  111. <edit_mode>none</edit_mode>
  112. <count_min>0</count_min>
  113. <count_max>0</count_max>
  114. </field>
  115. <field id="related_incident_list" xsi:type="AttributeLinkedSet">
  116. <linked_class>Incident</linked_class>
  117. <ext_key_to_me>parent_change_id</ext_key_to_me>
  118. <edit_mode>none</edit_mode>
  119. <count_min>0</count_min>
  120. <count_max>0</count_max>
  121. </field>
  122. <field id="related_problems_list" xsi:type="AttributeLinkedSet">
  123. <linked_class>Problem</linked_class>
  124. <ext_key_to_me>related_change_id</ext_key_to_me>
  125. <edit_mode>none</edit_mode>
  126. <count_min>0</count_min>
  127. <count_max>0</count_max>
  128. </field>
  129. <field id="child_changes_list" xsi:type="AttributeLinkedSet">
  130. <linked_class>Change</linked_class>
  131. <ext_key_to_me>parent_id</ext_key_to_me>
  132. <edit_mode>none</edit_mode>
  133. <count_min>0</count_min>
  134. <count_max>0</count_max>
  135. </field>
  136. </fields>
  137. <lifecycle>
  138. <attribute>status</attribute>
  139. <stimuli>
  140. <stimulus id="ev_assign" xsi:type="StimulusUserAction"/>
  141. <stimulus id="ev_plan" xsi:type="StimulusUserAction"/>
  142. <stimulus id="ev_reject" xsi:type="StimulusUserAction"/>
  143. <stimulus id="ev_reopen" xsi:type="StimulusUserAction"/>
  144. <stimulus id="ev_approve" xsi:type="StimulusUserAction"/>
  145. <stimulus id="ev_finish" xsi:type="StimulusUserAction"/>
  146. </stimuli>
  147. <states>
  148. <state id="new">
  149. <flags>
  150. <attribute id="ref">
  151. <read_only/>
  152. </attribute>
  153. <attribute id="org_id">
  154. <mandatory/>
  155. </attribute>
  156. <attribute id="title">
  157. <mandatory/>
  158. </attribute>
  159. <attribute id="description">
  160. <mandatory/>
  161. </attribute>
  162. <attribute id="last_update">
  163. <read_only/>
  164. </attribute>
  165. <attribute id="close_date">
  166. <hidden/>
  167. </attribute>
  168. <attribute id="reject_reason">
  169. <hidden/>
  170. </attribute>
  171. <attribute id="creation_date">
  172. <read_only/>
  173. </attribute>
  174. <attribute id="approval_date">
  175. <hidden/>
  176. </attribute>
  177. <attribute id="caller_id">
  178. <mandatory/>
  179. </attribute>
  180. <attribute id="team_id">
  181. <hidden/>
  182. </attribute>
  183. <attribute id="agent_id">
  184. <hidden/>
  185. </attribute>
  186. <attribute id="changemanager_id">
  187. <hidden/>
  188. </attribute>
  189. </flags>
  190. <transitions>
  191. <transition>
  192. <stimulus>ev_assign</stimulus>
  193. <target>assigned</target>
  194. <actions/>
  195. </transition>
  196. </transitions>
  197. </state>
  198. <state id="assigned">
  199. <flags>
  200. <attribute id="ref">
  201. <read_only/>
  202. </attribute>
  203. <attribute id="org_id">
  204. <mandatory/>
  205. </attribute>
  206. <attribute id="team_id">
  207. <mandatory/>
  208. <must_prompt/>
  209. </attribute>
  210. <attribute id="agent_id">
  211. <mandatory/>
  212. <must_prompt/>
  213. </attribute>
  214. <attribute id="title">
  215. <mandatory/>
  216. </attribute>
  217. <attribute id="description">
  218. <mandatory/>
  219. </attribute>
  220. <attribute id="last_update">
  221. <read_only/>
  222. </attribute>
  223. <attribute id="close_date">
  224. <hidden/>
  225. </attribute>
  226. <attribute id="reject_reason">
  227. <hidden/>
  228. </attribute>
  229. <attribute id="changemanager_id">
  230. <mandatory/>
  231. <must_prompt/>
  232. </attribute>
  233. <attribute id="creation_date">
  234. <read_only/>
  235. </attribute>
  236. <attribute id="approval_date">
  237. <hidden/>
  238. </attribute>
  239. </flags>
  240. <transitions>
  241. <transition>
  242. <stimulus>ev_plan</stimulus>
  243. <target>planned</target>
  244. <actions/>
  245. </transition>
  246. </transitions>
  247. </state>
  248. <state id="planned">
  249. <flags>
  250. <attribute id="ref">
  251. <read_only/>
  252. </attribute>
  253. <attribute id="org_id">
  254. <mandatory/>
  255. </attribute>
  256. <attribute id="title">
  257. <mandatory/>
  258. </attribute>
  259. <attribute id="description">
  260. <mandatory/>
  261. </attribute>
  262. <attribute id="start_date">
  263. <mandatory/>
  264. <must_prompt/>
  265. </attribute>
  266. <attribute id="end_date">
  267. <mandatory/>
  268. <must_prompt/>
  269. </attribute>
  270. <attribute id="last_update">
  271. <read_only/>
  272. </attribute>
  273. <attribute id="close_date">
  274. <hidden/>
  275. </attribute>
  276. <attribute id="reject_reason">
  277. <hidden/>
  278. </attribute>
  279. <attribute id="creation_date">
  280. <read_only/>
  281. </attribute>
  282. <attribute id="approval_date">
  283. <hidden/>
  284. </attribute>
  285. <attribute id="fallback_plan">
  286. <mandatory/>
  287. <must_prompt/>
  288. </attribute>
  289. <attribute id="caller_id">
  290. <mandatory/>
  291. </attribute>
  292. <attribute id="team_id">
  293. <mandatory/>
  294. </attribute>
  295. <attribute id="agent_id">
  296. <mandatory/>
  297. </attribute>
  298. <attribute id="changemanager_id">
  299. <mandatory/>
  300. </attribute>
  301. </flags>
  302. <transitions>
  303. <transition>
  304. <stimulus>ev_reject</stimulus>
  305. <target>rejected</target>
  306. <actions/>
  307. </transition>
  308. <transition>
  309. <stimulus>ev_approve</stimulus>
  310. <target>approved</target>
  311. <actions>
  312. <action>
  313. <verb>SetApprovalDate</verb>
  314. </action>
  315. <action>
  316. <verb>ResetRejectReason</verb>
  317. </action>
  318. </actions>
  319. </transition>
  320. </transitions>
  321. </state>
  322. <state id="rejected">
  323. <flags>
  324. <attribute id="ref">
  325. <read_only/>
  326. </attribute>
  327. <attribute id="org_id">
  328. <read_only/>
  329. </attribute>
  330. <attribute id="title">
  331. <read_only/>
  332. </attribute>
  333. <attribute id="description">
  334. <read_only/>
  335. </attribute>
  336. <attribute id="last_update">
  337. <read_only/>
  338. </attribute>
  339. <attribute id="close_date">
  340. <hidden/>
  341. </attribute>
  342. <attribute id="start_date">
  343. <read_only/>
  344. </attribute>
  345. <attribute id="end_date">
  346. <read_only/>
  347. </attribute>
  348. <attribute id="private_log">
  349. <read_only/>
  350. </attribute>
  351. <attribute id="reject_reason">
  352. <mandatory/>
  353. <must_prompt/>
  354. </attribute>
  355. <attribute id="creation_date">
  356. <read_only/>
  357. </attribute>
  358. <attribute id="approval_date">
  359. <read_only/>
  360. </attribute>
  361. <attribute id="caller_id">
  362. <read_only/>
  363. </attribute>
  364. <attribute id="team_id">
  365. <read_only/>
  366. </attribute>
  367. <attribute id="agent_id">
  368. <read_only/>
  369. </attribute>
  370. <attribute id="changemanager_id">
  371. <read_only/>
  372. </attribute>
  373. <attribute id="private_log">
  374. <read_only/>
  375. </attribute>
  376. <attribute id="fallback_plan">
  377. <read_only/>
  378. </attribute>
  379. <attribute id="category">
  380. <read_only/>
  381. </attribute>
  382. <attribute id="parent_id">
  383. <read_only/>
  384. </attribute>
  385. </flags>
  386. <transitions>
  387. <transition>
  388. <stimulus>ev_reopen</stimulus>
  389. <target>assigned</target>
  390. <actions/>
  391. </transition>
  392. </transitions>
  393. </state>
  394. <state id="approved">
  395. <flags>
  396. <attribute id="ref">
  397. <read_only/>
  398. </attribute>
  399. <attribute id="org_id">
  400. <read_only/>
  401. </attribute>
  402. <attribute id="title">
  403. <read_only/>
  404. </attribute>
  405. <attribute id="description">
  406. <read_only/>
  407. </attribute>
  408. <attribute id="last_update">
  409. <read_only/>
  410. </attribute>
  411. <attribute id="close_date">
  412. <hidden/>
  413. </attribute>
  414. <attribute id="start_date">
  415. <read_only/>
  416. </attribute>
  417. <attribute id="end_date">
  418. <read_only/>
  419. </attribute>
  420. <attribute id="private_log">
  421. <normal/>
  422. </attribute>
  423. <attribute id="reject_reason">
  424. <read_only/>
  425. </attribute>
  426. <attribute id="creation_date">
  427. <hidden/>
  428. </attribute>
  429. <attribute id="approval_date">
  430. <read_only/>
  431. </attribute>
  432. <attribute id="caller_id">
  433. <read_only/>
  434. </attribute>
  435. <attribute id="team_id">
  436. <read_only/>
  437. </attribute>
  438. <attribute id="agent_id">
  439. <read_only/>
  440. </attribute>
  441. <attribute id="changemanager_id">
  442. <read_only/>
  443. </attribute>
  444. <attribute id="fallback_plan">
  445. <normal/>
  446. </attribute>
  447. <attribute id="category">
  448. <normal/>
  449. </attribute>
  450. <attribute id="parent_id">
  451. <normal/>
  452. </attribute>
  453. </flags>
  454. <transitions>
  455. <transition>
  456. <stimulus>ev_finish</stimulus>
  457. <target>closed</target>
  458. <actions>
  459. <action>
  460. <verb>SetClosureDate</verb>
  461. </action>
  462. </actions>
  463. </transition>
  464. </transitions>
  465. </state>
  466. <state id="closed">
  467. <flags>
  468. <attribute id="ref">
  469. <read_only/>
  470. </attribute>
  471. <attribute id="org_id">
  472. <read_only/>
  473. </attribute>
  474. <attribute id="title">
  475. <read_only/>
  476. </attribute>
  477. <attribute id="description">
  478. <read_only/>
  479. </attribute>
  480. <attribute id="last_update">
  481. <read_only/>
  482. </attribute>
  483. <attribute id="close_date">
  484. <read_only/>
  485. </attribute>
  486. <attribute id="start_date">
  487. <read_only/>
  488. </attribute>
  489. <attribute id="end_date">
  490. <read_only/>
  491. </attribute>
  492. <attribute id="reject_reason">
  493. <read_only/>
  494. </attribute>
  495. <attribute id="creation_date">
  496. <read_only/>
  497. </attribute>
  498. <attribute id="approval_date">
  499. <read_only/>
  500. </attribute>
  501. <attribute id="caller_id">
  502. <read_only/>
  503. </attribute>
  504. <attribute id="team_id">
  505. <read_only/>
  506. </attribute>
  507. <attribute id="agent_id">
  508. <read_only/>
  509. </attribute>
  510. <attribute id="changemanager_id">
  511. <read_only/>
  512. </attribute>
  513. <attribute id="private_log">
  514. <read_only/>
  515. </attribute>
  516. <attribute id="fallback_plan">
  517. <read_only/>
  518. </attribute>
  519. <attribute id="category">
  520. <read_only/>
  521. </attribute>
  522. <attribute id="parent_id">
  523. <read_only/>
  524. </attribute>
  525. </flags>
  526. <transitions/>
  527. </state>
  528. </states>
  529. </lifecycle>
  530. <methods>
  531. <method id="SetApprovalDate">
  532. <static>false</static>
  533. <access>public</access>
  534. <type>LifecycleAction</type>
  535. <code><![CDATA[ public function SetApprovalDate($sStimulusCode)
  536. {
  537. $this->Set('approval_date', time());
  538. return true;
  539. }]]></code>
  540. </method>
  541. <method id="ResetRejectReason">
  542. <static>false</static>
  543. <access>public</access>
  544. <type>LifecycleAction</type>
  545. <code><![CDATA[ public function ResetRejectReason($sStimulusCode)
  546. {
  547. $this->Set('reject_reason', '');
  548. return true;
  549. }]]></code>
  550. </method>
  551. <method id="SetClosureDate">
  552. <static>false</static>
  553. <access>public</access>
  554. <type>LifecycleAction</type>
  555. <code><![CDATA[ public function SetClosureDate($sStimulusCode)
  556. {
  557. $this->Set('close_date', time());
  558. return true;
  559. }]]></code>
  560. </method>
  561. <method id="OnInsert">
  562. <static>false</static>
  563. <access>protected</access>
  564. <type>Overload-DBObject</type>
  565. <code><![CDATA[ protected function OnInsert()
  566. {
  567. $oToNotify = $this->Get('contacts_list');
  568. $oToImpact = $this->Get('functionalcis_list');
  569. $oImpactedInfras = DBObjectSet::FromLinkSet($this, 'functionalcis_list', 'functionalci_id');
  570. $aComputed = $oImpactedInfras->GetRelatedObjects('impacts', 10);
  571. if (isset($aComputed['FunctionalCI']) && is_array($aComputed['FunctionalCI']))
  572. {
  573. foreach($aComputed['FunctionalCI'] as $iKey => $oObject)
  574. {
  575. $oNewLink = new lnkFunctionalCIToTicket();
  576. $oNewLink->Set('functionalci_id', $iKey);
  577. $oToImpact->AddObject($oNewLink);
  578. }
  579. }
  580. if (isset($aComputed['Contact']) && is_array($aComputed['Contact']))
  581. {
  582. foreach($aComputed['Contact'] as $iKey => $oObject)
  583. {
  584. $oNewLink = new lnkContactToTicket();
  585. $oNewLink->Set('contact_id', $iKey);
  586. $oNewLink->Set('role', 'contact automatically computed');
  587. $oToNotify->AddObject($oNewLink);
  588. }
  589. }
  590. $this->Set('creation_date', time());
  591. $this->Set('last_update', time());
  592. }]]></code>
  593. </method>
  594. <method id="OnUpdate">
  595. <static>false</static>
  596. <access>protected</access>
  597. <type>Overload-DBObject</type>
  598. <code><![CDATA[ protected function OnUpdate()
  599. {
  600. $this->Set('last_update', time());
  601. }]]></code>
  602. </method>
  603. <method id="ComputeValues">
  604. <static>false</static>
  605. <access>public</access>
  606. <type>Overload-DBObject</type>
  607. <code><![CDATA[ public function ComputeValues()
  608. {
  609. $sCurrRef = $this->Get('ref');
  610. if (strlen($sCurrRef) == 0)
  611. {
  612. $iKey = $this->GetKey();
  613. if ($iKey < 0)
  614. {
  615. // Object not yet in the Database
  616. $iKey = MetaModel::GetNextKey(get_class($this));
  617. }
  618. $sName = sprintf('C-%06d', $iKey);
  619. $this->Set('ref', $sName);
  620. }
  621. }]]></code>
  622. </method>
  623. <method id="GetIcon">
  624. <comment>/**&#13;
  625. * Get the icon representing this object&#13;
  626. * @param boolean $bImgTag If true the result is a full IMG tag (or an emtpy string if no icon is defined)&#13;
  627. * @return string Either the full IMG tag ($bImgTag == true) or just the path to the icon file&#13;
  628. */</comment>
  629. <static>false</static>
  630. <access>public</access>
  631. <type>Overload-DBObject</type>
  632. <code><![CDATA[ public function GetIcon($bImgTag = true)
  633. {
  634. $sStatus = $this->Get('status');
  635. switch($this->GetState())
  636. {
  637. case 'approved':
  638. case 'implemented':
  639. case 'monitored':
  640. $sIcon = self::MakeIconFromName('change-approved.png');
  641. break;
  642. case 'rejected':
  643. case 'notapproved':
  644. $sIcon = self::MakeIconFromName('change-rejected.png');
  645. break;
  646. case 'closed':
  647. $sIcon = self::MakeIconFromName('change-closed.png');
  648. break;
  649. default:
  650. $sIcon = MetaModel::GetClassIcon(get_class($this), $bImgTag);
  651. }
  652. return $sIcon;
  653. }]]></code>
  654. </method>
  655. <method id="MakeIconFromName">
  656. <static>true</static>
  657. <access>protected</access>
  658. <type>Overload-DBObject</type>
  659. <code><![CDATA[ protected static function MakeIconFromName($sIconName, $bImgTag = true)
  660. {
  661. $sIcon = '';
  662. if ($sIconName != '')
  663. {
  664. $sPath = '../env-'.utils::GetCurrentEnvironment().'/itop-change-mgmt/images/'.$sIconName;
  665. if ($bImgTag)
  666. {
  667. $sIcon = "<img src=\"$sPath\" style=\"vertical-align:middle;\"/>";
  668. }
  669. else
  670. {
  671. $sIcon = $sPath;
  672. }
  673. }
  674. return $sIcon;
  675. }]]></code>
  676. </method>
  677. </methods>
  678. <presentation>
  679. <details>
  680. <items>
  681. <item id="functionalcis_list">
  682. <rank>10</rank>
  683. </item>
  684. <item id="contacts_list">
  685. <rank>20</rank>
  686. </item>
  687. <item id="workorders_list">
  688. <rank>30</rank>
  689. </item>
  690. <item id="related_request_list">
  691. <rank>40</rank>
  692. </item>
  693. <item id="related_incident_list">
  694. <rank>50</rank>
  695. </item>
  696. <item id="related_problems_list">
  697. <rank>60</rank>
  698. </item>
  699. <item id="child_changes_list">
  700. <rank>70</rank>
  701. </item>
  702. <item id="col:col1">
  703. <rank>80</rank>
  704. <items>
  705. <item id="fieldset:Ticket:baseinfo">
  706. <rank>10</rank>
  707. <items>
  708. <item id="ref">
  709. <rank>10</rank>
  710. </item>
  711. <item id="org_id">
  712. <rank>20</rank>
  713. </item>
  714. <item id="status">
  715. <rank>30</rank>
  716. </item>
  717. <item id="title">
  718. <rank>40</rank>
  719. </item>
  720. <item id="description">
  721. <rank>50</rank>
  722. </item>
  723. </items>
  724. </item>
  725. <item id="fieldset:Ticket:contact">
  726. <rank>20</rank>
  727. <items>
  728. <item id="caller_id">
  729. <rank>10</rank>
  730. </item>
  731. <item id="team_id">
  732. <rank>20</rank>
  733. </item>
  734. <item id="agent_id">
  735. <rank>30</rank>
  736. </item>
  737. <item id="changemanager_id">
  738. <rank>40</rank>
  739. </item>
  740. </items>
  741. </item>
  742. </items>
  743. </item>
  744. <item id="col:col2">
  745. <rank>90</rank>
  746. <items>
  747. <item id="fieldset:Ticket:resolution">
  748. <rank>10</rank>
  749. <items>
  750. <item id="category">
  751. <rank>10</rank>
  752. </item>
  753. <item id="reject_reason">
  754. <rank>20</rank>
  755. </item>
  756. <item id="fallback_plan">
  757. <rank>30</rank>
  758. </item>
  759. </items>
  760. </item>
  761. <item id="fieldset:Relations">
  762. <rank>20</rank>
  763. <items>
  764. <item id="parent_id">
  765. <rank>10</rank>
  766. </item>
  767. </items>
  768. </item>
  769. </items>
  770. </item>
  771. <item id="col:col3">
  772. <rank>100</rank>
  773. <items>
  774. <item id="fieldset:Ticket:date">
  775. <rank>10</rank>
  776. <items>
  777. <item id="creation_date">
  778. <rank>10</rank>
  779. </item>
  780. <item id="start_date">
  781. <rank>20</rank>
  782. </item>
  783. <item id="end_date">
  784. <rank>30</rank>
  785. </item>
  786. <item id="last_update">
  787. <rank>40</rank>
  788. </item>
  789. <item id="approval_date">
  790. <rank>50</rank>
  791. </item>
  792. <item id="close_date">
  793. <rank>60</rank>
  794. </item>
  795. </items>
  796. </item>
  797. </items>
  798. </item>
  799. </items>
  800. </details>
  801. <search>
  802. <items>
  803. <item id="ref">
  804. <rank>10</rank>
  805. </item>
  806. <item id="title">
  807. <rank>20</rank>
  808. </item>
  809. <item id="org_id">
  810. <rank>30</rank>
  811. </item>
  812. <item id="status">
  813. <rank>40</rank>
  814. </item>
  815. <item id="start_date">
  816. <rank>50</rank>
  817. </item>
  818. <item id="end_date">
  819. <rank>60</rank>
  820. </item>
  821. <item id="creation_date">
  822. <rank>70</rank>
  823. </item>
  824. <item id="last_update">
  825. <rank>80</rank>
  826. </item>
  827. <item id="close_date">
  828. <rank>90</rank>
  829. </item>
  830. <item id="team_id">
  831. <rank>100</rank>
  832. </item>
  833. <item id="agent_id">
  834. <rank>110</rank>
  835. </item>
  836. <item id="changemanager_id">
  837. <rank>120</rank>
  838. </item>
  839. </items>
  840. </search>
  841. <list>
  842. <items>
  843. <item id="title">
  844. <rank>10</rank>
  845. </item>
  846. <item id="org_id">
  847. <rank>20</rank>
  848. </item>
  849. <item id="start_date">
  850. <rank>30</rank>
  851. </item>
  852. <item id="end_date">
  853. <rank>40</rank>
  854. </item>
  855. <item id="status">
  856. <rank>50</rank>
  857. </item>
  858. <item id="category">
  859. <rank>60</rank>
  860. </item>
  861. <item id="agent_id">
  862. <rank>70</rank>
  863. </item>
  864. </items>
  865. </list>
  866. </presentation>
  867. </class>
  868. </classes>
  869. <menus>
  870. <menu id="ChangeManagement" xsi:type="MenuGroup" _delta="define">
  871. <rank>50</rank>
  872. </menu>
  873. <menu id="Change:Overview" xsi:type="DashboardMenuNode" _delta="define">
  874. <rank>0</rank>
  875. <parent>ChangeManagement</parent>
  876. <definition_file>overview.xml</definition_file>
  877. </menu>
  878. <menu id="NewChange" xsi:type="NewObjectMenuNode" _delta="define">
  879. <rank>1</rank>
  880. <parent>ChangeManagement</parent>
  881. <class>Change</class>
  882. </menu>
  883. <menu id="SearchChanges" xsi:type="SearchMenuNode" _delta="define">
  884. <rank>2</rank>
  885. <parent>ChangeManagement</parent>
  886. <class>Change</class>
  887. </menu>
  888. <menu id="Change:Shortcuts" xsi:type="TemplateMenuNode" _delta="define">
  889. <rank>3</rank>
  890. <parent>ChangeManagement</parent>
  891. <template_file/>
  892. </menu>
  893. <menu id="MyChanges" xsi:type="OQLMenuNode" _delta="define">
  894. <rank>1</rank>
  895. <parent>Change:Shortcuts</parent>
  896. <oql><![CDATA[SELECT Change WHERE agent_id = :current_contact_id AND status NOT IN ("closed")]]></oql>
  897. <do_search/>
  898. <auto_reload>fast</auto_reload>
  899. </menu>
  900. <menu id="Changes" xsi:type="OQLMenuNode" _delta="define">
  901. <rank>2</rank>
  902. <parent>Change:Shortcuts</parent>
  903. <oql><![CDATA[SELECT Change WHERE status != "closed"]]></oql>
  904. <do_search>1</do_search>
  905. <auto_reload>fast</auto_reload>
  906. </menu>
  907. <menu id="WaitingApproval" xsi:type="OQLMenuNode" _delta="define">
  908. <rank>3</rank>
  909. <parent>Change:Shortcuts</parent>
  910. <oql><![CDATA[SELECT Change WHERE status IN ("planned")]]></oql>
  911. <do_search/>
  912. <auto_reload>fast</auto_reload>
  913. </menu>
  914. </menus>
  915. </itop_design>