<?xml version="1.0" encoding="UTF-8"?>
<itop_design xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.6">
  <classes>
    <class id="ApprovalScheme" _delta="merge">
      <methods>
        <method id="RecordComment">
          <code _delta="redefine">
            <![CDATA[
            protected function RecordComment($sComment, $sIssuerInfo)
          	{
          		$aAttCode = MetaModel::GetModuleSetting('syn-interdata-module', 'comment_attcode');
          		$sAttCode = $aAttCode[$this->Get('obj_class')];
          		if ($sAttCode != '')
          		{
          			if (MetaModel::IsValidAttCode($this->Get('obj_class'), $sAttCode))
          			{
          				if ($oObject = MetaModel::GetObject($this->Get('obj_class'), $this->Get('obj_key'), false, true))
          				{
          					$value = $oObject->Get($sAttCode);
          					$oAttDef = MetaModel::GetAttributeDef($this->Get('obj_class'), $sAttCode);
          					if ($oAttDef instanceof AttributeCaseLog)
          					{
          						$sHtml = utils::TextToHtml($sComment);
          						$value->AddLogEntry('<b>'.$sIssuerInfo.'</b><br>'.$sHtml );
          					}
          					else
          					{
          						// Cumulate into the given (hopefully) text attribute
          						$sDate = date(AttributeDateTime::GetFormat());
          						$value .= "\n$sDate - ".$sIssuerInfo." :";
          						$value .= "\n".$sComment;
          					}
          					$oObject->Set($sAttCode, $value);
          					$oObject->DBUpdate();
          				}
          			}
          		}
          	}
            ]]>
          </code>
        </method>
      </methods>
    </class>
    <class id="ExtendedApprovalScheme" _delta="merge">
      <methods>
        <method id="GetApprovalScheme">
          <code _delta="redefine">
            <![CDATA[
              public static function GetApprovalScheme($oObject, $sReachingState)
              {
                $aExitConditionCodes = array(
                  'first_reply' => ApprovalScheme::EXIT_ON_FIRST_REPLY,
                  'first_reject' => ApprovalScheme::EXIT_ON_FIRST_REJECT,
                  'first_approve' => ApprovalScheme::EXIT_ON_FIRST_APPROVE,
                );

                $sClass = get_class($oObject);

                if ($sClass != 'UserRequest' && $sClass != 'Incident' && $sClass != 'Project')
                {
                  return null;
                }

                if ( $sClass == 'Project' )
                {
                  // récupération des statuts cibles des règles d'approbation
                  $sOQL = "SELECT ApprovalRule WHERE target_class = 'project' AND target_status = '".$sReachingState."'";
                  $oApprovalRuleSet = new DBObjectSet(DBObjectSearch::FromOQL($sOQL));
                }
                else
                {
                  $sOQL = "SELECT ApprovalRule AS ar
                        JOIN ServiceSubcategory AS sc ON sc.approvalrule_id = ar.id
                        WHERE sc.id = :servicesubcategory
                          AND target_class = 'ticket' 
                          AND target_status = '$sReachingState'";
                  $oApprovalRuleSet = new DBObjectSet(
                    DBObjectSearch::FromOQL($sOQL),array(),
                    array('servicesubcategory' => $oObject->Get('servicesubcategory_id')));
                }

                if ($oApprovalRuleSet->count() == 0)
                {
                  // No approval rule applies to the current object
                  return null;
                }

                $bReusePreviousAnswers = MetaModel::GetConfig()->GetModuleSetting('combodo-approval-extended', 'reuse_previous_answers', true);
                $oApprovalRule = $oApprovalRuleSet->fetch();
                // var_dump($oApprovalRule);
                // exit;
                $oScheme = new ExtendedApprovalScheme();
                $bStepAdded = false;

                if ( $oScheme->AddStepFromQuery(
                  $oObject,
                  $oApprovalRule->Get('level1_rule'),
                  $oApprovalRule->Get('level1_timeout')*3600,
                  ($oApprovalRule->Get('level1_default_approval') == 'yes'),
                  $aExitConditionCodes[$oApprovalRule->Get('level1_exit_condition')],
                  $bReusePreviousAnswers) )
                {
                  $bStepAdded = true;
                }
                if ($oScheme->AddStepFromQuery(
                  $oObject,
                  $oApprovalRule->Get('level2_rule'),
                  $oApprovalRule->Get('level2_timeout')*3600,
                  ($oApprovalRule->Get('level2_default_approval') == 'yes'),
                  $aExitConditionCodes[$oApprovalRule->Get('level2_exit_condition')],
                  $bReusePreviousAnswers
                  ))
                {
                  $bStepAdded = true;
                }
                if ($bStepAdded)
                {
                  $sStimulus = $oApprovalRule->Get('target_stimulus');
                  $oObject->ApplyStimulus($sStimulus);
                  
                  return $oScheme;
                }
                else
                {
                  return null;
                }
              }
            ]]>
          </code>
        </method>
        <method id="DoApprove">
          <code _delta="redefine">
            <![CDATA[
              public function DoApprove(&$oObject)
              {
                $sStatus = $oObject->Get('status');
                switch ($sStatus) {
                  case 'waiting_for_approval':
                    $oObject->ApplyStimulus('ev_approve');
                    break;
                  case 'approval_from_run' :
                    $oObject->ApplyStimulus('ev_vsr');
                    break;
                }
	            }
            ]]>
          </code>
        </method>
        <method id="DoReject">
          <code _delta="redefine">
            <![CDATA[
              public function DoReject(&$oObject)
                {
                  $sStatus = $oObject->Get('status');
                  switch ($sStatus) {
                    case 'waiting_for_approval':
                      $oObject->ApplyStimulus('ev_reject');
                      break;
                    case 'approval_from_run' :
                      $oObject->ApplyStimulus('ev_reject_run');
                      break;
                  }
                }
            ]]>
          </code>
        </method>
        <method id="IsAllowedToAbort">
          <code _delta="redefine">
            <![CDATA[
            public function IsAllowedToAbort($oUser = null,$bIsProject = false)
            {
              if (is_null($oUser))
              {
                $oUser = UserRights::GetUserObject();
              }
              if (is_null($oUser))
              {
                return false;
              }

              //Combodo code : $sAllowedProfiles = MetaModel::GetConfig()->GetModuleSetting('combodo-approval-extended', 'bypass_profiles', 'Administrator, Service Manager');
              else
              if ($bIsProject)
              {
                $sAllowedProfiles = MetaModel::GetConfig()->GetModuleSetting('syn-interdata-module', 'bypass_profiles_project', 'Administrator, Project Manager');
              }else
              {
                $sAllowedProfiles = MetaModel::GetConfig()->GetModuleSetting('combodo-approval-extended', 'bypass_profiles', 'Administrator, Service Manager');
              }

              $aAllowed = array();
              foreach (explode(',', $sAllowedProfiles) as $sProfileRaw)
              {
                $aAllowed[] = trim($sProfileRaw);
              }

              $oProfileSet = $oUser->Get('profile_list');
              while ($oProfile = $oProfileSet->Fetch())
              {
                $sProfileName = $oProfile->Get('profile');
                if (in_array($sProfileName, $aAllowed))
                {
                  return true;
                }
              }
              return false;
            }
            ]]>
          </code>
        </method>
        <method id="GetWorkingTimeComputer" _delta="redefine">
          <static>false</static>
          <access>protected</access>
          <type>Overload-DBObject</type>
          <code>
            <![CDATA[
            protected function GetWorkingTimeComputer()
            {
              return 'ProjectApprovalComputeWorkingHours';
            }
            ]]>
          </code>
        </method>
      </methods>
    </class>
    <class id="ApprovalRule">
      <fields>
        <field id="target_class" xsi:type="AttributeEnum" _delta="define">
          <values>
            <value>ticket</value>
            <value>project</value>
          </values>
          <sql>target_class</sql>
          <default_value>ticket</default_value>
          <is_null_allowed>false</is_null_allowed>
        </field>
        <field id="target_status" xsi:type="AttributeString" _delta="define">
          <sql>target_status</sql>
          <default_value></default_value>
          <is_null_allowed>false</is_null_allowed>
          <always_load_in_tables>true</always_load_in_tables>
        </field>
        <field id="target_stimulus" xsi:type="AttributeString" _delta="define">
          <sql>target_stimulus</sql>
          <default_value></default_value>
          <is_null_allowed>false</is_null_allowed>
          <always_load_in_tables>true</always_load_in_tables>
        </field>
      </fields>
      <presentation>
        <details>
          <items>
            <item id="col:col1">
              <items>
                <item id="fieldset:ApprovalRule:baseinfo">
                  <items>
                    <item id="target_class" _delta="define">
                      <rank>40</rank>
                    </item>
                    <item id="target_status" _delta="define">
                      <rank>45</rank>
                    </item>
                    <item id="target_stimulus" _delta="define">
                      <rank>46</rank>
                    </item>
                    <item id="coveragewindow_id" _delta="redefine">
                      <rank>50</rank>
                    </item>
                  </items>
                </item>
              </items>
            </item>
          </items>
        </details>
      </presentation>
    </class>
    <class id="Organization" _delta="merge">
      <fields>
        <field id="customercontract_list" xsi:type="AttributeLinkedSet" _delta="define">
          <linked_class>CustomerContract</linked_class>
          <ext_key_to_me>org_id</ext_key_to_me>
          <edit_mode>add_only</edit_mode>
          <count_min>0</count_min>
          <count_max>0</count_max>
        </field>
      </fields>
      <presentation>
        <details>
          <items>
            <item id="customercontract_list" _delta="define">
              <rank>100</rank>
            </item>
          </items>
        </details>
      </presentation>
      <methods>
        <method id="GetURL" _delta="define">
          <comment></comment>
          <static>true</static>
          <access>public</access>
          <type>Custom</type>
          <code>
            <![CDATA[
            public static function GetURL($sAttCode)
            {
              $sURL = 'https://wiki.openitop.org';
              $oCurrentContact = UserRights::GetContactObject();
              $oOrg = RestUtils::FindObjectFromKey('Organization', $oCurrentContact->Get('org_id'));
              $sURL = $oOrg->Get($sAttCode);

              return $sURL;
            }
            ]]>
          </code>
        </method>
      </methods>
    </class>
    <class id="CustomerContract" _delta="merge">
      <methods>
        <method id="Get" _delta="define">
          <static>false</static>
          <access>public</access>
          <type>Overload-DBObject</type>
          <code><![CDATA[	public function Get($sAttCode)
            {
              // This function is invoked each time an attribute of the object is requested
              if (($sAttCode == 'renouvellement') && !(UserRights::HasProfile('Confidential portal user')))
              {
                // If you are not allowed to see this field, we don't return its true content
                return('****');
              }
              else return parent::Get($sAttCode);
            }]]>
          </code>
        </method>
        <method id="GetAttributeFlags" _delta="define">
          <static>false</static>
          <access>public</access>
          <type>Overload-DBObject</type>
          <code><![CDATA[	public function GetAttributeFlags($sAttCode, &$aReasons = array(), $sTargetState = '')
            {
              $iFlags = parent::GetAttributeFlags($sAttCode, $aReasons, $sTargetState);
              if (($sAttCode == 'renouvellement') && !(UserRights::HasProfile('Confidential portal user')))
              {
                // we combine using | our Flags with those existing
                $iFlags = (OPT_ATT_READONLY | OPT_ATT_HIDDEN | $iFlags);
              }
              return $iFlags;
            }]]>
          </code>
        </method>
        <method id="GetInitialStateAttributeFlags" _delta="define">
          <static>false</static>
          <access>public</access>
          <type>Overload-DBObject</type>
          <code><![CDATA[	public function GetInitialStateAttributeFlags($sAttCode, &$aReasons = array())
            {
              $iFlags = parent::GetInitialStateAttributeFlags($sAttCode, $aReasons);
              if (($sAttCode == 'renouvellement') && !(UserRights::HasProfile('Confidential portal user')))
              {
                  return(OPT_ATT_READONLY | OPT_ATT_HIDDEN | $iFlags);
              }
              return $iFlags;
            }]]>
          </code>
        </method>
      </methods>
    </class>
    <class id="Incident" _delta="merge">
      <fields>
        <field id="chatgpt" xsi:type="AttributeText" _delta="define">
          <sql>chatgpt</sql>
          <default_value/>
          <is_null_allowed>true</is_null_allowed>
        </field>
      </fields>
      <methods>
        <method id="SetPrivateLog" _delta="define">
          <comment>/*Method for callback webhook with chatgpt*/</comment>
          <static>false</static>
          <access>public</access>
          <type>Custom</type>
          <code>
            <![CDATA[
            public function SetPrivateLog($oResponse, $oAction)
            {
  							$sCode = MetaModel::GetModuleSetting('syn-interdata-module', 'chatgpt_code');
  							eval($sCode);
                $this->Set('private_log', $sAnswer);
                $this->DBUpdate();
            }
            ]]>
          </code>
        </method>
        <!-- <method id="AfterUpdate" _delta="define">
          <static>false</static>
          <access>protected</access>
          <type>Overload-DBObject</type>
          <code>
            <![CDATA[
            protected function AfterUpdate()
            {
              $this->Reset('chatgpt');
              parent::AfterUpdate();
            }
            ]]>
          </code>
        </method> -->
      </methods>
    </class>
    <class id="UserRequest" _delta="merge">
      <fields>
        <field id="chatgpt" xsi:type="AttributeText" _delta="define">
          <sql>chatgpt</sql>
          <default_value/>
          <is_null_allowed>true</is_null_allowed>
        </field>
      </fields>
      <methods>
        <method id="SetPrivateLog" _delta="define">
          <comment>/*Method for callback webhook with chatgpt*/</comment>
          <static>false</static>
          <access>public</access>
          <type>Custom</type>
          <code>
            <![CDATA[
            public function SetPrivateLog($oResponse, $oAction)
            {
  							$sCode = MetaModel::GetModuleSetting('syn-interdata-module', 'chatgpt_code');
  							eval($sCode);
                $this->Set('private_log', $sAnswer);
                $this->DBUpdate();
            }
            ]]>
          </code>
        </method>
        <!-- <method id="AfterUpdate" _delta="define">
          <static>false</static>
          <access>protected</access>
          <type>Overload-DBObject</type>
          <code>
            <![CDATA[
            protected function AfterUpdate()
            {
              $this->Reset('chatgpt');
              parent::AfterUpdate();
            }
            ]]>
          </code>
        </method> -->
      </methods>
    </class>
    <class id="Project" _delta="merge">
      <methods>
        <method id="GetPopMenuItemsForProject" _delta="define">
          <comment></comment>
          <static>true</static>
          <access>public</access>
          <type>lifecycle</type>
          <code>
            <![CDATA[
            static public function GetPopMenuItemsForProject($iMenuId, $param, $sClassFilter = 'Project')
            {
              $aRet = array();
              if ($iMenuId == iPopupMenuExtension::MENU_OBJDETAILS_ACTIONS)
              {
                $oObject = $param;


                // Filter out the object out of scope of the approval processes
                if ($oObject instanceOf $sClassFilter)
                {
                  // Is there an ongoing approval process for the object ?
                  $oApprovSearch = DBObjectSearch::FromOQL('SELECT ApprovalScheme WHERE status = \'ongoing\' AND obj_class = :obj_class AND obj_key = :obj_key');
                  $oApprovSearch->AllowAllData();
                  $oApprovals = new DBObjectSet($oApprovSearch, array(), array('obj_class' => get_class($oObject), 'obj_key' => $oObject->GetKey()));
                  if ($oApprovals->Count() > 0)
                  {
                    /** @var ApprovalScheme $oApproval */
                    $oApproval = $oApprovals->Fetch();

                    // Is the current user associated to a contact ?
                    $iContactId = UserRights::GetContactId();
                    if ($iContactId > 0)
                    {
                      // Does the approval concern the current user?
                      $sReplyUrl = $oApproval->MakeReplyUrl('Person', $iContactId);
                      if (!is_null($sReplyUrl))
                      {
                        // Here we are: add a menu to approve or reject the request
                        $aRet[] = new URLPopupMenuItem('approval_reply_url', Dict::S('Approval:Action-ApproveOrReject'), $sReplyUrl);
                      }
                    }
                    if ($oApproval->IsAllowedToAbort(null,true))
                    {
                      $sReplyUrl = $oApproval->MakeAbortUrl();
                      $aRet[] = new URLPopupMenuItem('approval_abort_url', Dict::S('Approval:Action-Abort'), $sReplyUrl);
                    }
                  }
                }
              }
              return $aRet;
            }
            ]]>
          </code>
        </method>
        <method id="Get" _delta="define">
          <static>false</static>
          <access>public</access>
          <type>Overload-DBObject</type>
          <code>
            <![CDATA[
            public function Get($sAttCode)
            {
              // This function is invoked each time an attribute of the object is requested
              if ((ContextTag::Check('GUI:Portal')) && ($sAttCode == 'montant_ht') && !(UserRights::HasProfile('Confidential portal user')))
              {
                // If you are not allowed to see this field, we don't return its true content
                return('****');
              }
              else return parent::Get($sAttCode);
            }
            ]]>
          </code>
        </method>
        <method id="GetAttributeFlags" _delta="define">
          <static>false</static>
          <access>public</access>
          <type>Overload-DBObject</type>
          <code>
            <![CDATA[
            public function GetAttributeFlags($sAttCode, &$aReasons = array(), $sTargetState = '')
            {
              $iFlags = parent::GetAttributeFlags($sAttCode, $aReasons, $sTargetState);
              if ((ContextTag::Check('GUI:Portal')) && ($sAttCode == 'montant_ht') && !(UserRights::HasProfile('Confidential portal user')))
              {
                // we combine using | our Flags with those existing
                $iFlags = (OPT_ATT_READONLY | OPT_ATT_HIDDEN | $iFlags);
              }
              return $iFlags;
            }
            ]]>
          </code>
        </method>
        <method id="GetInitialStateAttributeFlags" _delta="define">
          <static>false</static>
          <access>public</access>
          <type>Overload-DBObject</type>
          <code>
            <![CDATA[
            public function GetInitialStateAttributeFlags($sAttCode, &$aReasons = array())
            {
              $iFlags = parent::GetInitialStateAttributeFlags($sAttCode, $aReasons);
              if ((ContextTag::Check('GUI:Portal')) && ($sAttCode == 'montant_ht') && !(UserRights::HasProfile('Confidential portal user')))
              {
                  return(OPT_ATT_READONLY | OPT_ATT_HIDDEN | $iFlags);
              }
              return $iFlags;
            }
            ]]>
          </code>
        </method>
      </methods>
    </class>

    <class id="MailInboxStandard">
      <fields>
        <field id="target_class" xsi:type="AttributeEnum">
          <values>
            <value id="Project" _delta="define">Project</value>
            <value id="incident_constructeur" _delta="define">incident_constructeur</value>
          </values>
        </field>
      </fields>
    </class>

    <class id="WBStype" _delta="define">
      <parent>Typology</parent>
      <properties>
        <category>bizmodel,searchable</category>
        <abstract>false</abstract>
        <key_type>autoincrement</key_type>
        <db_table>wbstype</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field/>
        <naming>
          <attributes>
            <attribute id="name"/>
          </attributes>
        </naming>
        <icon/>
        <reconciliation>
          <attributes>
            <attribute id="name"/>
          </attributes>
        </reconciliation>
      </properties>
      <fields/>
      <methods/>
      <presentation>
        <details>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
          </items>
        </details>
        <search>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
          </items>
        </search>
        <list>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
          </items>
        </list>
      </presentation>
    </class>

    <!-- R-003131 -->
    <class id="OAuthClientAzure">
      <properties>
          <uniqueness_rules>
            <rule id="server" _delta="delete">
              <attributes>
                <attribute id="provider"/>
                <attribute id="client_id"/>
              </attributes>
              <is_blocking>true</is_blocking>
            </rule>
          </uniqueness_rules>
        </properties>
    </class>
    <!-- R-003131 -->
  </classes>

  <user_rights>
    <groups>
      <group id="Contact" _delta="define">
        <classes>
          <class id="Contact"/>
        </classes>
      </group>
    </groups>
    <profiles>
      <profile id="2" _delta="must_exist"><!-- <name>Portal user</name> -->
        <groups>
          <group id="Project">
            <actions>
              <action id="action:write" _delta="define">allow</action>
            </actions>
          </group>
        </groups>
      </profile>
      <profile id="1025" _delta="must_exist"><!-- <name>Project Manager</name> -->
				<groups>
					<group id="Project">
						<actions>
							<!-- <action id="stimulus:ev_reopen" _delta="define">allow</action> -->
							<action id="stimulus:ev_approve" _delta="define">allow</action>
							<action id="stimulus:ev_reject" _delta="define">allow</action>
						</actions>
					</group>
				</groups>
			</profile>
      <profile id="300" _delta="define">
        <name>Contact manager</name>
        <description>Any person who could can manage contacts</description>
        <groups>
          <group id="Contact">
            <actions>
              <action id="action:write">allow</action>
              <action id="action:bulk write">allow</action>
            </actions>
          </group>
          <group id="*">
            <actions>
              <action id="action:read">allow</action>
              <action id="action:bulk read">allow</action>
            </actions>
          </group>
        </groups>
      </profile>
      <profile id="310" _delta="define">
        <name>Confidential portal user</name>
        <description>Any person who could can see confidential information</description>
        <groups>
          <group id="*">
            <actions>
              <action id="action:read">allow</action>
              <action id="action:bulk read">allow</action>
            </actions>
          </group>
        </groups>
      </profile>
    </profiles>
  </user_rights>

  <module_designs>
    <module_design id="itop-portal" xsi:type="portal">
      <bricks>
        <brick id="CustomerContract" xsi:type="Combodo\iTop\Portal\Brick\ManageBrick" _delta="define">
          <visible>
            <home>false</home>
            <navigation_menu>false</navigation_menu>
          </visible>
          <active>true</active>
          <rank>
            <default>60</default>
          </rank>
          <width>6</width>
          <title>
            <navigation_menu>Brick:Portal:CustomerContract:Menu</navigation_menu>
            <home>Brick:Portal:CustomerContract:Title</home>
          </title>
          <description>Brick:Portal:CustomerContract:Title+</description>
          <decoration_class>
            <default>fas fa-file-signature fa-2x</default>
          </decoration_class>
          <oql><![CDATA[SELECT CustomerContract]]></oql>
          <opening_target>new</opening_target>
          <fields>
            <field id="status"/>
            <field id="engagement"/>
            <field id="horaires"/>
          </fields>
          <grouping>
            <tabs>
              <show_tab_counts>true</show_tab_counts>
              <groups>
                <group id="production">
                  <rank>1</rank>
                  <title>Brick:Portal:CustomerContract:Tab:OnGoing</title>
                  <condition><![CDATA[SELECT CustomerContract AS c WHERE status = 'production']]></condition>
                </group>
                <group id="implementation">
                  <rank>1</rank>
                  <title>Brick:Portal:CustomerContract:Tab:Implementation</title>
                  <condition><![CDATA[SELECT CustomerContract AS c WHERE status = 'implementation' OR ISNULL(status)]]></condition>
                </group>
                <group id="obsolete">
                  <rank>2</rank>
                  <title>Brick:Portal:CustomerContract:Tab:Obsolete</title>
                  <condition><![CDATA[SELECT CustomerContract AS c WHERE status = 'obsolete']]></condition>
                </group>
              </groups>
            </tabs>
          </grouping>
          <data_loading>full</data_loading>
        </brick>

        <brick id="supervision" xsi:type="Combodo\iTop\Portal\Brick\SYNUrlBrick" _delta="define">
          <visible>
            <home>false</home>
            <navigation_menu>false</navigation_menu>
          </visible>
          <rank>
            <default>3</default>
          </rank>
          <width>6</width>
          <title>
            <default>Brick:Portal:Supervision:Title</default>
          </title>
          <subtitle>Brick:Portal:Supervision:SubTitle</subtitle>
          <description>Brick:Portal:Supervision:Title+</description>
          <decoration_class>
            <default>fas fa-chart-line fa-2x</default>
          </decoration_class>
          <url_method>
            <method>Organization::GetURL</method>
            <attribute>ipm</attribute>
          </url_method>
          <fullscreen>true</fullscreen>
          <iframe>true</iframe>
          <opening_target>new</opening_target>
        </brick>
        <brick id="supervision2" xsi:type="Combodo\iTop\Portal\Brick\SYNUrlBrick" _delta="define">
          <visible>
            <home>false</home>
            <navigation_menu>false</navigation_menu>
          </visible>
          <rank>
            <default>15</default>
          </rank>
          <width>6</width>
          <title>
            <default>Brick:Portal:Supervision2:Title</default>
          </title>
          <subtitle>Brick:Portal:Supervision2:SubTitle</subtitle>
          <description>Brick:Portal:Supervision2:Title+</description>
          <decoration_class>
            <default>fas fa-chart-line fa-2x</default>
          </decoration_class>
          <url_method>
            <method>Organization::GetURL</method>
            <attribute>supervision</attribute>
          </url_method>
          <fullscreen>true</fullscreen>
          <iframe>false</iframe>
          <opening_target>new</opening_target>
        </brick>
        <brick id="legacy" xsi:type="Combodo\iTop\Portal\Brick\SYNUrlBrick" _delta="define">
          <visible>
            <home>false</home>
            <navigation_menu>false</navigation_menu>
          </visible>
          <rank>
            <default>50</default>
          </rank>
          <width>6</width>
          <title>
            <default>Brick:Portal:legacy:Title</default>
          </title>
          <subtitle>Brick:Portal:legacy:SubTitle</subtitle>
          <description>Brick:Portal:legacy:Title+</description>
          <decoration_class>
            <default>fa fa-history fa-2x</default>
          </decoration_class>
          <url_method>
            <method>Organization::GetURL</method>
            <attribute>support_legacy</attribute>
          </url_method>
          <fullscreen>true</fullscreen>
          <iframe>false</iframe>
        </brick>
        <brick id="subscription" xsi:type="Combodo\iTop\Portal\Brick\SYNUrlBrick" _delta="define">
          <visible>
            <home>false</home>
            <navigation_menu>false</navigation_menu>
          </visible>
          <rank>
            <default>51</default>
          </rank>
          <width>6</width>
          <title>
            <default>Brick:Portal:subscription:Title</default>
          </title>
          <subtitle>Brick:Portal:subscription:SubTitle</subtitle>
          <description>Brick:Portal:subscription:Title+</description>
          <decoration_class>
            <default>fa fa-newspaper fa-2x</default>
          </decoration_class>
          <url_method>
            <method>Organization::GetURL</method>
            <attribute>abonnement_liste</attribute>
          </url_method>
          <fullscreen>true</fullscreen>
          <iframe>true</iframe>
        </brick>
        <brick id="archive" xsi:type="Combodo\iTop\Portal\Brick\SYNUrlBrick" _delta="define">
          <visible>
            <home>false</home>
            <navigation_menu>false</navigation_menu>
          </visible>
          <rank>
            <default>52</default>
          </rank>
          <width>6</width>
          <title>
            <default>Brick:Portal:archive:Title</default>
          </title>
          <subtitle>Brick:Portal:archive:SubTitle</subtitle>
          <description>Brick:Portal:archive:Title+</description>
          <decoration_class>
            <default>fa fa-archive fa-2x</default>
          </decoration_class>
          <url_method>
            <method>Organization::GetURL</method>
            <attribute>archives_bulletins</attribute>
          </url_method>
          <fullscreen>true</fullscreen>
          <iframe>true</iframe>
        </brick>
        <brick id="order" xsi:type="Combodo\iTop\Portal\Brick\SYNUrlBrick" _delta="define">
          <visible>
            <home>false</home>
            <navigation_menu>false</navigation_menu>
          </visible>
          <rank>
            <default>91</default>
          </rank>
          <width>6</width>
          <title>
              <default>Brick:Portal:order:Title</default>
          </title>
          <subtitle>Brick:Portal:order:SubTitle</subtitle>
          <description>Brick:Portal:order:Title+</description>
          <decoration_class>
              <default>fa fa-shopping-cart fa-2x</default>
          </decoration_class>
          <url_method>
            <method>Organization::GetURL</method>
            <attribute>suivi_commandes</attribute>
          </url_method>
          <fullscreen>true</fullscreen>
          <iframe>true</iframe>
        </brick>
        <brick id="deletion" xsi:type="Combodo\iTop\Portal\Brick\SYNUrlBrick" _delta="define">
          <visible>
            <home>false</home>
            <navigation_menu>false</navigation_menu>
          </visible>
          <rank>
            <default>95</default>
          </rank>
          <width>6</width>
          <title>
              <default>Brick:Portal:deletion:Title</default>
          </title>
          <subtitle>Brick:Portal:deletion:SubTitle</subtitle>
          <description>Brick:Portal:deletion:Title+</description>
          <decoration_class>
              <default>fa fa-trash fa-2x</default>
          </decoration_class>
          <url_method>
            <method>Organization::GetURL</method>
            <attribute>supression_compte</attribute>
          </url_method>
          <fullscreen>true</fullscreen>
          <iframe>true</iframe>
        </brick>
        <brick id="suivi_contrat" xsi:type="Combodo\iTop\Portal\Brick\SYNUrlBrick" _delta="define">
          <visible>
            <home>false</home>
            <navigation_menu>false</navigation_menu>
          </visible>
          <rank>
            <default>16</default>
          </rank>
          <width>6</width>
          <title>
            <default>Brick:Portal:SuiviContrat:Title</default>
          </title>
          <subtitle>Brick:Portal:SuiviContrat:SubTitle</subtitle>
          <description>Brick:Portal:SuiviContrat:Title+</description>
          <decoration_class>
            <default>fas fa-pen fa-2x</default>
          </decoration_class>
          <url_method>
            <method>Organization::GetURL</method>
            <attribute>satcli</attribute>
          </url_method>
          <fullscreen>true</fullscreen>
          <iframe>true</iframe>
          <opening_target>new</opening_target>
        </brick>
        <brick id="secu" xsi:type="Combodo\iTop\Portal\Brick\SYNUrlBrick" _delta="define">
          <visible>
            <home>false</home>
            <navigation_menu>false</navigation_menu>
          </visible>
          <rank>
            <default>6</default>
          </rank>
          <width>6</width>
          <title>
            <default>Brick:Portal:Secu:Title</default>
          </title>
          <subtitle>Brick:Portal:Secu:SubTitle</subtitle>
          <description>Brick:Portal:Secu:Title+</description>
          <decoration_class>
            <default>fas fa-shield-alt fa-2x</default>
          </decoration_class>
          <url_method>
            <method>Organization::GetURL</method>
            <attribute>secu</attribute>
          </url_method>
          <fullscreen>true</fullscreen>
          <iframe>true</iframe>
          <opening_target>new</opening_target>
        </brick>
        <brick id="appli" xsi:type="Combodo\iTop\Portal\Brick\SYNUrlBrick" _delta="define">
          <visible>
            <home>false</home>
            <navigation_menu>false</navigation_menu>
          </visible>
          <rank>
            <default>7</default>
          </rank>
          <width>6</width>
          <title>
            <default>Brick:Portal:Appli:Title</default>
          </title>
          <subtitle>Brick:Portal:Appli:SubTitle</subtitle>
          <description>Brick:Portal:Appli:Title+</description>
          <decoration_class>
            <default>far fa-file fa-2x</default>
          </decoration_class>
          <url_method>
            <method>Organization::GetURL</method>
            <attribute>appli</attribute>
          </url_method>
          <fullscreen>true</fullscreen>
          <iframe>true</iframe>
          <opening_target>new</opening_target>
        </brick>
        <brick id="synth_reseau" xsi:type="Combodo\iTop\Portal\Brick\SYNUrlBrick" _delta="define">
          <visible>
            <home>false</home>
            <navigation_menu>false</navigation_menu>
          </visible>
          <rank>
            <default>7</default>
          </rank>
          <width>6</width>
          <title>
            <default>Brick:Portal:SynthReseau:Title</default>
          </title>
          <subtitle>Brick:Portal:SynthReseau:SubTitle</subtitle>
          <description>Brick:Portal:SynthReseau:Title+</description>
          <decoration_class>
            <default>fas fa-network-wired</default>
          </decoration_class>
          <url_method>
            <method>Organization::GetURL</method>
            <attribute>network</attribute>
          </url_method>
          <fullscreen>true</fullscreen>
          <iframe>true</iframe>
          <opening_target>modal</opening_target>
        </brick>
        <brick id="perf_reseau" xsi:type="Combodo\iTop\Portal\Brick\SYNUrlBrick" _delta="define">
          <visible>
            <home>false</home>
            <navigation_menu>false</navigation_menu>
          </visible>
          <rank>
            <default>2</default>
          </rank>
          <width>6</width>
          <title>
            <default>Brick:Portal:PerfReseau:Title</default>
          </title>
          <subtitle>Brick:Portal:PerfReseau:SubTitle</subtitle>
          <description>Brick:Portal:PerfReseau:Title+</description>
          <decoration_class>
            <default>fas fa-tachometer-alt</default>
          </decoration_class>
          <url_method>
            <method>Organization::GetURL</method>
            <attribute>npm</attribute>
          </url_method>
          <fullscreen>true</fullscreen>
          <iframe>true</iframe>
          <opening_target>modal</opening_target>
        </brick>
        <brick id="vpn" xsi:type="Combodo\iTop\Portal\Brick\SYNUrlBrick" _delta="define">
          <visible>
            <home>false</home>
            <navigation_menu>false</navigation_menu>
          </visible>
          <rank>
            <default>3</default>
          </rank>
          <width>6</width>
          <title>
            <default>Brick:Portal:VPN:Title</default>
          </title>
          <subtitle>Brick:Portal:VPN:SubTitle</subtitle>
          <description>Brick:Portal:VPN:Title+</description>
          <decoration_class>
            <default>fas fa-lock</default>
          </decoration_class>
          <url_method>
            <method>Organization::GetURL</method>
            <attribute>vpn</attribute>
          </url_method>
          <fullscreen>true</fullscreen>
          <iframe>true</iframe>
          <opening_target>modal</opening_target>
        </brick>
        <brick id="wifi" xsi:type="Combodo\iTop\Portal\Brick\SYNUrlBrick" _delta="define">
          <visible>
            <home>false</home>
            <navigation_menu>false</navigation_menu>
          </visible>
          <rank>
            <default>4</default>
          </rank>
          <width>6</width>
          <title>
            <default>Brick:Portal:Wifi:Title</default>
          </title>
          <subtitle>Brick:Portal:Wifi:SubTitle</subtitle>
          <description>Brick:Portal:Wifi:Title+</description>
          <decoration_class>
            <default>fas fa-wifi</default>
          </decoration_class>
          <url_method>
            <method>Organization::GetURL</method>
            <attribute>wifi</attribute>
          </url_method>
          <fullscreen>true</fullscreen>
          <iframe>true</iframe>
          <opening_target>modal</opening_target>
        </brick>
        <brick id="optique" xsi:type="Combodo\iTop\Portal\Brick\SYNUrlBrick" _delta="define">
          <visible>
            <home>false</home>
            <navigation_menu>false</navigation_menu>
          </visible>
          <rank>
            <default>5</default>
          </rank>
          <width>6</width>
          <title>
            <default>Brick:Portal:Optique:Title</default>
          </title>
          <subtitle>Brick:Portal:Optique:SubTitle</subtitle>
          <description>Brick:Portal:Optique:Title+</description>
          <decoration_class>
            <default>fas fa-search</default>
          </decoration_class>
          <url_method>
            <method>Organization::GetURL</method>
            <attribute>optique</attribute>
          </url_method>
          <fullscreen>true</fullscreen>
          <iframe>true</iframe>
          <opening_target>modal</opening_target>
        </brick>
        <brick id="gest_conf" xsi:type="Combodo\iTop\Portal\Brick\SYNUrlBrick" _delta="define">
          <visible>
            <home>false</home>
            <navigation_menu>false</navigation_menu>
          </visible>
          <rank>
            <default>6</default>
          </rank>
          <width>6</width>
          <title>
            <default>Brick:Portal:GestConf:Title</default>
          </title>
          <subtitle>Brick:Portal:GestConf:SubTitle</subtitle>
          <description>Brick:Portal:GestConf:Title+</description>
          <decoration_class>
            <default>fas fa-cog</default>
          </decoration_class>
          <url_method>
            <method>Organization::GetURL</method>
            <attribute>backupconf</attribute>
          </url_method>
          <fullscreen>true</fullscreen>
          <iframe>true</iframe>
          <opening_target>new</opening_target>
        </brick>
        <brick id="infra" xsi:type="Combodo\iTop\Portal\Brick\SYNUrlBrick" _delta="define">
          <visible>
            <home>false</home>
            <navigation_menu>false</navigation_menu>
          </visible>
          <rank>
            <default>9</default>
          </rank>
          <width>6</width>
          <title>
            <default>Brick:Portal:Infra:Title</default>
          </title>
          <subtitle>Brick:Portal:Infra:SubTitle</subtitle>
          <description>Brick:Portal:Infra:Title+</description>
          <decoration_class>
            <default>fas fa-server fa-2x</default>
          </decoration_class>
          <url_method>
            <method>Organization::GetURL</method>
            <attribute>infra</attribute>
          </url_method>
          <fullscreen>true</fullscreen>
          <iframe>true</iframe>
          <opening_target>new</opening_target>
        </brick>
        <brick id="postes" xsi:type="Combodo\iTop\Portal\Brick\SYNUrlBrick" _delta="define">
          <visible>
            <home>false</home>
            <navigation_menu>false</navigation_menu>
          </visible>
          <rank>
            <default>10</default>
          </rank>
          <width>6</width>
          <title>
            <default>Brick:Portal:Postes:Title</default>
          </title>
          <subtitle>Brick:Portal:Postes:SubTitle</subtitle>
          <description>Brick:Portal:Postes:Title+</description>
          <decoration_class>
            <default>fas fa-desktop fa-2x</default>
          </decoration_class>
          <url_method>
            <method>Organization::GetURL</method>
            <attribute>euem</attribute>
          </url_method>
          <fullscreen>true</fullscreen>
          <iframe>true</iframe>
          <opening_target>new</opening_target>
        </brick>
        <brick id="suivi_uo" xsi:type="Combodo\iTop\Portal\Brick\SYNUrlBrick" _delta="define">
          <visible>
            <home>false</home>
            <navigation_menu>false</navigation_menu>
          </visible>
          <rank>
            <default>2</default>
          </rank>
          <width>6</width>
          <title>
            <default>Brick:Portal:Suivi_uo:Title</default>
          </title>
          <subtitle>Brick:Portal:Suivi_uo:SubTitle</subtitle>
          <description>Brick:Portal:Suivi_uo:Title+</description>
          <decoration_class>
            <default>fas fa-wallet fa-2x</default>
          </decoration_class>
          <url_method>
            <method>Organization::GetURL</method>
            <attribute>suivi_uo</attribute>
          </url_method>
          <fullscreen>true</fullscreen>
          <iframe>true</iframe>
          <opening_target>new</opening_target>
        </brick>

        <brick id="reseau" xsi:type="Combodo\iTop\Portal\Brick\AggregatePageBrick" _delta="define">
          <rank>
            <default>8</default>
          </rank>
          <visible>
            <home>false</home>
            <navigation_menu>false</navigation_menu>
            <navigation_menu>true</navigation_menu>
          </visible>
          <title>
            <default>Brick:Portal:Reseau:Title</default>
          </title>
          <decoration_class>
            <default>fas fa-network-wired fa-2x</default>
          </decoration_class>
          <aggregate_page_bricks>
            <aggregate_page_brick id="synth_reseau">
              <rank>1</rank>
            </aggregate_page_brick>
            <aggregate_page_brick id="perf_reseau">
              <rank>2</rank>
            </aggregate_page_brick>
            <aggregate_page_brick id="vpn">
              <rank>3</rank>
            </aggregate_page_brick>
            <aggregate_page_brick id="wifi">
              <rank>4</rank>
            </aggregate_page_brick>
            <aggregate_page_brick id="optique">
              <rank>5</rank>
            </aggregate_page_brick>
            <aggregate_page_brick id="gest_conf">
              <rank>6</rank>
            </aggregate_page_brick>
          </aggregate_page_bricks>
        </brick>
        <brick id="observabilite" xsi:type="Combodo\iTop\Portal\Brick\AggregatePageBrick" _delta="define">
          <rank>
            <default>2</default>
          </rank>
          <visible>
            <home>false</home>
            <navigation_menu>true</navigation_menu>
          </visible>
          <title>
            <default>Brick:Portal:Observabilite:Title</default>
          </title>
          <decoration_class>
            <default>fas fa-eye fa-2x</default>
          </decoration_class>
          <aggregate_page_bricks>
            <aggregate_page_brick id="supervision">
              <rank>1</rank>
            </aggregate_page_brick>
            <aggregate_page_brick id="vpn">
              <rank>2</rank>
            </aggregate_page_brick>
            <aggregate_page_brick id="optique">
              <rank>3</rank>
            </aggregate_page_brick>
            <aggregate_page_brick id="gest_conf">
              <rank>4</rank>
            </aggregate_page_brick>
            <aggregate_page_brick id="supervision2">
              <rank>5</rank>
            </aggregate_page_brick>
          </aggregate_page_bricks>
        </brick>
        <brick id="support-demandes" xsi:type="Combodo\iTop\Portal\Brick\AggregatePageBrick" _delta="define">
          <rank>
            <default>3</default>
          </rank>
          <visible>
            <home>false</home>
            <navigation_menu>true</navigation_menu>
          </visible>
          <title>
            <default>Brick:Portal:Support:Title</default>
          </title>
          <decoration_class>
            <default>fas fa-hand-holding fa-2x</default>
          </decoration_class>
          <aggregate_page_bricks>
            <aggregate_page_brick id="services">
              <rank>1</rank>
            </aggregate_page_brick>
            <aggregate_page_brick id="suivi_uo">
              <rank>2</rank>
            </aggregate_page_brick>
            <aggregate_page_brick id="ongoing-tickets-for-portal-user">
              <rank>3</rank>
            </aggregate_page_brick>
            <aggregate_page_brick id="closed-tickets-for-portal-user">
              <rank>4</rank>
            </aggregate_page_brick>
            <aggregate_page_brick id="subscription">
              <rank>5</rank>
            </aggregate_page_brick>
            <aggregate_page_brick id="legacy">
              <rank>6</rank>
            </aggregate_page_brick>
            <aggregate_page_brick id="archive">
              <rank>7</rank>
            </aggregate_page_brick>
            <aggregate_page_brick id="deletion">
              <rank>8</rank>
            </aggregate_page_brick>
          </aggregate_page_bricks>
        </brick>
        <brick id="contrats-parc" xsi:type="Combodo\iTop\Portal\Brick\AggregatePageBrick" _delta="define">
          <rank>
            <default>4</default>
          </rank>
          <visible>
            <home>false</home>
            <navigation_menu>true</navigation_menu>
          </visible>
          <title>
            <default>Brick:Portal:Contrats:Title</default>
          </title>
          <decoration_class>
            <default>fas fa-file-contract fa-2x</default>
          </decoration_class>
          <aggregate_page_bricks>
            <aggregate_page_brick id="CustomerContract">
              <rank>1</rank>
            </aggregate_page_brick>
            <aggregate_page_brick id="Interdata_Assets">
              <rank>2</rank>
            </aggregate_page_brick>
            <aggregate_page_brick id="order">
              <rank>3</rank>
            </aggregate_page_brick>
          </aggregate_page_bricks>
        </brick>

        <!-- R-002418 -->
        <brick id="new-accueil" xsi:type="Combodo\iTop\Portal\Brick\SYNiframeBrick" _delta="define">
          <visible>
            <home>true</home>
            <navigation_menu>false</navigation_menu>
          </visible>
          <rank>
            <default>100</default>
          </rank>
          <width>12</width>
          <title>
            <default></default>
          </title>
          <subtitle></subtitle>
          <description></description>
          <templates>
          </templates>
          <url_method>
            <method>Organization::GetURL</method>
            <attribute>accueil</attribute>
          </url_method>
        </brick>



      </bricks>
      <forms>
        <form id="project_read" _delta="define">
          <class>Project</class>
          <fields>
            <field id="title"/>
            <field id="org_id"/>
            <field id="caller_id"/>
            <field id="codeprojet"/>
            <field id="start_date"/>
            <field id="revised_end_date"/>
            <field id="montant_ht"/>
            <field id="avancement_projet"/>
          </fields>
          <twig>
            <div class="row">
              <div class="col-sm-6">
                <fieldset>
                  <legend>{{'Project:GeneralInfo'|dict_s}}</legend>
                  <div class="col-sm-6">
                    <div class="form_field" data-field-id="title" data-field-flags="read_only"></div>
                    <div class="form_field" data-field-id="org_id" data-field-flags="read_only"></div>
                    <div class="form_field" data-field-id="caller_id" data-field-flags="read_only"></div>
                    <div class="form_field" data-field-id="codeprojet" data-field-flags="read_only"></div>
                  </div>
                </fieldset>
              </div>
              <div class="col-sm-6">
                <fieldset>
                  <legend>{{'Project:MoreInfo'|dict_s}} &amp; {{'Ticket:date'|dict_s}}</legend>
                  <div class="col-sm-6">
                    <div class="form_field" data-field-id="avancement_projet" data-field-flags="read_only"></div>
                    <div class="form_field" data-field-id="montant_ht" data-field-flags="read_only"></div>
                    <div class="form_field" data-field-id="start_date" data-field-flags="read_only"></div>
                    <div class="form_field" data-field-id="revised_end_date" data-field-flags="read_only"></div>
                    <div class="form_field" data-field-id="description" data-field-flags="read_only"></div>
                  </div>
                </fieldset>
              </div>
            </div>
          </twig>
          <modes>
            <mode id="view"/>
          </modes>
        </form>
        <form id="contract_read" _delta="define">
          <class>CustomerContract</class>
          <fields>
            <field id="status"/>
            <field id="engagement"/>
            <field id="horaires"/>
          </fields>
          <twig>
            <div class="row">
              <div class="col-sm-6">
                <fieldset>
                  <legend>{{'Project:GeneralInfo'|dict_s}}</legend>
                  <div class="col-sm-6">
                    <div class="form_field" data-field-id="name" data-field-flags="read_only"></div>
                    <div class="form_field" data-field-id="org_id" data-field-flags="read_only"></div>
                    <div class="form_field" data-field-id="status" data-field-flags="read_only"></div>
                  </div>
                </fieldset>
              </div>
              <div class="col-sm-4">
                <fieldset>
                  <legend>{{'Project:Dates'|dict_s}} &amp; {{'Ticket:date'|dict_s}}</legend>
                  <div class="col-sm-6">
                    <div class="form_field" data-field-id="engagement" data-field-flags="read_only"></div>
                    <div class="form_field" data-field-id="horaires" data-field-flags="read_only"></div>
                    <div class="form_field" data-field-id="start_date" data-field-flags="read_only"></div>
                    <div class="form_field" data-field-id="end_date" data-field-flags="read_only"></div>
                  </div>
                </fieldset>
              </div>
            </div>
          </twig>
          <modes>
            <mode id="view"/>
          </modes>
        </form>
        <!-- ticket R-002266 + R_002493 ********************* -->
        <form id="incident-edit" _delta="define">
          <class>Incident</class>
          <properties>
              <display_mode>cosy</display_mode>
              <always_show_submit>true</always_show_submit>
              <navigation_rules>
                  <submit>
                      <default>go-to-open-requests</default>
                  </submit>
              </navigation_rules>
          </properties>
          <fields>
            <field id="ticketediteur" _delta="define"/>
            <field id="orga_impacte" _delta="define"/>
            <field id="interdata_assets_id" _delta="define"/>
          </fields>
          <twig>
              <div class="row">
                  <div class="col-sm-7">
                      <fieldset>
                          <legend>{{'Ticket:baseinfo'|dict_s}}</legend>
                          <div class="col-sm-6">
                              <div class="form_field" data-field-id="title" data-field-flags="read_only"></div>
                              <div class="form_field" data-field-id="service_id" data-field-flags="read_only"></div>
                              <div class="form_field" data-field-id="interdata_assets_id" data-field-flags="read_only"></div>
                              <div class="form_field" data-field-id="ticketediteur" data-field-flags="read_only"></div>
                          </div>
                          <div class="col-sm-6">
                              <div class="form_field" data-field-id="caller_id" data-field-flags="read_only"></div>
                              <div class="form_field" data-field-id="servicesubcategory_id" data-field-flags="read_only"></div>
                              <div class="form_field" data-field-id="orga_impacte" data-field-flags="read_only"></div>
                          </div>
                          <div class="col-sm-12">
                              <div class="form_field" data-field-id="description" data-field-flags="read_only"></div>
                              <div class="form_field" data-field-id="solution" data-field-flags="read_only"></div>
                          </div>
                          <div class="col-sm-6">
                              <div class="form_field" data-field-id="user_satisfaction" data-field-flags="read_only"></div>
                          </div>
                          <div class="col-sm-6">
                              <div class="form_field" data-field-id="user_comment" data-field-flags="read_only"></div>
                          </div>
                      </fieldset>
                  </div>
                  <div class="col-sm-5">
                      <fieldset>
                          <legend>{{'Ticket:Type'|dict_s}} &amp; {{'Ticket:date'|dict_s}}</legend>
                          <div class="col-sm-6">
                              <div class="form_field" data-field-id="status" data-field-flags="read_only"></div>
                              <div class="form_field" data-field-id="impact" data-field-flags="read_only"></div>
                              <div class="form_field" data-field-id="urgency" data-field-flags="read_only"></div>
                              <div class="form_field" data-field-id="priority" data-field-flags="read_only"></div>
                          </div>
                          <div class="col-sm-6">
                              <div class="form_field" data-field-id="start_date" data-field-flags="read_only"></div>
                              <div class="form_field" data-field-id="last_update" data-field-flags="read_only"></div>
                              <div class="form_field" data-field-id="resolution_date" data-field-flags="read_only"></div>
                              <div class="form_field" data-field-id="agent_id" data-field-flags="read_only"></div>
                          </div>
                      </fieldset>
                  </div>
              </div>
              <div>
                  <div class="form_field" data-field-id="contacts_list"></div>
                  <div class="form_field" data-field-id="public_log"></div>
              </div>
          </twig>
          <modes>
              <mode id="edit"/>
              <mode id="view"/>
          </modes>
        </form>
      </forms>
      <classes>
        <!-- scope for providers -->
        <class id="Organization">
          <scopes>
            <scope id="all" _delta="redefine">
              <oql_view>
                <![CDATA[
                SELECT Organization AS o 
                WHERE o.id = :current_contact->org_id 
                  OR o.presta = :current_contact->org_id
                ]]>
              </oql_view>
            </scope>
          </scopes>
        </class>
        <class id="Location">
          <scopes>
            <scope id="all" _delta="redefine">
              <oql_view>
                <![CDATA[
                SELECT Location AS l 
                  JOIN Organization AS o ON l.org_id = o.id
                  WHERE o.id = :current_contact->org_id 
                    OR o.presta = :current_contact->org_id
                ]]>
              </oql_view>
            </scope>
          </scopes>
        </class>
        <class id="Contact">
          <scopes>
            <scope id="all">
              <oql_view _delta="redefine">
                <![CDATA[
                SELECT Contact WHERE org_id = :current_contact->org_id
                UNION
                SELECT Contact AS l 
                  JOIN Organization AS c ON l.org_id = c.id
                  JOIN Organization AS p ON c.presta = p.id 
                  WHERE p.id = :current_contact->org_id
                ]]>
              </oql_view>
            </scope>
          </scopes>
        </class>
        <!-- <class id="ServiceFamily">
          <scopes>
            <scope id="all" _delta="redefine">
              <oql_view>
                <![CDATA[
                SELECT ServiceFamily AS sf 
                JOIN Service AS s ON s.servicefamily_id = sf.id 
                JOIN lnkCustomerContractToService AS l1 ON l1.service_id=s.id 
                JOIN CustomerContract AS cc ON l1.customercontract_id=cc.id 
                JOIN Organization AS o ON cc.org_id = o.id
                WHERE (o.id = :current_contact->org_id OR o.presta = :current_contact->org_id)
                ]]>
              </oql_view>
              <ignore_silos>true</ignore_silos>
            </scope>
          </scopes>
        </class>
        <class id="Service">
          <scopes>
            <scope id="all" _delta="redefine">
              <oql_view>
                <![CDATA[
                SELECT Service AS s 
                JOIN lnkCustomerContractToService AS l1 ON l1.service_id=s.id 
                JOIN CustomerContract AS cc ON l1.customercontract_id=cc.id 
                JOIN Organization AS o ON cc.org_id = o.id
                WHERE (o.id = :current_contact->org_id OR o.presta = :current_contact->org_id)
                  AND s.status != 'obsolete'
                ]]>
              </oql_view>
              <ignore_silos>true</ignore_silos>
            </scope>
          </scopes>
        </class> -->
        <class id="Ticket">
          <scopes>
            <scope id="portal-power-user">
              <oql_view _delta="redefine">
                <![CDATA[
                SELECT Ticket AS T
                  JOIN Organization AS Node ON T.org_id = Node.id
                  JOIN Organization AS Root ON Node.parent_id BELOW Root.id
                WHERE (Root.id = :current_contact->org_id OR Root.presta = :current_contact->org_id)
                  AND T.finalclass IN ('UserRequest', 'Incident')
                ]]>
              </oql_view>
            </scope>
          </scopes>
        </class>
        <class id="Project" _delta="define">
          <scopes>
            <scope id="all">
              <oql_view><![CDATA[SELECT Project AS p JOIN lnkContactToTicket AS l ON l.ticket_id = p.id WHERE l.contact_id = :current_contact_id]]></oql_view>
            </scope>
            <scope id="portal-power-user">
              <oql_view>
                <![CDATA[
                SELECT Project AS p 
                  JOIN lnkContactToTicket AS l ON l.ticket_id = p.id 
                WHERE l.contact_id = :current_contact_id
                UNION
                SELECT Project AS p2 
                  JOIN Organization AS o ON p2.org_id = o.id
                WHERE o.id = :current_contact->org_id 
                    OR o.presta = :current_contact->org_id
                ]]>
              </oql_view>
              <allowed_profiles>
                <allowed_profile id="Administrator"/>
              </allowed_profiles>
            </scope>
          </scopes>
				</class>
        <class id="CustomerContract" _delta="define">
          <scopes>
            <scope id="all">
              <oql_view>
                <![CDATA[
                SELECT CustomerContract AS c 
                  JOIN Organization AS o ON c.org_id = o.id
                WHERE o.id = :current_contact->org_id 
                    OR o.presta = :current_contact->org_id
                ]]>
              </oql_view>
            </scope>
          </scopes>
        </class>
      </classes>
    </module_design>
  </module_designs>

  <branding>
    <themes>
      <theme id="darkmoon" _delta="merge">
        <imports>
          <import id="variables" xsi:type="variables" _delta="define">syn-interdata-module/css/interdata.scss</import>
        </imports>
        <stylesheets>
          <stylesheet id="interdata" _delta="define">../syn-interdata-module/scss/interdata.scss</stylesheet>
        </stylesheets>
      </theme>
      <theme id="fullmoon" _delta="merge">
        <imports>
          <import id="variables" xsi:type="variables" _delta="define">syn-interdata-module/css/interdata.scss</import>
        </imports>
        <stylesheets>
          <stylesheet id="interdata" _delta="define">../syn-interdata-module/scss/interdata.scss</stylesheet>
        </stylesheets>
      </theme>
    </themes>
  </branding>
</itop_design>
