/// ///////////////////////////////////////////
        public void ApplyToObjet(object obj)
        {
            try
            {
                IObjetAModificationContextuelle objContextuel = obj as IObjetAModificationContextuelle;
                if (objContextuel != null)
                {
                    string strContexteModif = objContextuel.ContexteDeModification;
                    if (IsContexteException(strContexteModif))
                    {
                        m_tableRestrictions.Clear();
                        m_tableRestrictionsHorsPriorites.Clear();
                        m_restrictionUtilisateur  = ERestriction.Aucune;
                        m_restrictionHorsPriorité = ERestriction.Aucune;
                        return;
                    }
                }

                if (obj is IObjetARestrictionSurEntite)
                {
                    ((IObjetARestrictionSurEntite)obj).CompleteRestriction(this);
                }
            }
            catch { }
        }
Exemple #2
0
        //-------------------------------------------------------------------------------------
        public void AppliqueRestrictions(
            CListeRestrictionsUtilisateurSurType lstRestrictions,
            CGestionnaireReadOnlySysteme gestionnaire)
        {
            if (SourceType == null)
            {
                return;
            }
            CRestrictionUtilisateurSurType restriction = lstRestrictions.GetRestriction(SourceType);

            if (restriction != null)
            {
                foreach (KeyValuePair <object, CInfoControle> kv in m_dicControleToInfo)
                {
                    CInfoControle info = kv.Value;
                    if (info.Field.Length > 0)
                    {
                        ERestriction rest = restriction.GetRestriction(info.Field);
                        Control      ctrl = kv.Key as Control;
                        if (ctrl != null)
                        {
                            if ((rest & ERestriction.ReadOnly) == ERestriction.ReadOnly)
                            {
                                gestionnaire.SetReadOnly(ctrl, true);
                            }
                            else
                            {
                                gestionnaire.SetReadOnly(ctrl, false);
                            }
                        }
                    }
                }
            }
        }
        //---------------------------------------------------------------
        private static void CompleteRestrictionsProcessEtAutres(CConfigModulesTimos configModules, CListeRestrictionsUtilisateurSurType listeRestrictions)
        {
            CLicenceModuleClientPrtct module = configModules.GetModuleClient(CConfigModulesTimos.c_clientModule_ProcessEtAutres_ID);
            ERestriction rest = ERestriction.Hide;

            if (module != null)
            {
                rest = module.Restriction;
            }
            if (rest != ERestriction.Aucune)
            {
                CRestrictionUtilisateurSurType restriction = new CRestrictionUtilisateurSurType(typeof(CVariableSurObjet), rest);
                listeRestrictions.AddRestriction(restriction);
                restriction = new CRestrictionUtilisateurSurType(typeof(CEvenement), rest);
                listeRestrictions.AddRestriction(restriction);
                restriction = new CRestrictionUtilisateurSurType(typeof(CGroupeParametrage), rest);
                listeRestrictions.AddRestriction(restriction);
                restriction = new CRestrictionUtilisateurSurType(typeof(CProcessInDb), rest);
                listeRestrictions.AddRestriction(restriction);
                restriction = new CRestrictionUtilisateurSurType(typeof(CRelationDefinisseurComportementInduit), rest);
                listeRestrictions.AddRestriction(restriction);
                restriction = new CRestrictionUtilisateurSurType(typeof(CRelationElementComportement), rest);
                listeRestrictions.AddRestriction(restriction);
                restriction = new CRestrictionUtilisateurSurType(typeof(CComportementGenerique), rest);
                listeRestrictions.AddRestriction(restriction);
            }
        }
