/impl/conf/directories/utilsIntranet.xml |
---|
1,6 → 1,6 |
<?xml version="1.0" encoding="UTF-8"?> |
<directory place="intranetUtils" label="Utilitários" layout="layoutIntranetUtils" layoutRoot="layoutIntranetUtils" targetRole="student" id="utilsIntranet" menuKey="intranet.separator.utils" style="styleIntranet.xsl" xmlns="http://www.estgp.pt/baco/directory/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.estgp.pt/baco/directory/ directory.xsd"> |
<leaf absolute="false" label="Home Utilitários" layout="true" proxy="zestgp" id="utils" url="/intranet/escola/utils.html"/> |
<leaf absolute="false" label="Home Utilitários" layout="true" proxy="estgp" id="utils" url="/intranet/escola/utils.html"/> |
<leaf absolute="false" label="Secretaria" layout="true" proxy="estgp" id="secretaria" url="/intranet/escola/secretaria.html"> |
<leaf label="Calendário Escolar" id="calEscolar" absolute="false" remoteExtensionRoot="true" style="true" proxy="ionline" layout="true" url="/Intranet/Escola/Secretaria/CalEscolar"/> |
<leaf label="Calendário de Exames" id="calExames" absolute="false" remoteExtensionRoot="true" style="true" proxy="ionline" layout="true" url="/Intranet/Escola/Secretaria/CalExames"/> |
/impl/conf/directories/styleIntranet.xsl |
---|
New file |
0,0 → 1,185 |
<?xml version="1.0" encoding="UTF-8"?> |
<xsl:stylesheet xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:cmPort="http://www.cm-portalegre.pt/projectos/" version="1.0" xmlns:saxon="http://saxon.sf.net/" extension-element-prefixes="saxon" xmlns:d="http://www.estgp.pt/baco/directory/" xmlns:foo="foo" xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" |
xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > |
<xsl:import href="style1.xsl"/> |
<xsl:template match="d:leaf" mode="topNav"> |
<xsl:if test="not(local-name(..) = 'directory')"> |
<div id="topnav"> |
<ul> |
<xsl:apply-templates select=".." mode="navBack"/> |
<li class="navPlace"> |
> |
<xsl:apply-templates select="." mode="label"/> |
</li> |
</ul> |
</div> |
</xsl:if> |
</xsl:template> |
<xsl:template match="d:node" mode="topNav"> |
<xsl:if test="not(local-name(..) = 'directory')"> |
<div id="topnav"> |
<ul> |
<xsl:apply-templates select=".." mode="navBack"/> |
<li class="navPlace"> |
> |
<xsl:apply-templates select="." mode="label"/> |
</li> |
</ul> |
</div> |
</xsl:if> |
</xsl:template> |
<xsl:template match="d:directory" mode="topNav"> |
</xsl:template> |
<xsl:template name="linkPrefix"> |
</xsl:template> |
<xsl:template match="d:leaf" mode="topNavRemote"> |
<div id="topnav"> |
<ul> |
<li class="navPlace"> |
<xsl:value-of select="@label"/></li> |
</ul> |
</div> |
</xsl:template> |
<xsl:template match="d:node" mode="topNavRemote"> |
<div id="topnav"> |
<ul> |
<xsl:apply-templates select=".." mode="navBackRemote"/> |
<li class="navPlace"> |
> |
<xsl:apply-templates select="." mode="label"/> |
</li> |
</ul> |
</div> |
</xsl:template> |
<xsl:template match="d:directory" mode="navBack"> |
<li class="navPlace"> |
<xsl:call-template name="homeLink"/> |
</li> |
<li class="navPlace"> |
> |
<xsl:apply-templates select="." mode="link"/> |
</li> |
</xsl:template> |
<xsl:template match="d:node" mode="navBack"> |
<xsl:if test="not(local-name(..) = 'directory')"> |
<xsl:apply-templates select=".." mode="navBack"/> |
</xsl:if> |
<li class="navPlace"> |
<xsl:if test="not(local-name(..) = 'directory')"> |
> |
</xsl:if> |
<xsl:apply-templates select="." mode="link"/> |
</li> |
</xsl:template> |
<xsl:template match="d:leaf" mode="navBack"> |
<xsl:if test="not(local-name(..) = 'directory')"> |
<xsl:apply-templates select=".." mode="navBack"/> |
</xsl:if> |
<li class="navPlace"> |
<xsl:if test="not(local-name(..) = 'directory')"> |
> |
</xsl:if> |
<xsl:apply-templates select="." mode="link"/> |
</li> |
</xsl:template> |
<xsl:template match="d:leaf" mode="navBackRemote"> |
<li class="navPlace"> |
<xsl:apply-templates select="." mode="link"/> |
</li> |
</xsl:template> |
<xsl:template match="d:node" mode="navBackRemote"> |
<xsl:apply-templates select=".." mode="navBackRemote"/> |
<li class="navPlace"> |
> |
<xsl:apply-templates select="." mode="link"/> |
</li> |
</xsl:template> |
<!-- |
=========================================================== |
| Barra de Navegação Lateral Esquerda |
=========================================================== |
--> |
<xsl:template match="d:node" mode="latNav"> |
<xsl:if test="./d:leaf or ./d:node"> |
<div class="linkMenuBlock"> |
<div class="linkMenuBlockTitle"><xsl:apply-templates select="." mode="label"/></div> |
<div class="linkLeftMenu"> |
<div class="listClean"> |
<ul id="portalMenu"> |
<xsl:for-each select="./d:node"> |
<xsl:choose> |
<xsl:when test="@id = $ACTUAL"> |
<li class="navPlace selected"> |
<xsl:apply-templates select="." mode="label"/> |
</li> |
</xsl:when> |
<xsl:otherwise> |
<li class="navPlace"> |
<xsl:apply-templates select="." mode="link"/> |
</li> |
</xsl:otherwise> |
</xsl:choose> |
</xsl:for-each> |
<xsl:for-each select="./d:leaf"> |
<li class="navPlace">...<xsl:apply-templates select="." mode="link"/></li> |
</xsl:for-each> |
</ul> |
</div> |
</div> |
</div> |
</xsl:if> |
</xsl:template> |
<xsl:template match="d:leaf" mode="latNav"> |
<xsl:if test="./d:leaf or ./d:node"> |
<div class="linkMenuBlock"> |
<div class="linkMenuBlockTitle"><xsl:apply-templates select="." mode="label"/></div> |
<div class="linkLeftMenu"> |
<div class="listClean"> |
<ul id="portalMenu"> |
<xsl:for-each select="./d:node"> |
<xsl:choose> |
<xsl:when test="@id = $ACTUAL"> |
<li class="navPlace selected"> |
<xsl:apply-templates select="." mode="label"/> |
</li> |
</xsl:when> |
<xsl:otherwise> |
<li class="navPlace"> |
<xsl:apply-templates select="." mode="link"/> |
</li> |
</xsl:otherwise> |
</xsl:choose> |
</xsl:for-each> |
<xsl:for-each select="./d:leaf"> |
<li class="navPlace"><xsl:apply-templates select="." mode="link"/></li> |
</xsl:for-each> |
</ul> |
</div> |
</div> |
</div> |
</xsl:if> |
</xsl:template> |
</xsl:stylesheet> |
/impl/conf/berserk/sd.xml |
---|
68,6 → 68,16 |
<chain name="Logger"/> |
</filterChains> |
</service> |
<service> |
<name>LoadRoleAreaUsers</name> |
<implementationClass>pt.estgp.estgweb.services.users.LoadUsersService</implementationClass> |
<description>Load user of some class</description> |
<isTransactional>true</isTransactional> |
<defaultMethod>loadRoleArea</defaultMethod> |
<filterChains> |
<chain name="Logger"/> |
</filterChains> |
</service> |
<!--URL Statistics--> |
/impl/src/java/pt/estgp/estgweb/services/users/LoadUsersService.java |
---|
56,4 → 56,20 |
return null; |
return UserView.getViews(users); |
} |
public List<UserView> loadRoleArea(String role, String area) throws ServiceException |
{ |
List<User> users = DaoFactory.getUserDaoImpl().loadRoleAreaUsers(role,area); |
if(users == null) |
return null; |
return UserView.getViews(users); |
} |
public List<UserView> load(String role) throws ServiceException |
{ |
List<User> users = DaoFactory.getUserDaoImpl().loadRoleUsers(role); |
if(users == null) |
return null; |
return UserView.getViews(users); |
} |
} |
/impl/src/java/pt/estgp/estgweb/domain/dao/impl/UserDaoImpl.java |
---|
130,6 → 130,14 |
return createCriteria().add(like("roles", "%" + role + "%")).addOrder(Order.asc("name")).list(); |
} |
public List<User> loadRoleAreaUsers(String role, String area) |
{ |
Criteria c = createCriteria().add(like("roles", "%" + role + "%")).addOrder(Order.asc("name")); |
if(area != null && area.trim().length() > 0) |
c.add(eq("mainArea",area)); |
return c.list(); |
} |
public List<User> findUsers(String textToSearch) |
{ |
return findUsers(textToSearch, null); |
/impl/src/java/pt/estgp/estgweb/web/DirLayoutController.java |
---|
271,6 → 271,10 |
request.setAttribute("path", externalFile); |
request.setAttribute("startPath", confStartPath); |
if(confStartPath == null) |
confStartPath = ""; |
if(externalFile == null) |
externalFile = ""; |
boolean isLeafButBringsNoExternalPathAfterPathInXml = confStartPath.equals(externalFile); |
if(isLeafButBringsNoExternalPathAfterPathInXml || (xml != null && xml.equals("true"))) |
{ |
/impl/src/java/pt/estgp/estgweb/web/controllers/contacts/ContactsController.java |
---|
37,11 → 37,12 |
HttpServletResponse response) |
throws Throwable, ServletException |
{ |
String area = request.getParameter("area"); |
request.setAttribute("area",area); |
IServiceManager sm = ServiceManager.getInstance(); |
String[] names = new String[]{"role"}; |
Object[] args = new Object[]{Globals.TEACHER_ROLE}; |
List<UserView> teachers = (List<UserView>) sm.execute(RequestUtils.getRequester(request, response), "LoadRoleUsers", args, names); |
String[] names = new String[]{"role","area"}; |
Object[] args = new Object[]{Globals.TEACHER_ROLE,area}; |
List<UserView> teachers = (List<UserView>) sm.execute(RequestUtils.getRequester(request, response), "LoadRoleAreaUsers", args, names); |
request.setAttribute("teachers",teachers); |
return mapping.findForward("contactTeachers"); |
} |
/impl/src/web/user/contacts/listTeachers.jsp |
---|
7,39 → 7,77 |
<%@ taglib uri="/WEB-INF/tlds/struts-tiles.tld" prefix="tiles" %> |
<%@ page contentType="text/html;charset=UTF-8" language="java" %> |
<div id="contentIntranet"> |
<div class="seccao"> |
<table class="dataTable"> |
<tr> |
<th><bean:message key="name"/></th> |
<th><bean:message key="area"/></th> |
<th><bean:message key="office"/></th> |
<th>EXT.</th> |
<th><bean:message key="email"/></th> |
</tr> |
<logic:iterate id="userView" name="teachers" type="pt.estgp.estgweb.domain.views.UserView"> |
<% |
String ce = ""; |
String ch = ""; |
String dg = ""; |
String eg = ""; |
String area = (String) request.getAttribute("area"); |
if(area != null) |
{ |
if(area.equals("ce")) |
{ |
ce="selected=\"selected\""; |
} |
else if(area.equals("ch")) |
{ |
ch="selected=\"selected\""; |
} |
else if(area.equals("dg")) |
{ |
dg="selected=\"selected\""; |
} |
else if(area.equals("eg")) |
{ |
eg="selected=\"selected\""; |
} |
} |
%> |
<form action="<%=request.getContextPath()%>/user/listTeachers.do"> |
<input type="hidden" name="dispatch" value="listTeachersAZ"/> |
<div id="contentIntranet"> |
<div class="seccao"> |
<table class="dataTable"> |
<tr> |
<td> |
${userView.name} |
</td> |
<td> |
<logic:present name="userView" property="mainArea"> |
<logic:notEmpty name="userView" property="mainArea"> |
<bean:message key="area.${userView.mainArea}"/> |
</logic:notEmpty> |
</logic:present> |
</td> |
<td> |
${userView.office} |
</td> |
<td> |
${userView.ext} |
</td> |
<td> |
${userView.username}@<%=Globals.EMAIL_LOCAL_SUFFIX%> |
</td> |
<th><bean:message key="name"/></th> |
<th> |
<select name="area" onchange="form.area.value=this.value;form.submit();"> |
<option value=""><bean:message key="area"/></option> |
<option value="ce" <%=ce%>><bean:message key="area.ce"/></option> |
<option value="ch" <%=ch%>><bean:message key="area.ch"/></option> |
<option value="dg" <%=dg%>><bean:message key="area.dg"/></option> |
<option value="eg" <%=eg%>><bean:message key="area.eg"/></option> |
</select> |
</th> |
<th><bean:message key="office"/></th> |
<th>EXT.</th> |
<th><bean:message key="email"/></th> |
</tr> |
</logic:iterate> |
</table> |
<logic:iterate id="userView" name="teachers" type="pt.estgp.estgweb.domain.views.UserView"> |
<tr> |
<td> |
${userView.name} |
</td> |
<td> |
<logic:present name="userView" property="mainArea"> |
<logic:notEmpty name="userView" property="mainArea"> |
<bean:message key="area.${userView.mainArea}"/> |
</logic:notEmpty> |
</logic:present> |
</td> |
<td> |
${userView.office} |
</td> |
<td> |
${userView.ext} |
</td> |
<td> |
${userView.username}@<%=Globals.EMAIL_LOCAL_SUFFIX%> |
</td> |
</tr> |
</logic:iterate> |
</table> |
</div> |
</div> |
</div> |
</form> |