[Share] Ocultar la opción “crear sitio”

Muy buenas a todos.

Hoy me he encontrado con la problemática de tener que quitar la opción de “crear sitios” del share para usuarios que no fueran administradores. Esto solo sirve para la versión 3.3.X, en la 3.4 lo he probado y no funciona. Os explico qué y cómo lo he hecho ante la poquísima información que hay por internet (con buenas prácticas incluidas):

Copiad los siguientes archivos:

Ruta: Alf_home\tomcat\webapps\share\WEB-INF\classes\alfresco\site-webscripts\org\alfresco\components\dashlets\

Archivos:
Todos los que comiencen por my-sites (son 4: my-sites.get.desc, my-sites.get.head.ftl, my-sites.get.html.ftl y por último my-sites.get)
Todos los que comiencen por user-welcome (los 4 correspondientes: xxx.get.desc, xxx,get.head.ftl, etc..).

Pegadlos en la siguiente ruta: Alf_home\tomcat\shared\classes\alfresco\web-extension\site-webscripts\org\alfresco\components\dashlets\

Ruta: Alf_home\tomcat\webapps\share\WEB-INF\classes\alfresco\site-webscripts\org\alfresco\components\header\

Archivos:
Todos los que comiencen por header que como en los anteriores casos, son 4: header.get.desc, header.get.head.ftl, etc…

Pegadlos en la siguiente ruta: Alf_home\tomcat\shared\classes\alfresco\web-extension\site-webscripts\org\alfresco\components\header

Abrid con un editor de texto de los tres grupos que hemos copiados los acabado en .get.html.ftl y buscad lo siguiente con el editor que utilicéis: createSite, así localizaréis la linea que hay que tocar más fácilmente. Lo que debemos hacer es encapsular la linea donde está la opción de crear el sitio, y que solo el usuario con permisos de administrador pueda hacer esa acción (y que sea visible). Para ello usaremos user.isAdmin de la siguiente forma:

header.get-html.ftl

<#if user.isAdmin>
         <ul class="create-site-menuitem">
            <li>
               <a href="#" onclick="thisHeader.showCreateSite(); return false;">${msg("header.sites.createSite")}</a>
            </li>
         </ul>
</#if>

my-sites.get.html.ftl

<#if user.isAdmin>
      <a href="#" id="${args.htmlid}-createSite-button" class="theme-color-1">${msg("link.createSite")}</a>
</#if>

user.welcome.get.html.ftl

<#if user.isAdmin>
      <div class="detail-list-item last-item">
         <h4 class="theme-color-2">${msg("header.createSite")}</h4>
         <div>${msg("text.createSite")}</div>
         <div><a id="${el}-createSite-button" href="#" class="theme-color-2">${msg("link.createSite")}</a></div>
      </div>
</#if>

Y de esta forma capamos la opción de crear sitios a los usuarios sin permisos de administrador =)

¡Un saludo!

5 pensamientos en “[Share] Ocultar la opción “crear sitio”

  1. Iván

    Muy buen artículo, justo lo que buscaba. Añadiría que (al menos en la versión 3.4.7 enterprise), para quitar el enlace “Crear sitio” de la barra superior, es necesario modificar el fichero /site-webscripts/org/alfresco/modules/header/site.get.html.ftl

    Responder

Deja un comentario