Subversion Repositories bacoAlunos

Compare Revisions

Ignore whitespace Rev 380 → Rev 381

/impl/importRoutines.xml
23,4 → 23,7
<target name="setAreas">
<java fork="true" classname="pt.estgp.estgweb.services.courses.SetUserArea" classpath="${build.dir.classes}" classpathref="pathToToolsLib"/>
</target>
<target name="setOfficeExtMainArea">
<java fork="true" classname="pt.estgp.estgweb.services.profile.SetUserAreaOfficeExtFromCSV" classpath="${build.dir.classes}" classpathref="pathToToolsLib"/>
</target>
</project>
/impl/conf/language/MessageResourcesIntranet.properties
5,7 → 5,7
################################################################################
intranet=Intranet
intranet.services=Os Meus Serviços
intranet.todo=Os Meus Afazeres
intranet.todo=As Minhas Tarefas
intranet.editable.blogs=Os Blogs Onde Posso Publicar
intranet.my.announcements=Os Anúncios Colocados por Mim
intranet.my.blogs=Os Meus Blogs
21,7 → 21,10
intranet.separator.ionline=Navegar no IOnline
intranet.separator.utils=Utilitários
intranet.separator.utils.back=Voltar aos Utilitários
intranet.separator.contacts=Contactos
 
intranet.contacts.lists=@Listas de Distribuição
intranet.contacts.labs=Laboratórios
 
intranet.my.blog.posts=Os Meus Posts
 
/impl/conf/language/MessageResources.properties
304,6 → 304,7
wait=Aguarde um instante por favor
name=Nome
targets=Papeis
office=Gabinete
bi=BI
address=Morada
zip=Código Postal
/impl/conf/WEB-INF/struts/struts-intranet.xml
38,6 → 38,17
input="page.welcome">
</action>
 
 
<action path="/user/listTeachers"
type="pt.estgp.estgweb.web.controllers.contacts.ContactsController"
scope="request"
parameter="dispatch"
validate="false">
<forward name="contactTeachers" path="page.layoutIntranetContacts.listTeachers"/>
</action>
 
 
 
</action-mappings>
 
</struts-config>
/impl/conf/WEB-INF/struts/tiles-intranet.xml
32,9 → 32,14
 
<definition name="page.separators.utils" extends="base.separators">
<put name="separator" value="6" type="string"/>
<put name="left" value="/user/utils/menu.jsp"/>
<!--<put name="left" value="/user/utils/menu.jsp"/>-->
</definition>
 
<definition name="page.separators.contacts" extends="base.separators">
<put name="separator" value="7" type="string"/>
<put name="left" value="/user/contacts/menu.jsp"/>
</definition>
 
<definition name="page.layoutIOnline.proxy.ftp" extends="base.separators">
<put name="separator" value="5" type="string"/>
<put name="body" value="/user/ftpclient/ftpclient.jsp"/>
45,6 → 50,14
<put name="body" value="/WebProxy"/>
</definition>
 
<definition name="page.layoutIntranetContacts.proxy" extends="page.separators.contacts">
<put name="body" value="/WebProxy"/>
</definition>
<definition name="page.layoutIntranetContacts.listTeachers" extends="page.separators.contacts">
<put name="body" value="/user/contacts/listTeachers.jsp"/>
</definition>
 
 
<definition name="page.layoutIntranetUtilsOrg.proxy" extends="page.layoutIntranetUtils.proxy">
<put name="topnav" value="/user/utils/topnavOrg.jsp"/>
</definition>
/impl/conf/WEB-INF/struts/struts-default.xml
60,6 → 60,7
<forward name="layout2" path="page.layout2.dir"/>
<forward name="layout3" path="page.layout3.dir"/>
<forward name="layout4" path="page.layout4.dir"/>
<forward name="layoutIntranetUtils" path="page.layoutIntranetUtils.dir"/>
<forward name="layoutPortal" path="page.layoutPortal.dir"/>
</action>
<!--Layout Forward-->
135,6 → 136,7
<forward name="courseLayoutIOnlinePresences.ftp" path="page.courseLayoutIOnlinePresences.proxy.ftp"/>
 