Exemple #4
0
        //-------------------------------------------------------------------------
        private void ValideRestrictionEnCours()
        {
            if (m_restrictionAffichee == null)
            {
                return;
            }
            foreach (ListViewItem item in m_wndListeChamps.Items)
            {
                string       strProp = (string)item.Tag;
                ERestriction rest    = ERestriction.Aucune;
                if (item.ImageIndex == 1)
                {
                    rest = ERestriction.ReadOnly;
                }
                if (item.ImageIndex == 2)
                {
                    rest = ERestriction.Hide;
                }
                m_restrictionAffichee.SetRestrictionLocale(strProp, rest);
            }
            //m_restrictionAffichee.Priorite = m_txtSeuil.IntValue != null?m_txtSeuil.IntValue.Value:0;
            ListViewItem itemToModify = GetItemForType(m_restrictionAffichee.TypeAssocie);

            if (itemToModify != null)
            {
                InitItem(itemToModify, m_restrictionAffichee);
            }
        }
        //---------------------------------------------
        protected override void MyAppliqueRestriction(
            CRestrictionUtilisateurSurType restrictionSurObjetEdite,
            CListeRestrictionsUtilisateurSurType listeRestrictions,
            IGestionnaireReadOnlySysteme gestionnaireReadOnly)
        {
            if (EditedElement != null && m_textBoxNumerique != null)
            {
                ERestriction        rest   = restrictionSurObjetEdite.RestrictionGlobale;
                C2iWndTextBoxEntier wndTxt = WndAssociee as C2iWndTextBoxEntier;
                if (wndTxt != null)
                {
                    CDefinitionProprieteDynamique def = wndTxt.Property;
                    if (def != null)
                    {
                        rest = def.GetRestrictionAAppliquer(restrictionSurObjetEdite);
                    }
                }

                switch (rest)
                {
                case ERestriction.ReadOnly:
                case ERestriction.Hide:
                {
                    gestionnaireReadOnly.SetReadOnly(m_textBoxNumerique, true);
                    break;
                }

                default: break;
                }
            }
        }
        //---------------------------------------------
        protected override void MyAppliqueRestriction(
            CRestrictionUtilisateurSurType restrictionSurObjetEdite,
            CListeRestrictionsUtilisateurSurType listeRestrictions,
            IGestionnaireReadOnlySysteme gestionnaireReadOnly)
        {
            bool bShowPictureRestriction = false;

            if (listeRestrictions != null && EditedElement != null)
            {
                CChampCustom champ = WndVariable.Variable as CChampCustom;
                if (champ != null && restrictionSurObjetEdite != null && m_controleForVariable.Control != null)
                {
                    ERestriction rest = restrictionSurObjetEdite.GetRestriction(champ.CleRestriction);
                    if ((rest & ERestriction.ReadOnly) == ERestriction.ReadOnly)
                    {
                        gestionnaireReadOnly.SetReadOnly(m_controleForVariable.Control, true);
                        bShowPictureRestriction = true;
                    }
                }
            }
            if (VisualiseurReadOnly != null)
            {
                if (bShowPictureRestriction)
                {
                    VisualiseurReadOnly.Visible = true;
                }
                else
                {
                    VisualiseurReadOnly.Visible = false;
                }
            }
        }
 /// ///////////////////////////////////////////
 public void SetRestrictionLocale(string strPropriete, ERestriction restriction)
 {
     m_tableRestrictions[strPropriete] = restriction;
     if (restriction == ERestriction.Aucune)
     {
         m_tableRestrictions.Remove(strPropriete);
     }
 }
 /// ///////////////////////////////////////////
 protected void SetRestrictionHorsPriorite(string strPropriete, ERestriction restriction)
 {
     m_tableRestrictionsHorsPriorites[strPropriete] = restriction;
     if (restriction == ERestriction.Aucune)
     {
         m_tableRestrictionsHorsPriorites.Remove(strPropriete);
     }
 }
 /// ///////////////////////////////////////////
 public void AddRestrictionsHorsPriorite(CRestrictionUtilisateurSurType restriction)
 {
     m_restrictionHorsPriorité |= restriction.RestrictionGlobale;
     foreach (DictionaryEntry entry in restriction.m_tableRestrictions)
     {
         SetRestrictionHorsPriorite((string)entry.Key,
                                    GetRestrictionHorsPriorite((string)entry.Key) |
                                    restriction.GetRestriction((string)entry.Key));
     }
 }
        /// ///////////////////////////////////////////
        protected ERestriction GetRestrictionHorsPriorite(string strPropriete)
        {
            ERestriction restriction = ERestriction.Aucune;

            if (m_tableRestrictionsHorsPriorites[strPropriete] != null)
            {
                restriction = (ERestriction)m_tableRestrictionsHorsPriorites[strPropriete];
            }
            return(restriction);
        }
