<?xml version="1.0" encoding="utf-8"?>
<doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd">
  <entity repository-class="App\Entity\DemandeRepository" name="App\Entity\Demande">
    <id name="id" type="integer" column="id">
      <generator strategy="AUTO"/>
    </id>
    <many-to-one field="auteur" target-entity="App\Entity\Personnel" inversed-by="demandesCreation" fetch="LAZY" >
      <join-columns>
        <join-column name="auteur_id" referenced-column-name="id" nullable="true"/>
      </join-columns>
    </many-to-one>
    <many-to-one field="executant" target-entity="App\Entity\Personnel" inversed-by="demandesExecution" fetch="LAZY" >
      <join-columns>
        <join-column name="executant_id" referenced-column-name="id" nullable="true"/>
      </join-columns>
    </many-to-one>
    <many-to-one field="espace" target-entity="App\Entity\Chambre" inversed-by="demandes" fetch="LAZY" >
      <join-columns>
        <join-column name="espace_id" referenced-column-name="id" nullable="false"/>
      </join-columns>
    </many-to-one>
    <one-to-many field="intitulesValidable" target-entity="IntituleValidable" mapped-by="demande">
        <cascade>
            <cascade-persist/>
            <cascade-remove/>
        </cascade>
    </one-to-many>
    <field name="dateExecution" type="datetime" column="dateExecution" nullable="true"/>
    <field name="dateValidation" type="datetime" column="dateValidation" nullable="true"/>
    <field name="statut" type="integer" column="statut"/>
    <field name="priorite" type="integer" column="priorite" nullable="true"/>
    <field name="statutDepart" type="boolean" column="statutDepart" nullable="true"/>
    <field name="consigne" type="text" column="consigne" nullable="true"/>
    <field name="commentaire" type="text" column="commentaire" nullable="true"/>
    <field name="fromFiche" type="boolean" column="fromFiche" nullable="true">
      <options>
            <option name="default">0</option>
      </options>
    </field>
    <many-to-many field="agents" target-entity="Personnel" inversed-by="demandesAssignee" fetch="LAZY">
      <join-table name="agents_demandes">
        <join-columns>
          <join-column name="demande_id" referenced-column-name="id"/>
        </join-columns>
        <inverse-join-columns>
          <join-column name="agent_id" referenced-column-name="id"/>
        </inverse-join-columns>
      </join-table>
    </many-to-many>

    <one-to-one field="ficheEspace" target-entity="FicheEspace" mapped-by="generatedDemande">

    </one-to-one>

  </entity>
</doctrine-mapping>
