示例#1
0
        private void m_arbre_AfterCheck(object sender, System.Windows.Forms.TreeViewEventArgs e)
        {
            if (!e.Node.Checked || m_elementADroits == null || m_bIsInitialising)
            {
                return;
            }

            // Utilistauer connecté
            CDonneesActeurUtilisateur userConnecte = null;
            CObjetDonnee objet = m_elementADroits as CObjetDonnee;

            if (objet != null)
            {
                userConnecte = CDonneesActeurUtilisateur.GetUserForSession(objet.ContexteDonnee.IdSession, objet.ContexteDonnee);
            }

            CDroitNode node = (CDroitNode)e.Node;

            if (userConnecte != null)
            {
                // Verifie que l'utilisateur tente d'affecter un droit qu'il n'a pas !
                if (userConnecte.GetDonneeDroit(node.Droit.Code) == null)
                {
                    node.Checked = false;
                    CFormAlerte.Afficher(I.T("You don't have right to affect this system Right : @1|10010", node.Droit.Libelle));
                    return;
                }
            }


            if (node.Relation == null)
            {
                CRelationElement_Droit relation = m_elementADroits.GetNewObjetRelationDroit();
                relation.Droit = (CDroitUtilisateur)node.Droit;
                relation.ElementDefinisseur = m_elementADroits;
                node.Relation = relation;
            }
            m_arbre.SelectedNode = node;
            if (node.Checked && !m_bLockEdition)
            {
                m_listeExtensions.Enabled = true;
                m_wndListeOptions.Enabled = true;
            }
            else
            {
                m_listeExtensions.Enabled = false;
                m_wndListeOptions.Enabled = false;
            }
        }
示例#2
0
 public CDroitNode(CDroitUtilisateur droit)
     : base(droit.Libelle)
 {
     Droit      = droit;
     m_relation = null;
 }