Exemple #11
0
 //-------------------------------------------------------------------------
 private int GetIndexImage(ERestriction rest)
 {
     if ((rest & ERestriction.Hide) == ERestriction.Hide)
     {
         return(2);
     }
     if ((rest & ERestriction.ReadOnly) == ERestriction.ReadOnly)
     {
         return(1);
     }
     return(0);
 }
        /// ///////////////////////////////////////////
        public string[] GetProprietesReadOnly()
        {
            List <string> lst = new List <string>();

            foreach (DictionaryEntry entry in m_tableRestrictions)
            {
                ERestriction rest = (ERestriction)entry.Value;
                if (!CanModify(rest))
                {
                    lst.Add((string)entry.Key);
                }
            }
            return(lst.ToArray());
        }
        //---------------------------------------------------------------
        private static void CompleteRestrictionsStructuresExport(CConfigModulesTimos configModules, CListeRestrictionsUtilisateurSurType listeRestrictions)
        {
            CLicenceModuleClientPrtct module = configModules.GetModuleClient(CConfigModulesTimos.c_clientModule_StructuresExport_ID);
            ERestriction rest = ERestriction.Hide;

            if (module != null)
            {
                rest = module.Restriction;
            }
            if (rest != ERestriction.Aucune)
            {
                CRestrictionUtilisateurSurType restriction = new CRestrictionUtilisateurSurType(typeof(C2iStructureExportInDB), rest);
                listeRestrictions.AddRestriction(restriction);
            }
        }
        //---------------------------------------------------------------
        private static void CompleteRestrictionsDonneesPrecalculees(CConfigModulesTimos configModules, CListeRestrictionsUtilisateurSurType listeRestrictions)
        {
            CLicenceModuleClientPrtct moduleDonnees = configModules.GetModuleClient(CConfigModulesTimos.c_clientModule_DonneesPrecalculees_ID);
            ERestriction rest = ERestriction.Hide;

            if (moduleDonnees != null)
            {
                rest = moduleDonnees.Restriction;
            }
            if (rest != ERestriction.Aucune)
            {
                CRestrictionUtilisateurSurType restriction = new CRestrictionUtilisateurSurType(typeof(CTypeDonneeCumulee), rest);
                listeRestrictions.AddRestriction(restriction);
            }
        }
        //---------------------------------------------------------------
        private static void CompleteRestrictionsChampsCalcules(CConfigModulesTimos configModules, CListeRestrictionsUtilisateurSurType listeRestrictions)
        {
            CLicenceModuleClientPrtct module = configModules.GetModuleClient(CConfigModulesTimos.c_clientModule_ChampsCalc_Id);
            ERestriction rest = ERestriction.Hide;

            if (module != null)
            {
                rest = module.Restriction;
            }
            if (rest != ERestriction.Aucune)
            {
                CRestrictionUtilisateurSurType restriction = new CRestrictionUtilisateurSurType(typeof(CChampCalcule), rest);
                listeRestrictions.AddRestriction(restriction);
            }
        }
Exemple #16
0
 //-------------------------------------------------------------------------
 private void InverseFlagRestriction(ERestriction restriction)
 {
     if (m_restrictionAffichee == null)
     {
         return;
     }
     if ((m_restrictionAffichee.RestrictionUtilisateur & restriction) == restriction)
     {
         m_restrictionAffichee.RestrictionUtilisateur -= (int)restriction;
     }
     else
     {
         m_restrictionAffichee.RestrictionUtilisateur += (int)restriction;
     }
     ShowRestriction(m_restrictionAffichee);
 }
        //---------------------------------------------------------------
        private static void CompleteRestrictionsClientWorkflows(CConfigModulesTimos configModules, CListeRestrictionsUtilisateurSurType listeRestrictions)
        {
            CLicenceModuleClientPrtct moduleClientTypeWorkflow = configModules.GetModuleClient(CConfigModulesTimos.c_clientModule_ParametrageWorkflow);
            ERestriction rest = ERestriction.Hide;

            rest = ERestriction.Hide;
            if (moduleClientTypeWorkflow != null)
            {
                rest = moduleClientTypeWorkflow.Restriction;
            }
            if (rest != ERestriction.Aucune)
            {
                CRestrictionUtilisateurSurType restriction = new CRestrictionUtilisateurSurType(typeof(CTypeWorkflow), rest);
                listeRestrictions.AddRestriction(restriction);
            }
        }
        private static void CompleteRestrictionsModeletesEtats(CConfigModulesTimos configModules, CListeRestrictionsUtilisateurSurType listeRestrictions)
        {
            CLicenceModuleClientPrtct module = configModules.GetModuleClient(CConfigModulesTimos.c_clientModule_RapportsCrystal_ID);
            ERestriction rest = ERestriction.Hide;

            if (module != null)
            {
                rest = module.Restriction;
            }
            if (rest != ERestriction.Aucune)
            {
                CRestrictionUtilisateurSurType restriction = new CRestrictionUtilisateurSurType(typeof(C2iRapportCrystal), rest);
                listeRestrictions.AddRestriction(restriction);
                restriction = new CRestrictionUtilisateurSurType(typeof(C2iCategorieRapportCrystal), rest);
                listeRestrictions.AddRestriction(restriction);
            }
        }
