Solution sans code asp:
Vous aurez besoin de deux bibliothèques javascript:
- Jquery
- SPServices - http://spservices.codeplex.com/
Dans SharePoint, créez une bibliothèque non publique appelée "bibliothèques Jquery" et téléchargez-y votre jquery et vos services SPS.
Dans Sharepoint Designer, créez une copie de AllItems.aspx.
Dans SharePoint Designer, éditez le fichier AllItems.aspx. Effacer tout le code et insérer ce code javascript.
<script language="javascript" type="text/javascript" src="PATH-TO-YOUR-JQUERY-FILE"></script>
<script language="javascript" type="text/javascript" src="PATH-TO-YOUR-SPSERVICES-FILE"></script>
<script type="text/javascript">
$(document).ready(function() {
//Get current username
userName = $().SPServices.SPGetCurrentUser({
fieldName: "Name",
debug: false
});
//get user's group
$().SPServices({
operation: "GetGroupCollectionFromUser",
userLoginName: userName,
async: false,
completefunc: function(xData, status){
$(xData.responseXML).find("Group").each(function(){
if(status == "success"){
var nomeGrupo = $(this).attr('Name');
//if user is in group 1 redirect to page 1. If user is in group 2 redirect to page 2 etc...
if(nomeGrupo=="Grupo sergio"){
window.location.replace("PATH-TO-PAGE-1/SomeItems.aspx");
}else{
window.location.replace("/PATH-TO-PAGE-2/ViewAll.aspx");
}
}else{
alert("Falha na comunicação com o Sharepoint");
}
});
}
});
});
</script>
Ce code redirige l'utilisateur vers d'autres pages contenant une vue Web-parts-view personnalisée.
Dans la conception sharepoint, renommez le AllItems.aspx en SomeItems.aspx (par exemple).
Vous pouvez créer plusieurs copies de ce fichier et suivre l'étape suivante pour le personnaliser.
Modifiez ce fichier et supprimez le composant WebPart principal situé sur PlaceHolderMain (Astuce: vous pouvez cliquer sur et supprimer si vous êtes en vue fractionnée (coder une conception) dans SharePoint).
Ensuite, vous pouvez insérer une vue WebPart personnalisée pour votre liste. Dans cette vue personnalisée, vous pouvez filtrer les données ou ne pas afficher certaines colonnes.