<forward name="layoutIntranetUtils" path="page.layoutIntranetUtils.proxy"/>
<forward name="layoutIntranetContacts" path="page.layoutIntranetContacts.proxy"/>
<forward name="layoutIntranetUtilsOrg" path="page.layoutIntranetUtilsOrg.proxy"/>
<forward name="layoutIntranetUtilsSecretaria" path="page.layoutIntranetUtilsSecretaria.proxy"/>
<forward name="layoutIntranetUtilsSecretariaConfigurable" path="page.layoutIntranetUtilsSecretariaConfigurable.proxy"/>
/impl/conf/WEB-INF/struts/tiles-default.xml
95,6 → 95,9
<definition name="page.layout4.dir" extends="base.layout4">
<put name="body" value="/DirWebProxy"/>
</definition>
<definition name="page.layoutIntranetUtils.dir" extends="page.separators.utils">
<put name="body" value="/DirWebProxy"/>
</definition>
<definition name="page.layoutPortal.dir" extends="base.layoutPortal">
<put name="body" value="/DirWebProxy"/>
</definition>
/impl/conf/app.properties
88,7 → 88,7
#server.estgp=http://localhost:8180
#estgp.encoding=ISO-8859-1
server.estgp.start.path=
server.estgp=http://www.estgp.pt/testes/nova_web
server.estgp=http://172.20.100.14:8180/static
estgp.encoding=UTF-8
estgp.proxy.host=
estgp.proxy.port=
388,3 → 388,5
area.4=ch
 
 
 
 
/impl/conf/directories/directory.xsd
8,11 → 8,15
<xs:complexType>
<xs:sequence>
<xs:element name="groupsDeclaration" type="groupDeclarationT" minOccurs="0"/>
<xs:element name="node" type="nodeT" minOccurs="0" maxOccurs="unbounded"/>
<xs:choice maxOccurs="unbounded">
<xs:element name="node" type="nodeT"/>
<xs:element name="leaf" type="leafT"/>
</xs:choice>
<xs:element name="rights" type="rightsT" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="id" type="xs:ID" use="required"/>
<xs:attribute name="label" use="required"/>
<xs:attribute name="place" use="required"/>
<xs:attribute name="style" use="required"/>
<xs:attribute name="layout" use="required"/>
<xs:attribute name="layoutRoot" use="required"/>
44,7 → 48,7
</xs:annotation>
</xs:attribute>
<xs:attribute name="type" use="optional">
<xs:annotation>
<xs:annotation>
<xs:documentation>Type of node, by default HTTP link</xs:documentation>
</xs:annotation>
<xs:simpleType>
104,6 → 108,10
<xs:documentation>Grouping purposes in styling</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="remoteExtensionRoot" type="xs:boolean" use="optional"/>
<!--
The next attributes are filled by system BACO when remoteExtensionPoint is reached
-->
<xs:attribute name="ftpDirectory" type="xs:boolean"/>
<xs:attribute name="size" use="optional">
<xs:annotation>
121,7 → 129,7
</xs:annotation>
</xs:attribute>
<xs:attribute name="visualization" use="optional">
<xs:annotation>
<xs:annotation>
<xs:documentation>Type of node, by default HTTP link</xs:documentation>
</xs:annotation>
<xs:simpleType>
131,6 → 139,7
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
<xs:complexType name="groupDeclarationT">
<xs:sequence>
/impl/conf/directories/student.xml
1,5 → 1,5
<?xml version="1.0" encoding="UTF-8"?>
<directory label="Alunos" layout="layout0" layoutRoot="layoutPortal" targetRole="student" id="student" menuKey="menu.alunos" style="style1.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">
<directory label="Alunos" place="home" layout="layout0" layoutRoot="layoutPortal" targetRole="student" id="student" menuKey="menu.alunos" style="style1.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">
<groupsDeclaration>
<group>1</group>
<group>2</group>
/impl/conf/directories/utils.xsl
10,6 → 10,7
<xsl:apply-templates select="." mode="label"/>
</a>
</xsl:template>
<xsl:template match="d:node" mode="link">
<a>
<xsl:attribute name="href">
21,7 → 22,6
<xsl:value-of select="$dirStartPath"/><xsl:apply-templates select=".." mode="linkParent"/>/<xsl:value-of select="@id"/>
</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<xsl:apply-templates select="." mode="label"/>
</a>
32,32 → 32,28
<xsl:choose>
<xsl:when test="string(@absolute)='true'">
<xsl:value-of select="@url"/>
</xsl:when>
<xsl:otherwise>
<xsl:choose>
<xsl:when test="@idPrefixSize"><xsl:value-of select="$dirStartPath"/><xsl:apply-templates select=".." mode="linkParent"/>/<xsl:value-of select="substring(@id,@idPrefixSize+1)"/></xsl:when>
<xsl:otherwise>
<xsl:choose>
<xsl:when test="./*[@ftpDirectory]"><xsl:value-of select="$dirStartPath"/><xsl:apply-templates select=".." mode="linkParent"/>/<xsl:value-of select="@id"/></xsl:when>
<xsl:otherwise><xsl:value-of select="$dirStartPath"/><xsl:apply-templates select=".." mode="linkParent"/>/<xsl:value-of select="@id"/><xsl:value-of select="@url"/></xsl:otherwise>
</xsl:choose>
</xsl:otherwise>
</xsl:choose>
</xsl:otherwise>
</xsl:when>
<xsl:when test="@idPrefixSize"><xsl:value-of select="$dirStartPath"/><xsl:apply-templates select=".." mode="linkParent"/>/<xsl:value-of select="substring(@id,@idPrefixSize+1)"/></xsl:when>
<xsl:when test="@remoteExtensionRoot='true'"><xsl:value-of select="$dirStartPath"/><xsl:apply-templates select=".." mode="linkParent"/>/<xsl:value-of select="@id"/></xsl:when>
<xsl:otherwise><xsl:value-of select="$dirStartPath"/><xsl:apply-templates select=".." mode="linkParent"/>/<xsl:value-of select="@id"/><xsl:value-of select="@url"/></xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<xsl:apply-templates select="." mode="label"/>
</a>
</xsl:template>
<xsl:template match="d:directory" mode="linkParent">/<xsl:value-of select="@id"/></xsl:template>
<xsl:template match="d:node" mode="linkParent">
<xsl:choose>
<xsl:when test="@idPrefixSize"><xsl:apply-templates select=".." mode="linkParent"/>/<xsl:value-of select="substring(@id,@idPrefixSize+1)"/></xsl:when>
<xsl:otherwise><xsl:apply-templates select=".." mode="linkParent"/>/<xsl:value-of select="@id"/></xsl:otherwise>
<xsl:otherwise><xsl:apply-templates select=".." mode="linkParent"/>/<xsl:value-of select="@id"/></xsl:otherwise>
</xsl:choose>
</xsl:template>
 
 
<xsl:template match="d:leaf" mode="linkParent">
<xsl:apply-templates select=".." mode="linkParent"/>/<xsl:value-of select="@id"/>
/impl/conf/directories/style1.xsl
682,7 → 682,7
</xsl:choose>
</xsl:for-each>
<xsl:for-each select="./d:leaf">
<li class="navPlace">...<xsl:apply-templates select="." mode="link"/></li>
<li class="navPlace"><xsl:call-template name="linkPrefix"/><xsl:apply-templates select="." mode="link"/></li>
</xsl:for-each>
</ul>
</div>
691,6 → 691,9
</xsl:if>
</xsl:template>
<xsl:template name="linkPrefix">
...
</xsl:template>
<!--
===========================================================
| Apresentar Todo o Directorio em árvore - NAO ESTA EM USO DE MOMENTO
/impl/src/java/pt/estgp/estgweb/Globals.java
5,6 → 5,8
import pt.estgp.estgweb.domain.DirectoryImpl;
 
import java.util.List;
import java.util.Map;
import java.util.HashMap;
import java.math.BigDecimal;
 