Exemple #19
0
 /// ///////////////////////////////////////////
 ///
 /// ///////////////////////////////////////////
 public void AppliqueRestriction(
     CRestrictionUtilisateurSurType restrictionSurElementEdite,
     CListeRestrictionsUtilisateurSurType listeRestriction,
     IGestionnaireReadOnlySysteme gestionnaire)
 {
     if (listeRestriction != null && EditedElement != null)
     {
         CChampCustom champ = m_wndSelectionValeurChamp.ChampCustom;
         if (champ != null && restrictionSurElementEdite != null)
         {
             ERestriction rest = restrictionSurElementEdite.GetRestriction(champ.CleRestriction);
             if ((rest & ERestriction.ReadOnly) == ERestriction.ReadOnly)
             {
                 gestionnaire.SetReadOnly(Control, true);
             }
         }
     }
 }
Exemple #20
0
 //---------------------------------------------------------------
 public void AppliqueRestrictions(CListeRestrictionsUtilisateurSurType restrictions, sc2i.common.Restrictions.IGestionnaireReadOnlySysteme gestionnaireReadOnly)
 {
     if (m_createur != null && restrictions != null && gestionnaireReadOnly != null)
     {
         if (m_formulaire != null && m_formulaire.TypeElementEdite != null)
         {
             restrictions = restrictions.Clone() as CListeRestrictionsUtilisateurSurType;
             CRestrictionUtilisateurSurType restriction = restrictions.GetRestriction(m_formulaire.TypeElementEdite);
             ERestriction rest = restriction.GetRestriction(Formulaire.CleRestriction);
             if ((int)rest > (int)restriction.RestrictionGlobale)
             {
                 restriction.RestrictionUtilisateur = rest;
             }
             restrictions.SetRestriction(restriction);
         }
         m_createur.AppliqueRestrictions(restrictions, gestionnaireReadOnly);
     }
 }
        //---------------------------------------------------------------
        private static void CompleteRestrictionsFiltresEtListes(CConfigModulesTimos configModules, CListeRestrictionsUtilisateurSurType listeRestrictions)
        {
            CLicenceModuleClientPrtct module = configModules.GetModuleClient(CConfigModulesTimos.c_clientModule_Filtres_ID);
            ERestriction rest = ERestriction.Hide;

            if (module != null)
            {
                rest = module.Restriction;
            }
            if (rest != ERestriction.Aucune)
            {
                CRestrictionUtilisateurSurType restriction = new CRestrictionUtilisateurSurType(typeof(CFiltreDynamiqueInDb), rest);
                listeRestrictions.AddRestriction(restriction);
                restriction = new CRestrictionUtilisateurSurType(typeof(CListeEntites), rest);
                listeRestrictions.AddRestriction(restriction);
                restriction = new CRestrictionUtilisateurSurType(typeof(CRelationListeEntites_Entite), rest);
                listeRestrictions.AddRestriction(restriction);
            }
        }
        //--------------------------------------------------------------------------------
        private static void CompleteRestrictionsTypesCaracteristiquesEntite(CConfigModulesTimos configModules, CListeRestrictionsUtilisateurSurType listeRestrictions)
        {
            CLicenceModuleClientPrtct module = configModules.GetModuleClient(CConfigModulesTimos.c_clientModule_TypeCaracteristiques_ID);
            ERestriction rest = ERestriction.Hide;

            if (module != null)
            {
                rest = module.Restriction;
            }
            if (rest != ERestriction.Aucune)
            {
                CRestrictionUtilisateurSurType restriction = new CRestrictionUtilisateurSurType(typeof(CTypeCaracteristiqueEntite), rest);
                listeRestrictions.AddRestriction(restriction);
                restriction = new CRestrictionUtilisateurSurType(typeof(CRelationTypeCaracteristiqueEntite_ChampCustom), rest);
                listeRestrictions.AddRestriction(restriction);
                restriction = new CRestrictionUtilisateurSurType(typeof(CRelationTypeCaracteristiqueEntite_Formulaire), rest);
                listeRestrictions.AddRestriction(restriction);
            }
        }
        //---------------------------------------------------------------
        private static void CompleteRestrictionsAppWorkflows(CConfigModulesTimos configModules, CListeRestrictionsUtilisateurSurType listeRestrictions)
        {
            CLicenceModuleAppPrtct moduleAppWorkflow = configModules.GetModuleApp(CConfigModulesTimos.c_appModuleWorkflow);
            ERestriction           rest = ERestriction.Hide;

            if (moduleAppWorkflow != null)
            {
                rest = moduleAppWorkflow.Restriction;
            }
            if (rest != ERestriction.Aucune)
            {
                CRestrictionUtilisateurSurType restriction = new CRestrictionUtilisateurSurType(typeof(CTypeWorkflow), rest);
                listeRestrictions.AddRestriction(restriction);
                restriction = new CRestrictionUtilisateurSurType(typeof(CWorkflow), rest);
                listeRestrictions.AddRestriction(restriction);
                restriction = new CRestrictionUtilisateurSurType(typeof(CTypeEtapeWorkflow), rest);
                listeRestrictions.AddRestriction(restriction);
                restriction = new CRestrictionUtilisateurSurType(typeof(CEtapeWorkflow), rest);
                listeRestrictions.AddRestriction(restriction);
            }
        }
        //-------------------------------------------------------------------------------------------------------------
        private static void CompleteRestrictionsConfigurationCompteMail(CConfigModulesTimos configModules, CListeRestrictionsUtilisateurSurType listeRestrictions)
        {
            CLicenceModuleClientPrtct module = configModules.GetModuleClient(CConfigModulesTimos.c_clientModule_ConfigurationCompteMail_ID);
            ERestriction rest = ERestriction.Hide;

            if (module != null)
            {
                rest = module.Restriction;
            }
            if (rest != ERestriction.Aucune)
            {
                CRestrictionUtilisateurSurType restriction = new CRestrictionUtilisateurSurType(typeof(CCompteMail), rest);
                listeRestrictions.AddRestriction(restriction);

                restriction = new CRestrictionUtilisateurSurType(typeof(CDossierMail), rest);
                listeRestrictions.AddRestriction(restriction);

                restriction = new CRestrictionUtilisateurSurType(typeof(CRegleMail), rest);
                listeRestrictions.AddRestriction(restriction);
            }
        }
