/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"> </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>. |
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"> |
<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"> |
<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"> </td> |
<td width="242" bgcolor="#FFFFFF" align="justify" height="36" style="border-bottom: 1 solid #C0C0C0"> </td> |
<td width="82" align="center" bgcolor="#FFFFFF" height="36" style="border-bottom: 1 solid #C0C0C0"> </td> |
<td width="66" align="center" bgcolor="#FFFFFF" height="36" style="border-bottom: 1 solid #C0C0C0"> </td> |
<td width="79" align="center" bgcolor="#FFFFFF" height="36" style="border-bottom: 1 solid #C0C0C0"> </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}"/> |