none
Cacher une colonne dans une liste pour certain utilisateurs RRS feed

  • Question

  •  

    Bonjour,

    Toujours à la découverte de SharePoint, je voudrai faire un formulaire pour une demande congé avec approbation par 2 personnes.

    J'ai donc fait une liste "Congé" avec une colonne Etat (Accepté/Refusé/En attente) qui prenne la valeur En attente par défaut et qui soit modifiable uniquement par les deux personnes. Le problème c'est comment caché la colonne Etat aux autres personnes ?

    Ou alors je m'y prend mal et c'est pas du tout comme ça qu'il faut s'y prendre...

    D'avance merci !
    mercredi 20 février 2008 09:33

Réponses

  • Merci pour votre réponse !

     

    Je vais éplucher en détail ces articles.

     

     

    Pour l'instant j'ai réussi à personnaliser ma liste grâce à SharePoint Designer : http://blah.winsmarts.com/2007-5-Customize_the_-and-quot;NewFormaspx-and-quot;_page_for_a_SharePoint_List.aspx

     

    Mais le problème c'est que je n'arrive plus à insérer mes données dans la liste, le boutton OK ne semble ne plus marcher, j'ai l'erreur suivante :

     

    Le contrôle de la source de données n'a pas réussi à exécuter la commande d'insertion.

     

    mercredi 20 février 2008 11:19
  •  

    Bon !


    J'ai trouvé ! En fait dans ma liste, j'avais une date (par défaut celle d'aujourd'hui) et quand je faisais mes tests je laissais cette date par défaut, et donc l'enregistrement ne marchait pas. En modifiant la date (même en remettant celle par défaut) ça marche... Il doit considérer qu'elle est vide si on y touche pas...

    Bref un bug bien con.
    jeudi 21 février 2008 15:48

Toutes les réponses

  • Bonjour,

     

    Tout d'abord, ce n'est pas prévu par defaut (à ma connaissance) mais il existe des moyens de contournements,

     

    Voilà comment faire :

     

    1. Modifier l'affichage par défaut pour que la colonne Etat ne s'affiche pas

    2. Rajouter une colonne Allowed (par exemple) de type Personne et groupe, permettant plusieurs selection de personnes depuis tout les utilisateurs et afficher uniquement le nom. n'afficher pas cette colonne par defaut dans la vue

    3. Creer un nouvel affichage "Etat des documents" par exemple en rajoutant la colonne Etat et en filtre "la collone Allowed est égale à [Utilisateur Actif] ou ([Me] si vous êtes en anglais)

     

    Ainsi si un utilisateur quelconque arrive sur la vue par defaut, il n'aura pas l'information de l'état et si il clique sur l'affichage "Etat des documents" vu qu'il ne fait pas partie des utilisateurs ayant les "droits" il ne verra rien s'afficher.

    Par contre si un utilisateur ayant les droits (cad si il a été spécifié dans le champ Allowed) clique sur la vue permission il verra l'information souhaitée.

     

    le problème de cette technique est qu'elle ne marche que pour les affichages, si l'utilisateur clique sur un élément, il verra toute les infos.

     

    Pour régler ce problème, vous pouvez utiliser une de ces solutions :

    More SharePoint Branding - Customisation using Javascript - Part 1

    http://www.sharepointblogs.com/ethan/archive/2007/10/04/specify-what-forms-a-field-shows-up-on.aspx

    En résumé, je pense que vous l'avez compris, cela implique de tordre une peu le produit pour arrivé à vos fins Sad.

     

    Si vous êtes un développeur, je vous conseillerais de partir sur un custom field control en utilisant une base de Private fields Code

     

    En espérant que cela réponde à votre question

    mercredi 20 février 2008 11:04
    Modérateur
  • Merci pour votre réponse !

     

    Je vais éplucher en détail ces articles.

     

     

    Pour l'instant j'ai réussi à personnaliser ma liste grâce à SharePoint Designer : http://blah.winsmarts.com/2007-5-Customize_the_-and-quot;NewFormaspx-and-quot;_page_for_a_SharePoint_List.aspx

     

    Mais le problème c'est que je n'arrive plus à insérer mes données dans la liste, le boutton OK ne semble ne plus marcher, j'ai l'erreur suivante :

     

    Le contrôle de la source de données n'a pas réussi à exécuter la commande d'insertion.

     

    mercredi 20 février 2008 11:19
  •  

    Personnellement, je reviendrais en arrière, click droit sur la page et revert to sitedefinition"

    mercredi 20 février 2008 11:29
    Modérateur
  •  

    Je n'avais pas modifié le formulaire orignial, mais une copie. Wink
    mercredi 20 février 2008 13:03
  •  

    Bon !


    J'ai trouvé ! En fait dans ma liste, j'avais une date (par défaut celle d'aujourd'hui) et quand je faisais mes tests je laissais cette date par défaut, et donc l'enregistrement ne marchait pas. En modifiant la date (même en remettant celle par défaut) ça marche... Il doit considérer qu'elle est vide si on y touche pas...

    Bref un bug bien con.
    jeudi 21 février 2008 15:48