Exemple #25
0
        //-------------------------------------------------------------------------
        private string GetLibelleRestriction(ERestriction rest)
        {
            if ((rest & ERestriction.Hide) == ERestriction.Hide)
            {
                return(I.T("Mask|20101"));
            }
            if ((rest & ERestriction.ReadOnly) == ERestriction.ReadOnly)
            {
                return(I.T("Read only|20102"));
            }
            string strLibelle = I.T("Read/Write|20103");

            if ((rest & ERestriction.NoCreate) != ERestriction.NoCreate)
            {
                strLibelle += I.T("Create|20104");
            }
            if ((rest & ERestriction.NoDelete) != ERestriction.NoDelete)
            {
                strLibelle += I.T("Delete|20105");
            }
            return(strLibelle);
        }
Exemple #26
0
        /// ///////////////////////////////////////////////////
        private void InitPageWithObjetCourant(Crownwood.Magic.Controls.TabPage page)
        {
            if (m_tablePagesInit.ContainsKey(page) &&
                m_tablePagesInit[page])
            {
                return;
            }
            if (m_tableCreateurs[page] == null)
            {
                CreateControles(page);
            }
            ERestriction          restrictionFormulaire = m_tablePageToRestriction[page];
            CCreateur2iFormulaire createur = (CCreateur2iFormulaire)m_tableCreateurs[page];

            createur.ReadOnly    = (restrictionFormulaire & ERestriction.ReadOnly) == ERestriction.ReadOnly;
            createur.LockEdition = m_bIsLock || (restrictionFormulaire & ERestriction.ReadOnly) == ERestriction.ReadOnly;
            if (createur != null)
            {
                createur.ElementEdite = m_elementEdite;
            }
            m_tablePagesInit[page] = true;
        }