/**
27,12 → 29,24
CLASSES_ABSOLUTE_PATH = CLASSES_ABSOLUTE_PATH.substring(0,CLASSES_ABSOLUTE_PATH.length()-1);
}
 
public static List<DirectoryImpl> DIRECTORIES = null;
//place, List
public static Map<String,List<DirectoryImpl>> DIRECTORIES = new HashMap<String,List<DirectoryImpl>>();
 
static
 
 
public static List<DirectoryImpl> getDirectories(String place)
{
DirectoryService directoryService = new DirectoryService();
DIRECTORIES = directoryService.loadDirectories(CLASSES_ABSOLUTE_PATH);
 
List<DirectoryImpl> directories = DIRECTORIES.get(place);
if(directories != null)
return directories;
else
{
DirectoryService directoryService = new DirectoryService();
directories = directoryService.loadDirectories(CLASSES_ABSOLUTE_PATH,place);
DIRECTORIES.put(place,directories);
return directories;
}
}
 
/impl/src/java/pt/estgp/estgweb/services/profile/SetUserAreaOfficeExtFromCSV.java
New file
0,0 → 1,88
package pt.estgp.estgweb.services.profile;
 
import org.apache.log4j.Logger;
import org.hibernate.Query;
import pt.estgp.estgweb.services.courses.SetUserArea;
import pt.estgp.estgweb.services.expceptions.ServiceException;
import pt.estgp.estgweb.domain.Student;
import pt.estgp.estgweb.domain.Course;
import pt.estgp.estgweb.domain.Teacher;
import pt.estgp.estgweb.domain.dao.DaoFactory;
import pt.estgp.estgweb.utils.AreasBelongUtils;
import pt.estgp.estgweb.Globals;
 
import java.util.List;
import java.io.*;
 
import jomm.dao.impl.AbstractDao;
 
/**
* @author Jorge
* @date 16/Jan/2009
* @time 15:17:12
*/
public class SetUserAreaOfficeExtFromCSV
{
private static final Logger logger = Logger.getLogger(SetUserAreaOfficeExtFromCSV.class);
 
public void run() throws IOException
{
 
InputStream s = Thread.currentThread().getContextClassLoader().getResourceAsStream("pt/estgp/estgweb/services/profile/docentes.csv");
BufferedReader reader = new BufferedReader(new InputStreamReader(s));
String line;
while((line = reader.readLine())!= null)
{
String[] fields = line.split(";");
String area = fields[0];
String office = fields[1];
String ext = fields[2];
String mail = fields[3];
List<Teacher> teachers = DaoFactory.getTeacherDaoImpl().findByEmail(mail);
if(teachers == null || teachers.size() == 0)
{
logger.error("Teacher Not Found for email: "+mail);
}
else if(teachers.size()>1)
{
logger.error("Multiple Teachers Found for email: "+mail);
}
else
{
Teacher t = teachers.get(0);
logger.info("Teacher " + t.getName() + " found");
t.setOffice(office);
t.setExt(ext);
if(area.equals("C. Empresariais"))
{
t.setMainArea("ce");
}
else if(area.equals("Design"))
{
t.setMainArea("dg");
}
else if(area.equals("Engenharia"))
{
t.setMainArea("eg");
}
else if(area.equals("C. Humanas"))
{
t.setMainArea("ch");
}
else
{
logger.error("Area not found: " + mail + "->" + area);
}
}
}
reader.close();
s.close();
}
 
public static void main(String[] args) throws ServiceException, IOException
{
AbstractDao.getCurrentSession().beginTransaction();
new SetUserAreaOfficeExtFromCSV().run();
AbstractDao.getCurrentSession().getTransaction().commit();
}
}
/impl/src/java/pt/estgp/estgweb/services/profile/docentes.csv
New file
0,0 → 1,95
+Design;3.17;159;verab@estgp.pt
/impl/src/java/pt/estgp/estgweb/services/directories/DirectoryService.java
20,45 → 20,49
private static final Logger logger = Logger.getLogger(DirectoryService.class);
 
 
public List<DirectoryImpl> loadDirectories(String classesPath)
public List<DirectoryImpl> loadDirectories(String classesPath, String place)
{
List<DirectoryImpl> directories = new ArrayList<DirectoryImpl>();
String directoryResources = classesPath + "/pt/estgp/estgweb/directories";
 
if(directoryResources.startsWith("file:"))
if (directoryResources.startsWith("file:"))
{
directoryResources = directoryResources.substring("file:".length());
}
System.out.println("Using directory resources from:" + directoryResources);
File f = new File(directoryResources);
for(File dir: f.listFiles())
for (File dir : f.listFiles())
{
if(dir.getName().endsWith("xml"))
if (dir.getName().endsWith("xml"))
{
logger.info("Possible directory: " + dir.getName());
try
{
Document directoryDocument = Dom4jUtil.parse(dir);
String targetRole = directoryDocument.getRootElement().attribute("targetRole").getValue();
String id = directoryDocument.getRootElement().attribute("id").getValue();
String menuKey = directoryDocument.getRootElement().attribute("menuKey").getValue();
DirectoryImpl directory = new DirectoryImpl();
directory.setId(id);
directory.setKey(menuKey);
directory.setRole(targetRole);
directories.add(directory);
String targetPlace = directoryDocument.getRootElement().attribute("place").getValue();
if (targetPlace.equals(place))
{
String targetRole = directoryDocument.getRootElement().attribute("targetRole").getValue();
String id = directoryDocument.getRootElement().attribute("id").getValue();
String menuKey = directoryDocument.getRootElement().attribute("menuKey").getValue();
DirectoryImpl directory = new DirectoryImpl();
directory.setId(id);
directory.setKey(menuKey);
directory.setRole(targetRole);
directories.add(directory);
}
}
catch (DocumentException e)
{
logger.error("Error parsing directory " + dir.getAbsolutePath(),e);
logger.error("Error parsing directory " + dir.getAbsolutePath(), e);
}
catch (MalformedURLException e)
{
logger.error("Error parsing directory " + dir.getAbsolutePath(),e);
logger.error("Error parsing directory " + dir.getAbsolutePath(), e);
}
catch (Exception e)
{
logger.error("Error parsing directory " + dir.getAbsolutePath(),e);
logger.error("Error parsing directory " + dir.getAbsolutePath(), e);
}
}
}
/impl/src/java/pt/estgp/estgweb/domain/dao/impl/TeacherDaoImpl.java
1,10 → 1,8
package pt.estgp.estgweb.domain.dao.impl;
 
import pt.estgp.estgweb.domain.Teacher;
import pt.estgp.estgweb.domain.CourseUnit;
import pt.estgp.estgweb.domain.CourseUnitImpl;
import pt.estgp.estgweb.domain.TeacherImpl;
import pt.estgp.estgweb.domain.*;
import static org.hibernate.criterion.Restrictions.*;
import org.hibernate.criterion.Order;
import org.hibernate.exception.GenericJDBCException;
 
import java.util.List;
48,6 → 46,8
}
 
 
 
 
public List<Teacher> findByEmail(String email)
{
return createCriteria().add(or(or(or(eq("email",email),eq("outEmail",email)),eq("gmail",email)),eq("msn",email))).addOrder(Order.asc("name")).list();
}
}
/impl/src/java/pt/estgp/estgweb/domain/dao/impl/UserDaoImpl.java
192,4 → 192,9
.setFirstResult(page * maxResults);
return criteria.list();
}
 
public List<User> findByEmail(String email)
{
return createCriteria().add(or(or(or(eq("email",email),eq("outEmail",email)),eq("gmail",email)),eq("msn",email))).list();
}
}
/impl/src/java/pt/estgp/estgweb/domain/views/UserView.java
29,9 → 29,12
private int code;
private String name;
private List<String> userRoles;
private String mainArea;
private String address;
private String zip;
private String country;
private String office;
private String ext;
private String email;
private String outEmail;
private String phonenumber;
87,13 → 90,18
this.gmail=user.getGmail();
this.msn=user.getMsn();
this.scholarDegree = user.getScholarDegree();
this.office = user.getOffice();
this.ext = user.getExt();
 
if(user instanceof Teacher)
{
mainArea = ((Teacher)user).getMainArea();
code = ((Teacher)user).getSigesCode();
this.academicDegree = ((Teacher)user).getAcademicDegree();
}
else if(user instanceof Student)
{
mainArea = ((Student)user).getMainArea();
code = ((Student)user).getSigesCode();
}
}
121,21 → 129,36
user.setGmail(gmail);
user.setMsn(msn);
user.setScholarDegree(scholarDegree);
user.setOffice(office);
user.setExt(ext);
 
if(password != null && password.length() > 0)
{
user.setPassword(BytesUtils.getDigestMD5Hex(password));
}
if(user instanceof Teacher)
{
((Teacher)user).setMainArea(mainArea);
((Teacher)user).setSigesCode(code);
((Teacher)user).setAcademicDegree(academicDegree);
}
else if(user instanceof Student)
{
((Student)user).setMainArea(mainArea);
((Student)user).setSigesCode(code);
}
}
 
public String getMainArea()
{
return mainArea;
}
 
public void setMainArea(String mainArea)
{
this.mainArea = mainArea;
}
 
public String getScholarDegree()
{
return scholarDegree;
581,6 → 604,26
this.courseUnits = courseUnits;
}
 
public String getOffice()
{
return office;
}
 
public void setOffice(String office)
{
this.office = office;
}
 
public String getExt()
{
return ext;
}
 
public void setExt(String ext)
{
this.ext = ext;
}
 
