<?xml version="1.0" encoding="UTF-8"?>
<itop_design xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0">
<!--
 @copyright   Copyright (C) 2010-2019 Combodo SARL
 @license     https://www.combodo.com/documentation/combodo-software-license.html
 -->
    <constants></constants>
    <classes>
        <class id="Person" _delta="must_exist">
            <fields>
                <field id="vip" xsi:type="AttributeEnum" _delta="define">
                    <sql>vip</sql>
                    <values>
                        <value id="yes">yes</value>
                        <value id="no">no</value>
                    </values>
                    <default_value>no</default_value>
                    <is_null_allowed>true</is_null_allowed>
                    <display_style>radio_horizontal</display_style>
                    <dependencies/>
                </field>
            </fields>
            <presentation>
                <details>
                    <items>
                        <item id="col:col1">
                            <items>
                                <item id="fieldset:Person:info">
                                    <items>
                                        <item id="vip" _delta="define">
                                            <rank>45</rank>
                                        </item>
                                    </items>
                                </item>
                            </items>
                        </item>
                    </items>
                </details>
            </presentation>
        </class>
        <class id="Incident" _delta="if_exists">
            <fields>
                <field id="vip" xsi:type="AttributeExternalField" _delta="define">
                    <extkey_attcode>caller_id</extkey_attcode>
                    <target_attcode>vip</target_attcode>
                </field>
            </fields>
            <methods>
                <method id="ComputePriority" _delta="redefine">
                    <comment>/** Compute the priority of the ticket based on its impact and urgency
                        * @return integer The priority of the ticket 1(high) .. 3(low)
                        */
                    </comment>
                    <static>false</static>
                    <access>public</access>
                    <code><![CDATA[        public function ComputePriority()
        {
            // priority[impact][urgency]
            $aPriorities = array(
           // a department
           1 => array(
                       1 => 1,
                       2 => 1,
                       3 => 2,
                       4 => 4,
            ),
            // a group
            2 => array(
                        1 => 1,
                        2 => 2,
                        3 => 3,
                        4 => 4,
            ),
            // a person
            3 => array(
                        1 => 2,
                        2 => 3,
                        3 => 3,
                        4 => 4,
           ),
   );
           $iPriority = 1;
           if ($this->Get('vip') == 'yes')
           {
               $iPriority = 1;
            }
            elseif (isset($aPriorities[(int)$this->Get('impact')]) && isset($aPriorities[(int)$this->Get('impact')][(int)$this->Get('urgency')]))
            {
               $iPriority = $aPriorities[(int)$this->Get('impact')][(int)$this->Get('urgency')];
            }
            return $iPriority;              
       }]]></code>
                </method>
            </methods>
            <presentation>
                <details>
                    <items>
                        <item id="col:col1">
                            <items>
                                <item id="fieldset:Ticket:baseinfo">
                                    <items>
                                        <item id="vip" _delta="define">
                                            <rank>25</rank>
                                        </item>
                                    </items>
                                </item>
                            </items>
                        </item>
                    </items>
                </details>
            </presentation>
	</class>
        <class id="UserRequest" _delta="if_exists">
            <fields>
                <field id="vip" xsi:type="AttributeExternalField" _delta="define">
                    <extkey_attcode>caller_id</extkey_attcode>
                    <target_attcode>vip</target_attcode>
                </field>
            </fields>
            <methods>
                <method id="ComputePriority" _delta="redefine">
                    <comment>/** Compute the priority of the ticket based on its impact and urgency
                        * @return integer The priority of the ticket 1(high) .. 3(low)
                        */
                    </comment>
                    <static>false</static>
                    <access>public</access>
                    <code><![CDATA[        public function ComputePriority()
        {
            // priority[impact][urgency]
            $aPriorities = array(
           // a department
           1 => array(
                       1 => 1,
                       2 => 1,
                       3 => 2,
                       4 => 4,
            ),
            // a group
            2 => array(
                        1 => 1,
                        2 => 2,
                        3 => 3,
                        4 => 4,
            ),
            // a person
            3 => array(
                        1 => 2,
                        2 => 3,
                        3 => 3,
                        4 => 4,
           ),
   );
           $iPriority = 1;
           if ($this->Get('vip') == 'yes')
           {
               $iPriority = 1;
            }
            elseif (isset($aPriorities[(int)$this->Get('impact')]) && isset($aPriorities[(int)$this->Get('impact')][(int)$this->Get('urgency')]))
            {
               $iPriority = $aPriorities[(int)$this->Get('impact')][(int)$this->Get('urgency')];
            }
            return $iPriority;              
       }]]></code>
                </method>
            </methods>
            <presentation>
                <details>
                    <items>
                        <item id="col:col1">
                            <items>
                                <item id="fieldset:Ticket:baseinfo">
                                    <items>
                                        <item id="vip" _delta="define">
                                            <rank>25</rank>
                                        </item>
                                    </items>
                                </item>
                            </items>
                        </item>
                    </items>
                </details>
            </presentation>
        </class>
    </classes>
</itop_design>
