Пример #1
0
        public static CListeRestrictionsUtilisateurSurType GetRestrictionsClient(CConfigModulesTimos configModules)
        {
            CListeRestrictionsUtilisateurSurType liste = new CListeRestrictionsUtilisateurSurType();

            if (configModules == null)
            {
                return(liste);
            }

            List <Type> tps = new List <Type>(CContexteDonnee.GetAllTypes());

            foreach (Type tp in tps)
            {
                object[] atts = tp.GetCustomAttributes(typeof(AModulesClient), false);
                if (atts.Length == 1)
                {
                    AModulesClient att = (AModulesClient)atts[0];

                    List <CLicenceModuleClientPrtct> modulesDuType = new List <CLicenceModuleClientPrtct>();
                    foreach (string strIdModule in att.IdsModulesClient)
                    {
                        CLicenceModuleClientPrtct modulePresent = configModules.GetModuleClient(strIdModule);
                        if (modulePresent != null)
                        {
                            modulesDuType.Add(modulePresent);
                        }
                    }

                    if (modulesDuType.Count == 0)
                    {
                        CRestrictionUtilisateurSurType restriction = new CRestrictionUtilisateurSurType(tp);
                        foreach (string strIdModule in att.IdsModulesClient)
                        {
                            CRestrictionUtilisateurSurType restric = new CRestrictionUtilisateurSurType(tp);
                            restric.RestrictionSysteme = configModules.GetRestrictionSiModuleAbsent(strIdModule);
                            restriction.Combine(restric);
                        }
                        liste.AddRestriction(restriction);
                    }
                    else
                    {
                        CRestrictionUtilisateurSurType restriction = new CRestrictionUtilisateurSurType(tp);
                        foreach (CLicenceModuleClientPrtct module in modulesDuType)
                        {
                            CRestrictionUtilisateurSurType restric = new CRestrictionUtilisateurSurType(tp);
                            restric.RestrictionSysteme = module.Restriction;
                            restriction.Combine(restric);
                        }
                        if (!restriction.HasRestrictions)
                        {
                            restriction = new CRestrictionUtilisateurSurType(restriction.TypeAssocie);
                            restriction.RestrictionUtilisateur = restriction.RestrictionGlobale;
                        }
                        liste.AddRestriction(restriction);
                    }
                }
            }
            CompleteRestrictionsClient(configModules, liste);
            return(liste);
        }
Пример #2
0
        //---------------------------------------------------------------
        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);
            }
        }
Пример #3
0
        public static CListeRestrictionsUtilisateurSurType GetRestrictionsApp(CConfigModulesTimos configModules)
        {
            CListeRestrictionsUtilisateurSurType liste = new CListeRestrictionsUtilisateurSurType();

            if (configModules == null)
            {
                return(liste);
            }

            List <Type> tps = new List <Type>(CContexteDonnee.GetAllTypes());

            if (tps.Count == 0)
            {
                throw new Exception("No type loaded for licences");
            }
            foreach (Type tp in tps)
            {
                object[] atts = tp.GetCustomAttributes(typeof(AModulesApp), false);
                if (atts.Length == 1)
                {
                    AModulesApp att = (AModulesApp)atts[0];

                    List <CLicenceModuleAppPrtct> modulesDuType = new List <CLicenceModuleAppPrtct>();
                    foreach (string strIdModule in att.IdsModulesApplicatif)
                    {
                        CLicenceModuleAppPrtct modulePresent = configModules.GetModuleApp(strIdModule);
                        if (modulePresent != null)
                        {
                            modulesDuType.Add(modulePresent);
                        }
                    }
                    if (modulesDuType.Count == 0)
                    {
                        CRestrictionUtilisateurSurType restriction = new CRestrictionUtilisateurSurType(tp, ERestriction.Hide);
                        liste.AddRestriction(restriction);
                    }
                    else
                    {
                        CRestrictionUtilisateurSurType restriction = new CRestrictionUtilisateurSurType(tp);
                        foreach (CLicenceModuleAppPrtct module in modulesDuType)
                        {
                            CRestrictionUtilisateurSurType restric = new CRestrictionUtilisateurSurType(tp);
                            restric.RestrictionSysteme = module.Restriction;
                            restriction.Combine(restric);
                        }
                        liste.AddRestriction(restriction);
                    }
                }
            }
            CompleteRestrictionsApp(configModules, liste);
            return(liste);
        }