// public List<Course> getCourses()
// {
// if(courses == null)
/impl/src/java/pt/estgp/estgweb/web/UserSessionProxy.java
56,7 → 56,6
IServiceManager sm = ServiceManager.getInstance();
Object[] args = new Object[]{RequestUtils.getRequester(request, response)};
UserSession userSession = (UserSession) sm.execute(RequestUtils.getRequester(request, response),"LoadUserSession",args);
userSession.setRequest(request);
request.setAttribute(Globals.USER_SESSION_KEY,userSession);
return userSession;
}
/impl/src/java/pt/estgp/estgweb/web/controllers/contacts/ContactsController.java
New file
0,0 → 1,49
package pt.estgp.estgweb.web.controllers.contacts;
 
import pt.estgp.estgweb.web.controllers.ApplicationDispatchController;
import pt.estgp.estgweb.web.controllers.utils.UtilsController;
import pt.estgp.estgweb.web.utils.RequestUtils;
import pt.estgp.estgweb.domain.views.AnnouncementView;
import pt.estgp.estgweb.domain.views.UserView;
import pt.estgp.estgweb.Globals;
import pt.utl.ist.berserk.logic.serviceManager.IServiceManager;
import pt.utl.ist.berserk.logic.serviceManager.ServiceManager;
import org.apache.log4j.Logger;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionForm;
 
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletException;
import java.util.List;
 
/**
* @author Jorge Machado
* @author Fabio Velez
* @date 26/Fev/2008
* @time 18:01:54
* @see pt.estgp.estgweb.web
*/
public class ContactsController extends ApplicationDispatchController
{
private static final Logger logger = Logger.getLogger(ContactsController.class);
 
 
public ActionForward listTeachersAZ(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Throwable, ServletException
{
 
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);
request.setAttribute("teachers",teachers);
return mapping.findForward("contactTeachers");
}
 
}
/impl/src/hbm/pt/estgp/estgweb/domain/GenericUser.hbm.xml
34,6 → 34,8
<property name="address" type="text"/>
<property name="zip" type="string"/>
<property name="country" type="string"/>
<property name="office" type="string"/>
<property name="ext" type="string"/>
<property name="outEmail" type="string"/>
<property name="phonenumber" type="string"/>
<property name="sex" type="string"/>
77,6 → 79,7
<meta attribute="scope-class">public abstract</meta>
<property name="sigesCode" type="int"/>
<property name="areasBelong" type="string" index="areasBelongIndex"/>
<property name="mainArea" type="string" index="mainAreaIndex"/>
<property name="userNameNetpa" type="string"/>
<subclass name="pt.estgp.estgweb.domain.SigesUserImpl">
<subclass name="pt.estgp.estgweb.domain.Student">
/impl/src/web/admin/profile/profilePersonalData.jsp
130,6 → 130,20
</logic:present>
</td>
</tr>
<tr>
<th>
<bean:message key="area"/>
</th>
<td>
<html:select property="userView.mainArea">
<option value=""></option>
<html:option value="ce" key="area.ce"/>
<html:option value="ch" key="area.ch"/>
<html:option value="dg" key="area.dg"/>
<html:option value="eg" key="area.eg"/>
</html:select>
</td>
</tr>
</baco:isAdmin>
<baco:hasNotRole role="teacher">
<tr>
202,6 → 216,26
<html:text styleClass="text" property="userView.zip" maxlength="8"/>
</td>
</tr>
<baco:hasNotRole role="student">
<baco:isAdmin>
<tr>
<th>
<bean:message key="office"/>
</th>
<td>
<html:text styleClass="text" property="userView.office" maxlength="10"/>
</td>
</tr>
<tr>
<th>
EXT. (<bean:message key="phone.number"/>)
</th>
<td>
<html:text styleClass="text" property="userView.ext" maxlength="10"/>
</td>
</tr>
</baco:isAdmin>
</baco:hasNotRole>
<%--<tr>--%>
<%--<th>--%>
<%--<bean:message key="country"/>--%>
/impl/src/web/css/style.css
236,7 → 236,7
padding:10px;
}
 