Exemple #27
0
        //---------------------------------------------
        protected override void MyAppliqueRestriction(
            CRestrictionUtilisateurSurType restrictionSurObjetEdite,
            CListeRestrictionsUtilisateurSurType listeRestrictions,
            IGestionnaireReadOnlySysteme gestionnaireReadOnly)
        {
            if (EditedElement != null && m_checkBox != null)
            {
                //Chope la restriction sur le champ concerné
                C2iWndCheckBox chk  = WndAssociee as C2iWndCheckBox;
                ERestriction   rest = restrictionSurObjetEdite.RestrictionGlobale;
                if (chk != null)
                {
                    CDefinitionProprieteDynamique def = chk.Property;
                    if (def != null)
                    {
                        rest = def.GetRestrictionAAppliquer(restrictionSurObjetEdite);
                    }
                }
                switch (rest)
                {
                case ERestriction.ReadOnly:
                {
                    gestionnaireReadOnly.SetReadOnly(m_checkBox, true);
                    break;
                }

                case ERestriction.Hide:
                {
                    gestionnaireReadOnly.SetReadOnly(m_checkBox, true);
                    m_checkBox.Hide();
                    break;
                }

                default: break;
                }
            }
        }
        //--------------------------------------------------------------------------------------
        public void ConvertToRestrictionSansPriorite()
        {
            // Combine la restriction utilisateur avec la restriction hors priorité
            m_restrictionHorsPriorité = m_restrictionHorsPriorité | m_restrictionUtilisateur;
            m_restrictionUtilisateur  = ERestriction.Aucune;

            // Combine toutes les restriction sur champ
            foreach (string strKey in m_tableRestrictionsHorsPriorites.Keys)
            {
                SetRestrictionHorsPriorite(strKey,
                                           GetRestrictionHorsPriorite(strKey) | GetRestrictionLocale(strKey));
            }

            foreach (string strKey in m_tableRestrictions.Keys)
            {
                SetRestrictionHorsPriorite(strKey,
                                           GetRestrictionHorsPriorite(strKey) | GetRestrictionLocale(strKey));
            }

            // On vide toutes les Restriction utilisateur, car elles sont maintenatn stockées dans
            // les restriction Hors Priorité
            m_tableRestrictions.Clear();
            m_restrictionUtilisateur = ERestriction.Aucune;
        }
 //---------------------------------------------------------------
 protected override void MyAppliqueRestriction(
     CRestrictionUtilisateurSurType restrictionSurObjetEdite,
     CListeRestrictionsUtilisateurSurType listeRestrictions,
     IGestionnaireReadOnlySysteme gestionnaireReadOnly)
 {
     if (EditedElement != null &&
         m_selectionneur != null)
     {
         ERestriction rest = restrictionSurObjetEdite.RestrictionGlobale;
         C2iWndTextBoxFiltreRapide wndTxt = WndAssociee as C2iWndTextBoxFiltreRapide;
         if (wndTxt != null)
         {
             CDefinitionProprieteDynamique def = wndTxt.Property;
             if (def != null)
             {
                 rest = def.GetRestrictionAAppliquer(restrictionSurObjetEdite);
             }
         }
         if ((rest & ERestriction.ReadOnly) == ERestriction.ReadOnly)
         {
             gestionnaireReadOnly.SetReadOnly(m_selectionneur, true);
         }
     }
 }