Пример #4
0
 /// <summary>
 /// Ajoute aux restrictions définies par des attributs les restrictions liées
 /// aux classes qui ne sont pas dans timos (ex : les champs custom)
 /// </summary>
 /// <param name="modulesApplicatifs"></param>
 private static void CompleteRestrictionsClient(CConfigModulesTimos configModules, CListeRestrictionsUtilisateurSurType listeRestrictions)
 {
     CompleteRestrictionsChampsPersonnalises(configModules, listeRestrictions);
     CompleteRestrictionsTypesCaracteristiquesEntite(configModules, listeRestrictions);
     CompleteRestrictionsFiltresEtListes(configModules, listeRestrictions);
     CompleteRestrictionsChampsCalcules(configModules, listeRestrictions);
     CompleteRestrictionsProcessEtAutres(configModules, listeRestrictions);
     CompleteRestrictionsStructuresExport(configModules, listeRestrictions);
     CompleteRestrictionsDonneesPrecalculees(configModules, listeRestrictions);
     CompleteRestrictionsFormulaires(configModules, listeRestrictions);
     CompleteRestrictionsModeletesEtats(configModules, listeRestrictions);
     CompleteRestrictionsConfigurationCompteMail(configModules, listeRestrictions);
     CompleteRestrictionsClientWorkflows(configModules, listeRestrictions);
 }
 ///////////////////////////////////////////////////////
 public CSessionClientSurServeurTimos(
     CSessionClient sessionSurClient,
     CInfoSessionTimos info)
     : base(sessionSurClient)
 {
     //TESTDBKEYOK
     //CDonneesActeurUtilisateur part = info.ActeurUtilisateur;
     m_keyUtilisateur = info == null ? null : info.DonneesUtilisateur.DbKey;
     m_userLicence    = info == null ? null : info.UserLicence;
     UserProfil       = info == null ? null : info.UserProfil;
     ConfigModules    = info == null ? null : CConfigModulesTimos.GetNewConfig(
         CTimosServeur.GetInstance().LicenceLogiciel.ModulesApp,
         info.UserProfil.ModulesClient);
 }
Пример #6
0
        //---------------------------------------------------------------
        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);
            }
        }
Пример #7
0
        //---------------------------------------------------------------
        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);
            }
        }
Пример #8
0
        //---------------------------------------------------------------
        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);
            }
        }
Пример #9
0
        //---------------------------------------------------------------
        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);
            }
        }
Пример #10
0
        public void ReinitialiserRestrictions(CConfigModulesTimos config)
        {
            //CConfigurationRestrictions.ClearRestrictions();

            CListeRestrictionsUtilisateurSurType restrictionsModules = CModuleRestrictionProvider.GetRestrictionsApp(config);

            CConfigurationRestrictions.AjouteRestrictions(CTimosServeur.c_keyRestrictionAllUsers, restrictionsModules);

            foreach (CSessionClientSurServeur session in CGestionnaireSessionsTimos.ListeSessionsServeur)
            {
                if (session is CSessionClientSurServeurTimos)
                {
                    CSessionClientSurServeurTimos sessionTimos = (CSessionClientSurServeurTimos)session;
                    sessionTimos.SetNewConfigModules(config);
                }
            }
        }
Пример #11
0
        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);
            }
        }
Пример #12
0
        //--------------------------------------------------------------------------------
        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);
            }
        }
Пример #13
0
        //---------------------------------------------------------------
        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);
            }
        }
Пример #14
0
        /// <summary>
        /// Ajoute aux restrictions définies par des attributs les restrictions liées
        /// aux classes qui ne sont pas dans timos (ex : les champs custom)
        /// </summary>
        /// <param name="modulesApplicatifs"></param>
        private static void CompleteRestrictionsApp(CConfigModulesTimos configModules, CListeRestrictionsUtilisateurSurType listeRestrictions)
        {
            //Autoriser ou non les versions
            //Module journalisation ou ingénierie référentiel
            if (configModules.GetModuleApp(CConfigModulesTimos.c_appModule_IngeReferentiel_ID) == null &&
                configModules.GetModuleApp(CConfigModulesTimos.c_appModule_Journalisation_ID) == null)
            {
                //Pas le droit de versions
                CRestrictionUtilisateurSurType restriction = new CRestrictionUtilisateurSurType(typeof(CVersionDonnees), ERestriction.Hide);
                listeRestrictions.AddRestriction(restriction);
                //et version objet
                restriction = new CRestrictionUtilisateurSurType(typeof(CVersionDonneesObjet), ERestriction.Hide);
                listeRestrictions.AddRestriction(restriction);
                //et version objet opération
                restriction = new CRestrictionUtilisateurSurType(typeof(CVersionDonneesObjetOperation), ERestriction.Hide);
                listeRestrictions.AddRestriction(restriction);
            }

            CompleteRestrictionsAppWorkflows(configModules, listeRestrictions);
        }