#contentPane .seccao
#contentPane .seccao, .blocked
{
border: #8EC73F solid 1px;
padding:10px;
/impl/src/web/js/ajax.js
198,24 → 198,28
var xmlHttpTopFlashNews;
var getFlashNewsTimeout;
var getFlashNewsJsp;
var semaphoreFlashNews = 0;
 
function getFlashNews(jsp,timeout)
{
getFlashNewsJsp = jsp;
getFlashNewsTimeout = timeout;
semaphoreFlashNews = 1;
getFlashNewsTimeoutCall();
}
function getFlashNewsTimeoutCall()
{
xmlHttpTopFlashNews=GetXmlHttpObject(stateChangedGetFlashNews);
semaphoreFlashNews = 1;
startRequest(xmlHttpTopFlashNews,"","flashTopNews",stateChangedGetFlashNews,"",getFlashNewsJsp)
}
function stateChangedGetFlashNews()
{
if (xmlHttpTopFlashNews.readyState==4 || xmlHttpTopFlashNews.readyState=="complete")
if (semaphoreFlashNews == 1 && (xmlHttpTopFlashNews.readyState==4 || xmlHttpTopFlashNews.readyState=="complete"))
{
getObjectById("flashTopNews").innerHTML=xmlHttpTopFlashNews.responseText;
setTimeout(getFlashNewsTimeoutCall,getFlashNewsTimeout);
semaphoreFlashNews = 0;
}
}
 
267,6 → 271,7
 
var activeRemindersCounter = 0;
var expiredRemindersCounter = 0;
var semaphoreReminder = 0;
 
function setActiveReminders(active)
{
286,16 → 291,24
 
function putReminder(startDate,expireDate,text,newReminderDiv,msgDiv,reminderFormDiv,action,waitMsg,okMsg,failMsg)
{
newReminderId = newReminderDiv;
reminderFormId = reminderFormDiv;
putMsgId = msgDiv;
putOkMsg = okMsg;
putFailMsg = failMsg;
getObjectById(putMsgId).innerHTML = waitMsg;
xmlHttpReminder=GetXmlHttpObject(stateChangedPutReminderCall);
startRequest(xmlHttpReminder,"dispatch=save&startDate="+startDate+"&expireDate="+expireDate+"&reminderView.text="+ text,"",stateChangedPutReminderCall,"",action);
if(semaphoreReminder == 1)
{
getObjectById(putMsgId).innerHTML = "<div class=\"messages\">busy...</div>";
}
else
{
semaphoreReminder = 1;
newReminderId = newReminderDiv;
reminderFormId = reminderFormDiv;
putMsgId = msgDiv;
putOkMsg = okMsg;
putFailMsg = failMsg;
getObjectById(putMsgId).innerHTML = waitMsg;
xmlHttpReminder=GetXmlHttpObject(stateChangedPutReminderCall);
startRequest(xmlHttpReminder,"dispatch=save&startDate="+startDate+"&expireDate="+expireDate+"&reminderView.text="+ text,"",stateChangedPutReminderCall,"",action);
// hideOne(reminderFormId);
showOne(putMsgId);
showOne(putMsgId);
}
}
function stateChangedPutReminderCall()
{
305,8 → 318,9
{
getObjectById(putMsgId).innerHTML = xmlHttpReminder.responseText;
}
else
else if(semaphoreReminder == 1)
{
semaphoreReminder = 0;
getObjectById(putMsgId).innerHTML = '<div class="statusOK">' + putOkMsg + '</div>';
activeRemindersCounter = activeRemindersCounter + 1;
showOne('activeReminders');
/impl/src/web/layout/navigationLeftMenu.jsp
36,7 → 36,7
<div class="listClean">
<ul>
<%
for (DirectoryImpl directory: Globals.DIRECTORIES)
for (DirectoryImpl directory: Globals.getDirectories("home"))
{
request.setAttribute("dir",directory);
%>
/impl/src/web/layout/separators.jsp
26,6 → 26,7
String sep4 = "";
String sep5 = "";
String sep6 = "";
String sep7 = "";
 
String link0 = "href=\"" + request.getContextPath() + "/Welcome.do\"";
String link1 = "href=\"" + request.getContextPath() + "/user/startHome.do\"";
34,6 → 35,7
String link4 = "href=\"" + request.getContextPath() + "/user/startServiceZone.do\"";
String link5 = "href=\"" + request.getContextPath() + "/proxy/layoutIOnline/ionline/\"";
String link6 = "href=\"" + request.getContextPath() + "/proxy/layoutIntranetUtils/estgp/intranet/escola/utils.html\"";
String link7 = "href=\"" + request.getContextPath() + "/proxy/layoutIntranetContacts/estgp/intranet/contactos/servicos.html\"";
 
if(sep == 0)
{
70,6 → 72,11
link6 = "";
sep6 ="class=\"selected\"";
}
else if(sep == 7)
{
link7 = "";
sep7 ="class=\"selected\"";
}
 
 
 
81,6 → 88,7
<li <%=sep3%>><a <%=link3%>><span><bean:message key="intranet.separator.profile"/></span></a></li>
<li <%=sep4%>><a <%=link4%>><span><bean:message key="intranet.separator.service.zone"/></span></a></li>
<li <%=sep5%>><a <%=link5%>><span><bean:message key="intranet.separator.ionline"/></span></a></li>
<li <%=sep7%>><a <%=link7%>><span><bean:message key="intranet.separator.contacts"/></span></a></li>
<li <%=sep6%>><a <%=link6%>><span><bean:message key="intranet.separator.utils"/></span></a></li>
</ul>
</div>
/impl/src/web/templates/intranet/contactos/servicos.html
New file
0,0 → 1,185
<div id="contentIntranet">
<h1>Serviços</h1>
 
<div class="seccao blocked">
<h2>Recepção e Telefonista</h2>
 
<table class="dataTable">
<tr>
<th></th><th>Extensão</th>
</tr>
<tr>
<th>Telefonista</th><td>100</td>
</tr>
<tr>
<th>Recepção</th><td>108</td>
</tr>
</table>
</div>
 
 
<div class="seccao blocked">
<h2>Conselho Directivo</h2>
 
<table class="dataTable">
<tr>
<th></th><th>Extensão</th><th>Email</th>
</tr>
<tr>
<th>Geral</th><td></td><td>info.cd@estgp.pt</td>
</tr>
<tr>
<th>Artur Romão</th><td>120</td><td>romao@estgp.pt</td>
</tr>
<tr>
<th>Paulo Sérgio Brito</th><td>123</td><td>pbrito@estgp.pt</td>
</tr>
<tr>
<th>Helena Freire Cameron</th><td>125</td><td>helenac@estgp.pt</td>
</tr>
</table>
 
<h2>Secretário</h2>
 
<table class="dataTable">
<tr>
<th></th><th>Extensão</th><th>Email</th>
</tr>
<tr>
<th>Francisco António Morais</th><td>127</td><td>fmorais@estgp.pt</td>
</tr>
</table>
</div>
 
 
 
 
<div class="seccao blocked">
<h2>Serviços Administrativos</h2>
<table class="dataTable">
<tr>
<th></th><th>Extensão</th><th>Email</th>
</tr>
<tr>
<th>Secretaria - Geral</th><td></td><td>info.secretaria@estgp.pt</td>
</tr>
<tr>
<th>Ana Maria Andrade Reia Borralho Ventura</th><td>129</td><td>anaventura@estgp.pt</td>
</tr>
<tr>
<th>Celeste Maria Bugia Pinheiro Filipe</th><td>135</td><td>pfilipe@estgp.pt</td>
</tr>
<tr>
<th>Cristina Maria Baptista Ribeiro</th><td>136</td><td>crnabais@estgp.pt</td>
</tr>
<tr>
<th>Dinis Manuel Polainas Martins</th><td>131</td><td>dinismar@estgp.pt</td>
</tr>
<tr>
<th>João José Romão</th><td>137</td><td>jromao@estgp.pt</td>
</tr>
<tr>
<th>José Luís Diabinho Baptista</th><td>138</td><td>joseluis@estgp.pt</td>
</tr>
<tr>
<th>Maria da Conceição Real Laranjo</th><td>128</td><td>claranjo@estgp.pt</td>
</tr>
<tr>
<th>Maria José Alegria Martins</th><td>122</td><td>mjm@estgp.pt</td>
</tr>
<tr>
<th>Olívia Rovisco Mourato</th><td>122</td><td>olivia@estgp.pt</td>
</tr>
<tr>
<th>Orlanda dos Anjos Ceia Trindade Moreira</th><td>128</td><td>orlanda@estgp.pt</td>
</tr>
<tr>
<th>Paula Alexandra Borba Roque</th><td>132</td><td>paula@estgp.pt</td>
</tr>
</table>
</div>
 
 
 
<div class="seccao blocked">
<h2>Biblioteca</h2>
<table class="dataTable">
<tr>
<th></th><th>Extensão</th><th>Email</th>
</tr>
<tr>
<th>Biblioteca</th><td>192</td><td>biblioteca@estgp.pt</td>
</tr>
<tr>
<th>Serviço de Informação</th><td></td><td>info.bib@estgp.pt</td>
</tr>
<tr>
<th>Serviço de Empréstimo</th><td>192</td><td>bibemprestimo@estgp.pttd>
</tr>
<tr>
<th>Carla Maria Moura Serra Maças da Silva</th><td>192</td><td>carlasil@estgp.pt</td>
</tr>
<tr>
<th>Maria Alice Aurélio Vaz de Carvalho Alves</th><td>192</td><td>alice@estgp.pt</td>
</tr>
<tr>
<th>Maria Catarina Barradas Martins</th><td>192</td><td>catarina@estgp.pt</td>
</tr>
<tr>
<th>Maria José Antunes Carrilho Basso Pereira</th><td>192</td><td>zezinhap@estgp.pt</td>
</tr>
</table>
</div>
 
 
 
<div class="seccao blocked">
<h2>Centro Informático</h2>
<table class="dataTable">
<tr>
<th></th><th>Extensão</th><th>Email</th>
</tr>
<tr>
<th>Geral</th><td>103</td><td>ci@estgp.pt</td>
</tr>
<tr>
<th>Hugo Filipe Azeitona Mão de Ferro</th><td></td><td>hugoferro@estgp.pt</td>
</tr>
<tr>
<th>Jaime João Caldeira dos Santos</th><td>192</td><td>jjsantos@estgp.pt</td>
</tr>
<tr>
<th>Luis Miguel Barbas Rosado</th><td>192</td><td>lrosado@estgp.pt</td>
</tr>
</table>
</div>
 
 
<div class="seccao blocked">
<h2>Reprografia</h2>
<table class="dataTable">
<tr>
<th></th><th>Extensão</th>
</tr>
<tr>
<th>Graciela Rosalina Ventura Pires</th><td>195</td>
</tr>
</table>
</div>
 
<div class="seccao blocked">
<h2>Gabinete de Comunicação</h2>
<table class="dataTable">
<tr>
<th></th><th>Extensão</th><th>Email</th>
</tr>
<tr>
<th>Pedro Miguel Ribeiro Ranheta</th><td>203</td><td>pedro.ranheta@estgp.pt</td>
</tr>
<tr>
<th>Maria Catarina Pereira de Matos</th><td>203</td><td>catarinap.matos@estgp.pt</td>
</tr>
</table>
</div>
</div>
/impl/src/web/templates/intranet/contactos/mail.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+ application/octet-stream
/impl/src/web/templates/intranet/contactos/laboratorios.html
New file
0,0 → 1,82
 
<div id="contentIntranet">
<h1>Laboratórios</h1>
 
<div class="seccao blocked">
<h2>Piso 0</h2>
 
<table class="dataTable">
<tr>
<th>Nome do Laboratório</th><th>Responsável do Laboratório</th><th>Extensão</th>
</tr>
<tr>
<th>Laboratório de Tecnologia Industrial</th><td>Eliomar Camerom</td><td>---</td>
</tr>
<tr>
<th>Oficinas</th><td>José Sousa</td><td>101</td>
</tr>
<tr>
<th>Laboratório de Engenharia Civil</th><td>Pedro Lopes</td><td>202</td>
</tr>
</table>
</div>
 
<div class="seccao blocked">
<h2>Piso 1</h2>
 
<table class="dataTable">
<tr>
<th>Nome do Laboratório</th><th>Responsável do Laboratório</th><th>Extensão</th>
</tr>
<tr>
<th>Laboratório Química</th><td>Rute Pires</td><td>111</td>
</tr>
<tr>
<th>Laboratório Física</th><td>Mário Santos</td><td>---</td>
</tr>
<tr>
<th>Laboratórios de Serigrafia</th><td>Luís Oliveira</td><td>103</td>
</tr>
<tr>
<th>Laboratório Edição Electrónica</th><td>Moisés Coelho</td><td>115</td>
</tr>
<tr>
<th>Laboratório de Informática 1.08</th><td>Secundino Lopes</td><td>117</td>
</tr>
<tr>
<th>Laboratório de Informática E1.2</th><td>Luís Baptista</td><td>222</td>
</tr>
<tr>
<th>Laboratório de Informática E1.3</th><td>Valentim Realinho</td><td>223</td>
</tr>
<tr>
<th>Laboratório de Multimédia</th><td>Luís Baptista</td><td>119</td>
</tr>
<tr>
<th>Laboratório de Fotografia</th><td>Luís Vintém</td><td>---</td>
</tr>
<tr>
<th>Régie/ Gabinete de Comunicação</th><td>Pedro Ranheta</td><td>207</td>
</tr>
<tr>
<th>Laboratório de Electricidade</th><td>Sérgio Correia</td><td>205</td>
</tr>
</table>
</div>
 
 
<div class="seccao blocked">
<h2>Piso 2</h2>
 
<table class="dataTable">
<tr>
<th>Nome do Laboratório</th><th>Responsável do Laboratório</th><th>Extensão</th>
</tr>
<tr>
<th>Laboratório de Línguas</th><td>Margarida Coelho</td><td>---</td>
</tr>
</table>
</div>
</div>
 
 
/impl/src/web/templates/intranet/contactos/distLists.html
New file
0,0 → 1,324
<div id="contentIntranet">
<h1>Listas de Distribuição</h1>
<div class="seccao">
<font color="#000080" face="Verdana" size="2">&nbsp;</font><font color="#000080" face="Verdana" size="1">Listas
de distribuição para os utilizadores do webmail da Escola</font>
<table border="0" width="100%" cellspacing="1" cellpadding="0">
<tr>
<td width="100%"><img border="0" alt="emails" src="mail.jpg" width="600" height="54"></td>
</tr>
</table>
<table class="dataTable">
<tr>
<td>
<table>
<tr>
<th>Endereço</th>
<th>Descrição</th>
<th>Docentes</th>
<th>Alunos</th>
<th>Serviços</th>
</tr>
<tr>
<td width="633" bgcolor="#FFFFFF" colspan="5" height="18"><b><font face="Verdana" size="1">Listas de distribuição de
Docentes</font></b><font face="Verdana" size="1"><b>.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Permissões
de acesso/utilização</b></font></td>
</tr>
<tr>
<td width="164" height="24" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">docentes.estg@estgp.pt</font></td>
<td width="242" align="justify" height="24" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Permite
enviar um mail para todos os Docentes que utilizam o WebMail da
Escola</font></td>
<td width="82" align="center" height="24" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Sim**</font></td>
<td width="66" align="center" height="24" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Não</font></td>
<td width="79" align="center" height="24" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Não</font></td>
</tr>
<tr>
<td width="164" height="36" style="border-bottom: 1 solid #C0C0C0">
<font face="Verdana" size="1">docentes.ce@estgp.pt</font></td>
<td width="242" align="justify" height="36" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Permite
enviar um mail para todos os docentes da Área de Ciências
Empresariais.</font></td>
<td width="82" align="center" height="36" style="border-bottom: 1 solid #C0C0C0">
<font face="Verdana" size="1">Sim**</font></td>
<td width="66" align="center" height="36" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Não</font></td>
<td width="79" align="center" height="36" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Sim</font></td>
</tr>
<tr>
<td width="164" height="24" style="border-bottom: 1 solid #C0C0C0">
<font face="Verdana" size="1">docentes.eng@estgp.pt</font></td>
<td width="242" align="justify" height="24" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Permite
enviar um mail para todos os docentes da Área de Engenharia.</font></td>
<td width="82" align="center" height="24" style="border-bottom: 1 solid #C0C0C0">
<font face="Verdana" size="1">Sim**</font></td>
<td width="66" align="center" height="24" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Não</font></td>
<td width="79" align="center" height="24" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Sim</font></td>
</tr>
<tr>
<td width="164" height="24" style="border-bottom: 1 solid #C0C0C0">
<font face="Verdana" size="1">docentes.civil@estgp.pt</font></td>
<td width="242" align="justify" height="24" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Permite
enviar um mail para todos os docentes do Grupo Disciplinar de
Civil.</font></td>
<td width="82" align="center" height="24" style="border-bottom: 1 solid #C0C0C0">
<font face="Verdana" size="1">Sim**</font></td>
<td width="66" align="center" height="24" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Não</font></td>
<td width="79" align="center" height="24" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Sim</font></td>
</tr>
<tr>
<td width="164" height="36" style="border-bottom: 1 solid #C0C0C0">
<font face="Verdana" size="1">docentes.elect@estgp.pt</font></td>
<td width="242" align="justify" height="36" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Permite
enviar um mail para todos os docentes do Grupo Disciplinar de
Electricidade/Electrónica.</font></td>
<td width="82" align="center" height="36" style="border-bottom: 1 solid #C0C0C0">
<font face="Verdana" size="1">Sim**</font></td>
<td width="66" align="center" height="36" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Não</font></td>
<td width="79" align="center" height="36" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Sim</font></td>
</tr>
<tr>
<td width="164" height="24" style="border-bottom: 1 solid #C0C0C0">
<font face="Verdana" size="1">docentes.fisica@estgp.pt</font></td>
<td width="242" align="justify" height="24" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Permite
enviar um mail para todos os docentes do Grupo Disciplinar de
Física.</font></td>
<td width="82" align="center" height="24" style="border-bottom: 1 solid #C0C0C0">
<font face="Verdana" size="1">Sim**</font></td>
<td width="66" align="center" height="24" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Não</font></td>
<td width="79" align="center" height="24" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Sim</font></td>
</tr>
<tr>
<td width="164" height="24" style="border-bottom: 1 solid #C0C0C0">
<font face="Verdana" size="1">docentes.quimica@estgp.pt</font></td>
<td width="242" align="justify" height="24" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Permite
enviar um mail para todos os docentes do Grupo Disciplinar de
Química.</font></td>
<td width="82" align="center" height="24" style="border-bottom: 1 solid #C0C0C0">
<font face="Verdana" size="1">Sim**</font></td>
<td width="66" align="center" height="24" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Não</font></td>
<td width="79" align="center" height="24" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Sim</font></td>
</tr>
<tr>
<td width="164" height="36" style="border-bottom: 1 solid #C0C0C0">
<font face="Verdana" size="1">docentes.mat@estgp.pt</font></td>
<td width="242" align="justify" height="36" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Permite
enviar um mail para todos os docentes do Grupo Disciplinar de
Matemática.</font></td>
<td width="82" align="center" height="36" style="border-bottom: 1 solid #C0C0C0">
<font face="Verdana" size="1">Sim**</font></td>
<td width="66" align="center" height="36" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Não</font></td>
<td width="79" align="center" height="36" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Sim</font></td>
</tr>
<tr>
<td width="164" height="24" style="border-bottom: 1 solid #C0C0C0">
<font face="Verdana" size="1">docentes.gestao@estgp.pt</font></td>
<td width="242" align="justify" height="24" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Permite
enviar um mail para todos os docentes do Grupo Disciplinar de
Gestão.</font></td>
<td width="82" align="center" height="24" style="border-bottom: 1 solid #C0C0C0">
<font face="Verdana" size="1">Sim**</font></td>
<td width="66" align="center" height="24" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Não</font></td>
<td width="79" align="center" height="24" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Sim</font></td>
</tr>
<tr>
<td width="633" colspan="5" height="21" style="border-bottom: 1 solid #C0C0C0">&nbsp;
<p><b><font face="Verdana" size="1">Listas de distribuição de Alunos</font></b></p>
</td>
</tr>
<tr>
<td width="164" height="24" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">alunos.estg@estgp.pt</font></td>
<td width="242" height="24" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Permite
enviar um mail para todos os Alunos que utilizam o WebMail da
Escola</font></td>
<td width="82" align="center" height="24" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Não</font></td>
<td width="66" align="center" height="24" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Não*</font></td>
<td width="79" align="center" height="24" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Sim</font></td>
</tr>
<tr>
<td width="164" height="60" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">alunosAA1@estgp.pt<br>
alunosAA2@estgp.pt<br>
alunosAA3@estgp.pt<br>
alunosAA4@estgp.pt<br>
alunosAAF@estgp.pt</font></td>
<td width="242" height="60" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Permite
enviar um mail para cada um dos anos que constituem o curso de
Assessoria de Administração. </font></td>
<td width="82" align="center" height="60" style="border-bottom: 1 solid #C0C0C0">
<font face="Verdana" size="1">Sim</font></td>
<td width="66" align="center" height="60" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Não*</font></td>
<td width="79" align="center" height="60" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Sim</font></td>
</tr>
<tr>
<td width="164" height="60" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">alunosCT1@estgp.pt<br>
alunosCT2@estgp.pt<br>
alunosCT3@estgp.pt<br>
alunosCT4@estgp.pt<br>
alunosCTF@estgp.pt</font></td>
<td width="242" height="60" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Permite
enviar um mail para cada um dos anos que constituem o curso de
Contabilidade. </font></td>
<td width="82" align="center" height="60" style="border-bottom: 1 solid #C0C0C0">
<font face="Verdana" size="1">Sim</font></td>
<td width="66" align="center" height="60" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Não*</font></td>
<td width="79" align="center" height="60" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Sim</font></td>
</tr>
<tr>
<td width="164" height="60" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">alunosGE1@estgp.pt<br>
alunosGE2@estgp.pt<br>
alunosGE3@estgp.pt<br>
alunosGE4@estgp.pt<br>
alunosGEF@estgp.pt</font></td>
<td width="242" height="60" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Permite
enviar um mail para cada um dos anos que constituem o curso de
Gestão Empresarial. </font></td>
<td width="82" align="center" height="60" style="border-bottom: 1 solid #C0C0C0">
<font face="Verdana" size="1">Sim</font></td>
<td width="66" align="center" height="60" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Não*</font></td>
<td width="79" align="center" height="60" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Sim</font></td>
</tr>
<tr>
<td width="164" height="72" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">alunosDC1@estgp.pt<br>
alunosDC2@estgp.pt<br>
alunosDC3@estgp.pt<br>
alunosDC4@estgp.pt<br>
alunosDC5@estgp.pt<br>
alunosDCF@estgp.pt</font></td>
<td width="242" height="72" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Permite
enviar um mail para cada um dos anos que constituem o curso de
Design da Comunicação. </font></td>
<td width="82" align="center" height="72" style="border-bottom: 1 solid #C0C0C0">
<font face="Verdana" size="1">Sim</font></td>
<td width="66" align="center" height="72" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Não*</font></td>
<td width="79" align="center" height="72" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Sim</font></td>
</tr>
<tr>
<td width="164" height="72" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">alunosDCTG1@estgp.pt<br>
alunosDCTG2@estgp.pt<br>
alunosDCTG3@estgp.pt<br>
alunosDCTG4@estgp.pt<br>
alunosDCTG5@estgp.pt<br>
alunosDCTGF@estgp.pt</font></td>
<td width="242" height="72" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Permite
enviar um mail para cada um dos anos que constituem o curso de
Design da Comunicação e Técnicas Gráficas. </font></td>
<td width="82" align="center" height="72" style="border-bottom: 1 solid #C0C0C0">
<font face="Verdana" size="1">Sim</font></td>
<td width="66" align="center" height="72" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Não*</font></td>
<td width="79" align="center" height="72" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Sim</font></td>
</tr>
<tr>
<td width="164" height="60" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">alunosMKT1@estgp.pt<br>
alunosMKT2@estgp.pt<br>
alunosMKT3@estgp.pt<br>
alunosMKT4@estgp.pt<br>
alunosMKTF@estgp.pt</font></td>
<td width="242" height="60" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Permite
enviar um mail para cada um dos anos que constituem o curso de
Marketing. </font></td>
<td width="82" align="center" height="60" style="border-bottom: 1 solid #C0C0C0">
<font face="Verdana" size="1">Sim</font></td>
<td width="66" align="center" height="60" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Não*</font></td>
<td width="79" align="center" height="60" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Sim</font></td>
</tr>
<tr>
<td width="164" height="72" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">alunosEC1@estgp.pt<br>
alunosEC2@estgp.pt<br>
alunosEC3@estgp.pt<br>
alunosEC4@estgp.pt<br>
alunosEC5@estgp.pt<br>
alunosECF@estgp.pt</font></td>
<td width="242" height="72" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Permite
enviar um mail para cada um dos anos que constituem o curso de
Engenharia Civil. </font></td>
<td width="82" align="center" height="72" style="border-bottom: 1 solid #C0C0C0">
<font face="Verdana" size="1">Sim</font></td>
<td width="66" align="center" height="72" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Não*</font></td>
<td width="79" align="center" height="72" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Sim</font></td>
</tr>
<tr>
<td width="164" height="72" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">alunosEEM1@estgp.pt<br>
alunosEEM2@estgp.pt<br>
alunosEEM3@estgp.pt<br>
alunosEEM4@estgp.pt<br>
alunosEEM5@estgp.pt<br>
alunosEEMF@estgp.pt</font></td>
<td width="242" height="72" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Permite
enviar um mail para cada um dos anos que constituem o curso de
Engenharia Electromecânica. </font></td>
<td width="82" align="center" height="72" style="border-bottom: 1 solid #C0C0C0">
<font face="Verdana" size="1">Sim</font></td>
<td width="66" align="center" height="72" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Não*</font></td>
<td width="79" align="center" height="72" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Sim</font></td>
</tr>
<tr>
<td width="164" height="72" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">alunosEIQ1@estgp.pt<br>
alunosEIQ2@estgp.pt<br>
alunosEIQ3@estgp.pt<br>
alunosEIQ4@estgp.pt<br>
alunosEIQ5@estgp.pt<br>
alunosEIQF@estgp.pt</font></td>
<td width="242" height="72" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Permite
enviar um mail para cada um dos anos que constituem o curso de
Engenharia Industrial e da Qualidade. </font></td>
<td width="82" align="center" height="72" style="border-bottom: 1 solid #C0C0C0">
<font face="Verdana" size="1">Sim</font></td>
<td width="66" align="center" height="72" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Não*</font></td>
<td width="79" align="center" height="72" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Sim</font></td>
</tr>
<tr>
<td width="164" height="72" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">alunosEI1@estgp.pt<br>
alunosEI2@estgp.pt<br>
alunosEI3@estgp.pt<br>
alunosEI4@estgp.pt<br>
alunosEI5@estgp.pt<br>
alunosEIF@estgp.pt</font></td>
<td width="242" height="72" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Permite
enviar um mail para cada um dos anos que constituem o curso de
Engenharia Informática. </font></td>
<td width="82" align="center" height="72" style="border-bottom: 1 solid #C0C0C0">
<font face="Verdana" size="1">Sim</font></td>
<td width="66" align="center" height="72" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Não*</font></td>
<td width="79" align="center" height="72" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Sim</font></td>
</tr>
<tr>
<td width="633" bgcolor="#FFFFFF" colspan="5" height="21" style="border-bottom: 1 solid #C0C0C0">&nbsp;
<p><b>
<font face="Verdana" size="1">:: Listas de distribuição de
Funcionários</font></b></p>
</td>
</tr>
<tr>
<td width="164" height="36" style="border-bottom: 1 solid #C0C0C0">
<font face="Verdana" size="1">funcionarios.estg@estgp.pt</font></td>
<td width="242" align="justify" height="36" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Permite
enviar um mail para todos os funcionários.</font></td>
<td width="82" align="center" height="36" style="border-bottom: 1 solid #C0C0C0">
<font face="Verdana" size="1">Sim</font></td>
<td width="66" align="center" height="36" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Não</font></td>
<td width="79" align="center" height="36" style="border-bottom: 1 solid #C0C0C0"><font face="Verdana" size="1">Sim</font></td>
</tr>
<tr>
<td width="164" bgcolor="#FFFFFF" height="36" style="border-bottom: 1 solid #C0C0C0">&nbsp;</td>
<td width="242" bgcolor="#FFFFFF" align="justify" height="36" style="border-bottom: 1 solid #C0C0C0">&nbsp;</td>
<td width="82" align="center" bgcolor="#FFFFFF" height="36" style="border-bottom: 1 solid #C0C0C0">&nbsp;</td>
<td width="66" align="center" bgcolor="#FFFFFF" height="36" style="border-bottom: 1 solid #C0C0C0">&nbsp;</td>
<td width="79" align="center" bgcolor="#FFFFFF" height="36" style="border-bottom: 1 solid #C0C0C0">&nbsp;</td>
</tr>
<tr>
<td width="633" bgcolor="#FFFFFF" colspan="5" height="12">
<font face="Verdana" size="1">* Só através do email da Associação
de Estudantes</font></td>
</tr>
<tr>
<td width="633" bgcolor="#FFFFFF" colspan="5" height="12">
<font face="Verdana" size="1">** Só os docentes que pertencem à
área ou grupo disciplinar.</font></td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</div>
/impl/src/web/user/contacts/menu.jsp
New file
0,0 → 1,28
<%@ taglib uri="/WEB-INF/tlds/baco.tld" prefix="baco" %>
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/tlds/struts-nested.tld" prefix="nested" %>
<%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/tlds/struts-tiles.tld" prefix="tiles" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<div class="linkMenuBlock">
<div class="linkMenuBlockTitle"><bean:message key="intranet.separator.contacts"/></div>
<div class="linkLeftMenu">
<div class="listClean">
<ul>
<li>
<a href="<%=request.getContextPath()%>/proxy/layoutIntranetContacts/estgp/intranet/contactos/servicos.html"><bean:message key="services"/></a>
</li>
<li>
<html:link action="/user/listTeachers?dispatch=listTeachersAZ"><bean:message key="menu.docentes"/></html:link>
</li>
<li>
<a href="<%=request.getContextPath()%>/proxy/layoutIntranetContacts/estgp/intranet/contactos/laboratorios.html"><bean:message key="intranet.contacts.labs"/></a>
</li>
<li>
<a href="<%=request.getContextPath()%>/proxy/layoutIntranetContacts/estgp/intranet/contactos/distLists.html"><bean:message key="intranet.contacts.lists"/></a>
</li>
</ul>
</div>
</div>
</div>
/impl/src/web/user/contacts/listTeachers.jsp
New file
0,0 → 1,43
<%@ page import="pt.estgp.estgweb.Globals" %>
<%@ taglib uri="/WEB-INF/tlds/baco.tld" prefix="baco" %>
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/tlds/struts-nested.tld" prefix="nested" %>
<%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %>
<%@ 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">
<tr>
<td>
${userView.name}
</td>
<td>
<logic:present name="userView" property="mainArea">
<bean:message key="area.${userView.mainArea}"/>
</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>
/impl/build.xml
315,6 → 315,9
<fileset dir="${src.dir}" includes="**/*.xsl"/>
</copy>
<copy overwrite="true" todir="${build.dir.classes}">
<fileset dir="${src.dir}" includes="**/*.csv"/>
</copy>
<copy overwrite="true" todir="${build.dir.classes}">
<fileset dir="${conf.dir}/berserk" includes="*.*"/>
</copy>
<mkdir dir="${email.templates.dir.build}"/>