Exemple #30
0
        public void UpdateOnglets()
        {
            if (!LockEdition)
            {
                //valide les modifs car on va tout supprimer
                MAJ_Champs();
            }
            m_bIsInitializing = true;
            Hashtable tablePagesToHide = new Hashtable();

            foreach (Crownwood.Magic.Controls.TabPage page in TabPages)
            {
                m_tablePagesInit[page] = false;
                tablePagesToHide[page] = true;
            }

            if (m_elementEdite == null)
            {
                return;
            }

            /* YK : On obtient la session de l'objet en cours d'édition au lieur de la session par défaut */
            CSessionClient session = null;
            IObjetDonneeAIdNumeriqueAuto objetDonnee = m_elementEdite as IObjetDonneeAIdNumeriqueAuto;

            if (objetDonnee != null)
            {
                session = CSessionClient.GetSessionForIdSession(objetDonnee.ContexteDonnee.IdSession);
            }
            else
            {
                session = CSessionClient.GetSessionUnique();
            }

            ArrayList lstFormulaires = new ArrayList(m_elementEdite.GetFormulaires());

            lstFormulaires.Sort(new CSorterFormulaires());
            //Lit les champs liés et leurs valeurs
            StringBuilder bl = new StringBuilder();

            foreach (CFormulaire formulaire in lstFormulaires)
            {
                bl.Append(formulaire.Id);
                bl.Append(",");
            }
            if (bl.Length > 0)
            {
                bl.Remove(bl.Length - 1, 1);
                CListeObjetsDonnees lst = new CListeObjetsDonnees(((CFormulaire)lstFormulaires[0]).ContexteDonnee, typeof(CFormulaire));
                lst.Filtre = new CFiltreData(CFormulaire.c_champId + " in (" + bl.ToString() + ")");
                lst.AssureLectureFaite();
                lst.ReadDependances("RelationsChamps", "RelationsChamps.Champ", "RelationsChamps.Champ.ListeValeurs");
            }


            foreach (CFormulaire formulaire in lstFormulaires)
            {
                CRestrictionUtilisateurSurType restriction = new CRestrictionUtilisateurSurType(m_elementEdite.GetType());
                if (session.GetInfoUtilisateur() != null)
                {
                    int?nIdVersion = null;
                    IObjetAContexteDonnee objetAContexte = m_elementEdite as IObjetAContexteDonnee;
                    if (objetAContexte != null)
                    {
                        nIdVersion = objetAContexte.ContexteDonnee.IdVersionDeTravail;
                    }
                    restriction = session.GetInfoUtilisateur().GetRestrictionsSurObjet(m_elementEdite, nIdVersion);
                }

                ERestriction restrictionFormulaire = restriction.GetRestriction(formulaire.CleRestriction);

                if ((restrictionFormulaire & ERestriction.Hide) != ERestriction.Hide)
                {
                    Crownwood.Magic.Controls.TabPage page     = (Crownwood.Magic.Controls.TabPage)m_tableIdFormulaireToTabPage[formulaire.Id];
                    CCreateur2iFormulaire            createur = null;

                    if (page == null)
                    {
                        C2iWndFenetre wnd = formulaire.Formulaire;
                        if (wnd != null)
                        {
                            page = new Crownwood.Magic.Controls.TabPage(wnd.Text);
                            page.SuspendLayout();
                            if (wnd.Text == "")
                            {
                                page.Title = formulaire.Libelle;
                            }
                            TabPages.Add(page);
                            m_tableCreateurs[page]   = null;
                            m_tablePageTo2iWnd[page] = wnd;
                            m_tableIdFormulaireToTabPage[formulaire.Id] = page;
                        }
                    }
                    else
                    {
                        createur = (CCreateur2iFormulaire)m_tableCreateurs[page];
                    }

                    if (page != null)
                    {
                        m_tablePageToRestriction[page] = restrictionFormulaire;
                        if (!TabPages.Contains(page))
                        {
                            TabPages.Add(page);
                        }
                        tablePagesToHide.Remove(page);
                    }
                }
            }

            /*CChampCustom[] champs = ElementEdite.GetChampsHorsFormulaire();
             * if ( champs.Length != 0 )
             * {
             *      UpdatePageChamps( nRest );
             *      if ( m_pageGrid != null )
             *              tablePagesToHide.Remove(m_pageGrid);
             * }*/
            foreach (Crownwood.Magic.Controls.TabPage pageToDel in tablePagesToHide.Keys)
            {
                TabPages.Remove(pageToDel);
            }

            if (TabPages.Count == 1)
            {
                this.HideTabsMode = Crownwood.Magic.Controls.TabControl.HideTabsModes.HideAlways;
            }
            else
            {
                this.HideTabsMode = Crownwood.Magic.Controls.TabControl.HideTabsModes.ShowAlways;
            }
            if (SelectedTab != null)
            {
                InitPageWithObjetCourant(SelectedTab);
            }
            m_bIsInitializing = false;
        }