Пример #15
0
        //---------------------------------------------------------------
        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);
            }
        }
Пример #16
0
        //-------------------------------------------------------------------------------------------------------------
        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);
            }
        }
Пример #17
0
        public void AppliquerConfiguration(CConfigModulesTimos configuration)
        {
            if (!DesignMode && configuration != null)
            {
                if (LancementApplication != null)
                {
                    EventArgConfigureControl arg = new EventArgConfigureControl();
                    LancementApplication(arg);
                    if (arg.Cancel)
                    {
                        if (FinApplication != null)
                        {
                            FinApplication(this, new EventArgs());
                        }
                        return;
                    }
                }

                ClearSurveillance();

                foreach (Control ctrl in m_associations.Keys)
                {
                    string association = m_associations[ctrl];
                    if (association == null || association == "")
                    {
                        continue;
                    }

                    #region Recuperation de la restriction a Appliquer
                    ERestriction restriction = ERestriction.Aucune;

                    //Combinaison des restrictions
                    List <string> strIdsModulesApp = CSerializerModulesLicence.GetIdsModulesApp(association);
                    bool          bFind            = strIdsModulesApp.Count == 0;
                    foreach (string strIdApp in strIdsModulesApp)
                    {
                        CLicenceModuleAppPrtct mApp = configuration.GetModuleApp(strIdApp);
                        if (mApp != null)
                        {
                            restriction = restriction | mApp.Restriction;
                            bFind       = true;
                            if (restriction == ERestriction.Hide)
                            {
                                break;
                            }
                        }
                    }

                    if (bFind && restriction != ERestriction.Hide)
                    {
                        List <string> strIdsModulesClient = CSerializerModulesLicence.GetIdsModulesClient(association);
                        bFind = strIdsModulesClient.Count == 0;
                        foreach (string strId in strIdsModulesClient)
                        {
                            CLicenceModuleClientPrtct mCli = configuration.GetModuleClient(strId);
                            if (mCli != null)
                            {
                                restriction = restriction | mCli.Restriction;
                                bFind       = true;
                                if (restriction == ERestriction.Hide)
                                {
                                    break;
                                }
                            }
                        }
                    }

                    if (!bFind)
                    {
                        restriction = ERestriction.Hide;
                    }
                    #endregion

                    if (ApplicationConfiguration != null)
                    {
                        EventArgConfigureControl arg = new EventArgConfigureControl();
                        ApplicationConfiguration(ctrl, restriction, arg);
                        if (arg.Cancel)
                        {
                            return;
                        }
                    }

                    #region Affectation du controle et mise sous surveillance
                    switch (restriction)
                    {
                    case ERestriction.Hide:
                        ctrl.Visible = false;

                        if (ctrl is Crownwood.Magic.Controls.TabPage)
                        {
                            DetacheC2iTabPage((Crownwood.Magic.Controls.TabPage)ctrl);
                            AjouterControleParentChangedNonAutorise(ctrl);
                        }
                        else if (ctrl is TabPage)
                        {
                            TabPage tbp = (TabPage)ctrl;
                            //if (tbp.Parent != null && tbp.Parent is TabControl)
                            //{
                            //    AjouterControleAddedNonAutorise(tbp.Parent);
                            //    tbp.Parent = null;
                            //}
                            tbp.Parent = null;
                            AjouterControleParentChangedNonAutorise(tbp);
                        }
                        AjouterControleVisibleChangedNonAutorise(ctrl);
                        break;

                    case ERestriction.ReadOnly:
                        if (typeof(IControlALockEdition).IsAssignableFrom(ctrl.GetType()))
                        {
                            IControlALockEdition ctrlALock = (IControlALockEdition)ctrl;
                            ctrlALock.LockEdition = true;
                            AjouterControleLockEditionChangedNonAutorise(ctrlALock);
                        }
                        else
                        {
                            ctrl.Enabled = false;
                            AjouterControleEnableChangedNonAutorise(ctrl);
                        }
                        break;

                    case ERestriction.NoCreate:
                        break;

                    case ERestriction.NoDelete:
                        break;

                    case ERestriction.NoCreate | ERestriction.NoDelete:
                    case ERestriction.Aucune:
                    default:
                        break;
                    }
                    #endregion
                }
                if (FinApplication != null)
                {
                    FinApplication(this, new EventArgs());
                }
            }
        }
 public void SetNewConfigModules(CConfigModulesTimos conf)
 {
     m_listeRestricitionsFromProfil = null;
     ConfigModules = conf;
 }