IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SharePoint .NET Discussion :

[WSS 3] Masquer barre outil webpart


Sujet :

SharePoint .NET

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 175
    Points : 94
    Points
    94
    Par défaut [WSS 3] Masquer barre outil webpart
    Bonjour,

    Je cherche à maquer la barre d'outil de mes web part si jamais l'utilisateur connecté a uniquement des droits de lecture.

    Pas de problème pour récupérer les droits du user. Mais la barre d'outil ne se masque pas.

    J'ai essayé betement myList.DefaultView.Toolbar= "None" ; myList.DefaultView.Update();

    Mais la barre est toujours là.

    Merci pour votre aide

  2. #2
    Membre expert

    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    1 581
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 581
    Points : 3 016
    Points
    3 016
    Par défaut
    C'est un webpart que tu as toi-même développé?

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 175
    Points : 94
    Points
    94
    Par défaut
    Non non c'est une webpart déjà faite.

    C'est une web part classique d'une bibliothèque de documents.

    Pour masquer la toolbar, j'ai crée une webpart que j'ai inséré dans la meme page que la webpart par défaut.
    Mais ça n'a pas fonctionné.

    J'ai transformé la web part en controle personnel que j'ai inseré dans la master page. Mais ça n'a pas marché non plus.

  4. #4
    Membre expert

    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    1 581
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 581
    Points : 3 016
    Points
    3 016
    Par défaut
    Ah ok! J'ai jamais essayé, c'est vrai que ça pourrait être utile . je vais essayer de voir ça quand j'ai le temps et si je trouve quelque chose je te le dis

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 175
    Points : 94
    Points
    94
    Par défaut


    Merci beaucoup!

  6. #6
    Membre expert

    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    1 581
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 581
    Points : 3 016
    Points
    3 016
    Par défaut
    Alors, ceci fonctionne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    //Là je le fais à la dure hard-codé mais bon, c'est pour la démo :)
    ListViewWebPart MyListView = WebPartManager.WebParts[0] as ListViewWebPart;
                if (MyListView != null)
                {
    //Obligatoire sinon ça plante avec l'update.
                    SPContext.Current.Web.AllowUnsafeUpdates = true;
    //On va chercher la propriété View du webpart.
                    System.Reflection.PropertyInfo ViewProp = MyListView.GetType().GetProperty("View", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance);
    //On pointe vers la vue réelle associée au webpart et à la liste.
                    SPView MyRealView= ViewProp.GetValue(MyListView, null) as SPView;               
                    string Bidon = MyRealView.SchemaXml; //Obligatoire sinon ça foire...
     
                    System.Reflection.PropertyInfo NodeProp = MyRealView.GetType().GetProperty("Node", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance);
                    XmlNode ViewNode= NodeProp.GetValue(MyRealView, null) as XmlNode;
                    XmlNode ToolbarNode= ViewNode.SelectSingleNode("Toolbar");
                    if (ToolbarNode!= null)
                    {
                        ToolbarNode.Attributes["Type"].Value = "None";
                        MyRealView.Update();
                    }
                }
    Mais cela ne fonctionne qu'en étant loggé en tant que site collection admin. Une impersonation qu'elle soit sur un compte physique ou via RunWithElevatedPrivileges ne change rien car on pointe sur le webpart via le webpartmanager qui lui reste dans son contexte original (càd avec l'identité du user actuellement loggé) et donc, un bel "Access Denied" survient. Le challenge consisterait (à voir si c'est possible) à se recréer une nouvelle référence vers le webpartmanager de la page courante dans le nouveau contexte identitaire et ensuite appliquer les changements. Bref, tout un programme

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 175
    Points : 94
    Points
    94
    Par défaut
    Waw merci beaucoup pour cette réponse!!!

Discussions similaires

  1. [AC-2003] Masquer Barre Menu et outils
    Par Feuztoff dans le forum Access
    Réponses: 1
    Dernier message: 12/02/2014, 06h49
  2. Masquer barre d'adresse à l'ouverture d'une fenetre
    Par noash dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 13/12/2006, 16h45
  3. Masquer barre de défilement
    Par lolafrite dans le forum Forms
    Réponses: 2
    Dernier message: 05/12/2006, 16h02
  4. masquer barre d'outil
    Par torNAdE dans le forum Access
    Réponses: 3
    Dernier message: 18/07/2006, 10h49
  5. Masquer barre d'outil IE
    Par 12_darte_12 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 18/10/2005, 12h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo