Skip to main content
Version: Next

Masquer le bouton Télécharger du module bureautique de manière permanente ou conditionnée

Cetre fiche décrit ce qu’il faut faire pour masquer le bouton Télécharger du module bureautique.

Le bouton Télécharger du module bureautique permet à tout utilisateur, ayant les droits de lecture sur un document, de Télécharger les attachements et de les utiliser en dehors du module applicatif. Contrairement au bouton de visualisation, le bouton "Télécharger" du module bureautique ne prend pas en charge le paramétrage des filigranes. Cette action peut aussi être utile dans un contexte de gestion de la documentation qualité pour interdire aux utilisateurs de télécharger les documents au format natif et de les utiliser hors contexte.

Le fait de conditionner l’affichage de ce bouton, permet de garder de la souplesse, puisque pour un même formulaire, l’administrateur peut permettre le téléchargement des documents en fonction de la valeur d’un champ.

image.png

Masquer le bouton en permanence

Pour masquer le bouton Télécharger de manière permanente, copier ce code dans la partie Source d’un composant de votre formulaire :

Code javascript à coller dans le code source de la page : 

<style type="text/css">/*<![CDATA[*/.office-buttonbar .download {
DISPLAY: none !important
}
/*]]>*/</style>

Le code apparait ainsi dans la partie Source de votre formulaire :

image.png

Résultat :

image.png

**Masquer le bouton en fonction de la valeur d’un champ du formulaire **

Pour masquer le bouton Télécharger de manière conditionnée, créer un fichier controlDownload.ascx dans le répertoire Custom client du site web de votre application.

Copier le code ci-dessous et coller le dans votre fichier controlDownload.ascx

<%@ Control Language="C#" ClassName="controlDownload" %>

<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Linq" %>
<%@ Import Namespace="Avanteam.Kernel" %>
<%@ Import Namespace="Avanteam.Kernel.Shared" %>
<%@ Import Namespace="Avanteam.Kernel.Web" %>
<%@ Import Namespace="Avanteam.Application" %>
<%@ Import Namespace="Avanteam.Application.Security" %>
<%@ Import Namespace="Avanteam.Application.WebControls" %>
<%@ Import Namespace="Avanteam.Documents" %>

<script runat="server">

private ApsPageManager _page = null;
public ApsPageManager APSPage
{
get
{
if (_page == null)
_page = Page as ApsPageManager;
return _page;
}
}

protected void Page_Init(object sender, EventArgs e)
{
// Enregistre le CSS permettant de masquer le téléchargement en fonction de la valeur d'un champ
if(APSPage.Document.GetStringValue("Type_document") != "Support d'enregistrement"){
Page.ClientScript.RegisterClientScriptBlock( GetType(), "controlDownload.ascx", "<style type=\"text/css\">/*<![CDATA[*/.office-buttonbar .download {DISPLAY: none !important}/*]]>*/</style>", false );
}
}

protected void Page_Load(object sender, EventArgs e)
{

}

</script>

Dans l’exemple suivant, le bouton Télécharger est masqué si le champ Type de document contient une valeur différente de Support d’enregistrement :

image.png

Pour adapter ce code à votre contexte, il faut modifier la ligne 29 :

if(APSPage.Document.GetStringValue("Type_document") != "Support d'enregistrement")

Pour monter ce composant dans votre formulaire, il faut le déclarer dans FormularDesigner

<WebUserControls>
<RegisterDirective FieldType="" TagPrefix="Bridor" TagName="HideButton" Src="~/Custom_BRIDOR/controlDownload.ascx" Title="Masquer bouton téléchargement">
<![CDATA[(Masquer bouton téléchargement)]]>
</RegisterDirective>
</WebUserControls>

image.png


Fichier(s) à télécharger

📎 Télécharger FormularDesigner%20(1 📎 Télécharger controlDownload.ascx