/impl/conf/language/MessageResourcesProcesses.properties |
---|
3,12 → 3,20 |
# PROCESSES MESSAGE RESOURCES |
# |
################################################################################ |
processes=Pocessos de Expediente |
processes.list=Ver Processos |
processes.list.processes=Ver Processos |
processes.new.meta.process=Criar Meta-Processo |
processes.new.process=Criar novo processo |
processes.list.meta.processes=Listar processos de expedição |
processes.new.process=Expedir de Pedido |
process.submited=Processo submetido com sucesso |
processes.list.processes=Listagem de Processos |
processes.opening.process=Processo em Vizualização |
module.Processes=Processos requerendo a sua intervenção |
37,3 → 45,8 |
process.event.state.ACCEPTED=Aceite |
process.event.state.FINNISH_TRANSITATED=Transitado |
process.event.state.FINNISH_CLOSED=Fechado |
metaprocess.created=MetaProcesso {0} criado com sucesso |
/impl/conf/language/MessageResources.properties |
---|
76,8 → 76,8 |
area.ch=Área de Ciencias Humanas |
area.ce=Área de Ciencias Empresariais |
area.dg=Área de Design |
area.td=Departamento de Tecnologia e Design |
area.cesh=Departamento de Ciencias Empresariais Sociais e Humanas |
area.td=Departamento de TD |
area.cesh=Departamento de CESH |
top.menu.area.eg=Engenharias |
top.menu.area.dg=Design |
99,8 → 99,8 |
user.role.teacher.ce=Professor da Área de Ciencias Empresariais |
user.role.teacher.ch=Professor da Área de Ciencias Humanas |
user.role.teacher.td=Professor do Departamento de Tecnologia e Design |
user.role.teacher.cesh=Professor do Departamento de Ciencias Empresariais Sociais e Humanas |
user.role.teacher.td=Professor do DTD |
user.role.teacher.cesh=Professor do DCESH |
user.role.student.eg=Aluno da Área de Engenharia |
108,8 → 108,8 |
user.role.student.ce=Aluno da Área de Ciencias Empresariais |
user.role.student.ch=Aluno da Área de Ciencias Humanas |
user.role.student.td=Aluno do Departamento de Tecnologia e Design |
user.role.student.cesh=Aluno do Departamento de Ciencias Empresariais Sociais e Humanas |
user.role.student.td=Aluno do DTD |
user.role.student.cesh=Aluno do DCESH |
user.role.ci=Centro Informático |
user.role.worker=Funcionário |
125,10 → 125,10 |
user.role.schoolSecretary=Secretário da Escola |
user.role.administrativeCouncilSecretariat=Secretaria da Direcção |
user.role.teachersSecretariat=Secretaria de Pessoal Docente |
user.role.dtd.president=Presidente do departamento de Tecnologia e Design |
user.role.cesh.president=Presidente do departamento de Ciências Empresariais Sociais e Humanas |
user.role.dtd.presidency=Membro da Presidencia do departamento de Tecnologia e Design |
user.role.cesh.presidency=Membro da Presidencia do departamento de Ciências Empresariais Sociais e Humanas |
user.role.dtd.president=Presidente do DTD |
user.role.cesh.president=Presidente do DCESH |
user.role.dtd.presidency=Membro da Presidencia do DTD |
user.role.cesh.presidency=Membro da Presidencia do DCESH |
user.role.scientificCouncil.president=Presidente do Conselho Científico |
user.role.representativeCouncil.president=Presidente do Conselho de Representantes |
user.role.pedagogicCouncil.president=Presidente do Conselho Pedagógico |
/impl/conf/WEB-INF/struts/tiles-processes.xml |
---|
8,6 → 8,12 |
<tiles-definitions> |
<definition name="page.new.meta.process" extends="page.separators.serviceZone"> |
<put name="title" value="Criar MetaProcesso" /> |
<put name="topnav" value="/user/processes/topnavNewMetaProcess.jsp"/> |
<put name="body" value="/user/processes/createMetaProcess.jsp" /> |
</definition> |
<definition name="page.open.process" extends="page.separators.home"> |
<put name="title" value="Ver Processo" /> |
<put name="topnav" value="/user/processes/topnavOpenProcess.jsp"/> |
/impl/conf/WEB-INF/struts/struts-processes.xml |
---|
22,6 → 22,8 |
<action path="/user/startNewMetaProcess" forward="page.new.meta.process"/> |
<action path="/user/openProcess" forward="page.open.process"/> |
<action path="/user/listProcesses" forward="page.list.processes"/> |
<action path="/user/listMetaProcesses" forward="page.list.meta.processes"/> |
49,5 → 51,17 |
<forward name="process.submited" path="page.separators.home"/> |
</action> |
<action path="/user/metaProcessesController" |
type="pt.estgp.estgweb.web.controllers.processes.MetaProcessesController" |
name="NewMetaProcessForm" |
scope="request" |
parameter="dispatch" |
validate="false" |
input="page.new.meta.process"> |
<forward name="process.submited" path="page.separators.serviceZone"/> |
</action> |
</action-mappings> |
</struts-config> |
/impl/src/java/pt/estgp/estgweb/web/form/processes/NewMetaProcessForm.java |
---|
1,11 → 1,16 |
package pt.estgp.estgweb.web.form.processes; |
import org.apache.struts.action.ActionErrors; |
import org.apache.struts.upload.FormFile; |
import pt.estgp.estgweb.domain.DomainObjectFactory; |
import pt.estgp.estgweb.domain.MetaProcess; |
import pt.estgp.estgweb.domain.MetaProcessImpl; |
import pt.estgp.estgweb.utils.StringsUtils; |
import pt.estgp.estgweb.web.form.ApplicationForm; |
import java.util.ArrayList; |
import java.util.List; |
/** |
* @author Jorge Machado |
* @date 25/Jun/2008 |
16,14 → 21,30 |
private MetaProcessImpl metaProcess; |
private FormFile file; |
private String fileName; |
private String personToAdd; |
private String personToRemove; |
private String roleToAdd; |
private String roleToRemove; |
public NewMetaProcessForm() |
{ |
metaProcess = DomainObjectFactory.createMetaProcessImpl(); |
} |
public String getFileName() { |
return fileName; |
} |
public void setFileName(String fileName) { |
this.fileName = fileName; |
} |
public FormFile getFile() { |
return file; |
} |
39,4 → 60,107 |
public void setMetaProcess(MetaProcessImpl metaProcess) { |
this.metaProcess = metaProcess; |
} |
public String getPersonToRemove() { |
return personToRemove; |
} |
public void setPersonToRemove(String personToRemove) { |
this.personToRemove = personToRemove; |
} |
public String getRoleToRemove() { |
return roleToRemove; |
} |
public void setRoleToRemove(String roleToRemove) { |
this.roleToRemove = roleToRemove; |
} |
public List<String> getPossiblePersons() |
{ |
if(metaProcess.getPossiblePersons() != null && metaProcess.getPossiblePersons().length()>0) |
{ |
return StringsUtils.getStringsFromSerial(metaProcess.getPossiblePersons(),";"); |
} |
return new ArrayList<String>(); |
} |
public List<String> getPossibleTargets() |
{ |
if(metaProcess.getPossibleTargets() != null && metaProcess.getPossibleTargets().length()>0) |
{ |
return StringsUtils.getStringsFromSerial(metaProcess.getPossibleTargets(),";"); |
} |
return new ArrayList<String>(); |
} |
public String getPersonToAdd() { |
return personToAdd; |
} |
public void setPersonToAdd(String personToAdd) { |
this.personToAdd = personToAdd; |
} |
public List<String> getAddedPersonsList() |
{ |
return StringsUtils.getStringsFromSerial(getMetaProcess().getPossiblePersons(),";"); |
} |
public String getRoleToAdd() { |
return roleToAdd; |
} |
public void setRoleToAdd(String roleToAdd) { |
this.roleToAdd = roleToAdd; |
} |
public List<String> getAddedRolesList() |
{ |
return StringsUtils.getStringsFromSerial(getMetaProcess().getPossibleTargets(),";"); |
} |
public ActionErrors validate(org.apache.struts.action.ActionMapping actionMapping, javax.servlet.http.HttpServletRequest httpServletRequest) |
{ |
ActionErrors errors = new ActionErrors(); |
if(fileName==null || fileName.length()==0) |
{ |
addMessage(errors, httpServletRequest, "errors.required","ficheiro"); |
} |
if(metaProcess.getCategory()==null || metaProcess.getCategory().length()==0) |
{ |
addMessage(errors, httpServletRequest, "errors.required","categoria"); |
} |
if(metaProcess.getSubCategory()==null || metaProcess.getSubCategory().length()==0) |
{ |
addMessage(errors, httpServletRequest, "errors.required","subcategoria"); |
} |
if(metaProcess.getTargetRole()==null || metaProcess.getTargetRole().length()==0) |
{ |
addMessage(errors, httpServletRequest, "errors.required","Atendido por"); |
} |
if(metaProcess.getSrcRole()==null || metaProcess.getSrcRole().length()==0) |
{ |
addMessage(errors, httpServletRequest, "errors.required","Tipo de requerente"); |
} |
if(metaProcess.getName()==null || metaProcess.getName().length()==0) |
{ |
addMessage(errors, httpServletRequest, "errors.required","Nome do MetaProcesso"); |
} |
if((metaProcess.getPossiblePersons()==null || metaProcess.getPossibleTargets().length()==0) |
&& |
( metaProcess.getPossibleTargets()==null || metaProcess.getPossibleTargets().length()==0)) |
{ |
addMessage(errors, httpServletRequest, "errors.required","Intervenientes"); |
} |
return errors; |
} |
} |
/impl/src/java/pt/estgp/estgweb/web/controllers/processes/MetaProcessesController.java |
---|
New file |
0,0 → 1,257 |
package pt.estgp.estgweb.web.controllers.processes; |
import jomm.dao.utils.HibernateUtils; |
import jomm.utils.FilesUtils; |
import org.apache.log4j.Logger; |
import org.apache.struts.action.*; |
import org.apache.struts.upload.FormFile; |
import pt.estgp.estgweb.Globals; |
import pt.estgp.estgweb.domain.MetaProcess; |
import pt.estgp.estgweb.domain.UserSession; |
import pt.estgp.estgweb.domain.dao.DaoFactory; |
import pt.estgp.estgweb.filters.chains.ResourceAccessControlEnum; |
import pt.estgp.estgweb.services.data.RepositoryService; |
import pt.estgp.estgweb.utils.StringsUtils; |
import pt.estgp.estgweb.web.UserSessionProxy; |
import pt.estgp.estgweb.web.controllers.ApplicationDispatchController; |
import pt.estgp.estgweb.web.form.processes.NewMetaProcessForm; |
import pt.estgp.estgweb.web.form.processes.NewProcessForm; |
import pt.estgp.estgweb.web.utils.RequestUtils; |
import pt.utl.ist.berserk.logic.serviceManager.IServiceManager; |
import pt.utl.ist.berserk.logic.serviceManager.ServiceManager; |
import javax.servlet.ServletException; |
import javax.servlet.http.HttpServletRequest; |
import javax.servlet.http.HttpServletResponse; |
import java.util.ArrayList; |
import java.util.Date; |
import java.util.List; |
/** |
* @author Jorge Machado |
* @date 26/Fev/2008 |
* @time 18:01:54 |
* @see pt.estgp.estgweb.web |
*/ |
public class MetaProcessesController extends ApplicationDispatchController |
{ |
private static final Logger logger = Logger.getLogger(MetaProcessesController.class); |
public ActionForward update(ActionMapping mapping, |
ActionForm form, |
HttpServletRequest request, |
HttpServletResponse response) |
throws Throwable, ServletException |
{ |
try |
{ |
if(!UserSessionProxy.loadUserSessionFromRequest(request).getUser().isSuperuser() && UserSessionProxy.loadUserSessionFromRequest(request).getUser().hasRole(Globals.ROLE_PROCESSES_ADMIN)) |
return mapping.findForward("error401"); |
NewMetaProcessForm f = (NewMetaProcessForm)form; |
FormFile file = f.getFile(); |
RepositoryService repositoryService = new RepositoryService(); |
if(file != null && file.getFileSize()>0) |
{ |
System.out.println("FileName:"+file.getFileName()); |
try { |
HibernateUtils.getCurrentSession().beginTransaction(); |
if(f.getMetaProcess().getRepositoryStream() == null || f.getMetaProcess().getRepositoryStream().length() == 0) |
{ |
System.out.println("AQUI"); |
String repositoryId = repositoryService.storeRepositoryFile(file.getInputStream(),file.getContentType(), FilesUtils.getExtension(file.getFileName()),file.getFileSize(),file.getFileName(),"MetaProcess Template file", ResourceAccessControlEnum.authenticatedDomain, UserSessionProxy.loadUserSessionFromRequest(request)); |
System.out.println(repositoryId); |
f.getMetaProcess().setRepositoryStream(repositoryId); |
f.setFileName(file.getFileName()); |
} |
else |
{ |
repositoryService.updateRepositoryFile(f.getMetaProcess().getRepositoryStream(),file.getInputStream(),file.getContentType(),FilesUtils.getExtension(file.getFileName()),file.getFileSize(),file.getFileName(),"MetaProcess Template file",ResourceAccessControlEnum.authenticatedDomain); |
f.setFileName(file.getFileName()); |
} |
HibernateUtils.getCurrentSession().getTransaction().commit(); |
}catch(Exception e) |
{ |
logger.error(e,e); |
} |
} |
String personToAdd = f.getPersonToAdd(); |
if(personToAdd.trim().length() > 0) |
{ |
if(f.getMetaProcess().getPossiblePersons() == null) |
f.getMetaProcess().setPossiblePersons(""); |
List<String> persons = StringsUtils.getStringsFromSerial(f.getMetaProcess().getPossiblePersons(), ";"); |
if(persons == null) |
persons = new ArrayList<String>(); |
if(!persons.contains(personToAdd)) |
{ |
f.getMetaProcess().setPossiblePersons(f.getMetaProcess().getPossiblePersons() + personToAdd + ";"); |
} |
} |
String roleToAdd = f.getRoleToAdd(); |
if(roleToAdd.trim().length() > 0) |
{ |
if(f.getMetaProcess().getPossibleTargets() == null) |
f.getMetaProcess().setPossibleTargets(""); |
List<String> roles = StringsUtils.getStringsFromSerial(f.getMetaProcess().getPossibleTargets(), ";"); |
if(roles == null) |
roles = new ArrayList<String>(); |
if(!roles.contains(roleToAdd)) |
{ |
f.getMetaProcess().setPossibleTargets(f.getMetaProcess().getPossibleTargets() + roleToAdd + ";"); |
} |
} |
f.setRoleToRemove(""); |
f.setRoleToAdd(""); |
f.setPersonToRemove(""); |
f.setPersonToAdd(""); |
return mapping.getInputForward(); |
} |
//catch (FilterChainFailedException e) |
//{ |
// return mapping.findForward("error401"); |
//} |
catch (Throwable e) |
{ |
logger.error(e, e); |
throw e; |
} |
} |
public ActionForward create(ActionMapping mapping, |
ActionForm form, |
HttpServletRequest request, |
HttpServletResponse response) |
throws Throwable, ServletException |
{ |
if(!UserSessionProxy.loadUserSessionFromRequest(request).getUser().isSuperuser() && UserSessionProxy.loadUserSessionFromRequest(request).getUser().hasRole(Globals.ROLE_PROCESSES_ADMIN)) |
return mapping.findForward("error401"); |
try |
{ |
NewMetaProcessForm f = (NewMetaProcessForm)form; |
HibernateUtils.getCurrentSession().beginTransaction(); |
ActionMessages errors = f.validate(mapping,request); |
if(!errors.isEmpty()) |
{ |
saveErrors(request, errors); |
return mapping.getInputForward(); |
} |
MetaProcess metaProcess = f.getMetaProcess(); |
if(metaProcess.getId() == 0) |
{ |
metaProcess.setSaveDate(new Date()); |
DaoFactory.getMetaProcessDaoImpl().save(metaProcess); |
} |
else |
{ |
MetaProcess db = DaoFactory.getMetaProcessDaoImpl().load(metaProcess.getId()); |
db.setCategory(metaProcess.getCategory()); |
db.setSubCategory(metaProcess.getSubCategory()); |
db.setRepositoryStream(f.getMetaProcess().getRepositoryStream()); |
db.setDescription(metaProcess.getDescription()); |
db.setPossiblePersons(metaProcess.getPossiblePersons()); |
db.setPossibleTargets(metaProcess.getPossibleTargets()); |
db.setName(metaProcess.getName()); |
db.setSrcRole(metaProcess.getSrcRole()); |
db.setTargetRole(metaProcess.getTargetRole()); |
} |
HibernateUtils.getCurrentSession().getTransaction().commit(); |
addMessage(request,"metaprocess.created",metaProcess.getName()); |
return mapping.findForward("process.submited"); |
} |
catch (Throwable e) |
{ |
logger.error(e, e); |
throw e; |
} |
} |
public ActionForward delete(ActionMapping mapping, |
ActionForm form, |
HttpServletRequest request, |
HttpServletResponse response) |
throws Throwable, ServletException |
{ |
if(!UserSessionProxy.loadUserSessionFromRequest(request).getUser().isSuperuser() && UserSessionProxy.loadUserSessionFromRequest(request).getUser().hasRole(Globals.ROLE_PROCESSES_ADMIN)) |
return mapping.findForward("error401"); |
try |
{ |
NewMetaProcessForm f = (NewMetaProcessForm)form; |
String personToRemove = f.getPersonToRemove(); |
if(personToRemove.trim().length() > 0) |
{ |
if(f.getMetaProcess().getPossiblePersons() == null) |
f.getMetaProcess().setPossiblePersons(""); |
List<String> persons = StringsUtils.getStringsFromSerial(f.getMetaProcess().getPossiblePersons(), ";"); |
if(persons == null) |
persons = new ArrayList<String>(); |
if(persons.contains(personToRemove)) |
{ |
persons.remove(personToRemove); |
f.getMetaProcess().setPossiblePersons(""); |
for(String p: persons) |
f.getMetaProcess().setPossiblePersons(f.getMetaProcess().getPossiblePersons() + p + ";"); |
} |
} |
String roleToRemove = f.getRoleToRemove(); |
if(roleToRemove.trim().length() > 0) |
{ |
if(f.getMetaProcess().getPossibleTargets() == null) |
f.getMetaProcess().setPossibleTargets(""); |
List<String> roles = StringsUtils.getStringsFromSerial(f.getMetaProcess().getPossibleTargets(), ";"); |
if(roles == null) |
roles = new ArrayList<String>(); |
if(roles.contains(roleToRemove)) |
{ |
roles.remove(roleToRemove); |
f.getMetaProcess().setPossibleTargets(""); |
for(String r: roles) |
f.getMetaProcess().setPossibleTargets(f.getMetaProcess().getPossibleTargets() + r + ";"); |
} |
} |
f.setRoleToRemove(""); |
f.setRoleToAdd(""); |
f.setPersonToRemove(""); |
f.setPersonToAdd(""); |
return mapping.getInputForward(); |
} |
//catch (FilterChainFailedException e) |
//{ |
// return mapping.findForward("error401"); |
//} |
catch (Throwable e) |
{ |
logger.error(e, e); |
throw e; |
} |
} |
} |
/impl/src/java/pt/estgp/estgweb/web/controllers/processes/ProcessesController.java |
---|
55,7 → 55,6 |
{ |
try |
{ |
System.out.println("AQUI"); |
NewProcessForm f = (NewProcessForm)form; |
System.out.println(f.getNotes()); |
System.out.println(f.getMetaProcessId()); |
/impl/src/web/imgs/process/down_arrow.png |
---|
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/user/serviceZone/serviceZone.jsp |
---|
75,11 → 75,28 |
<ul> |
<baco:isModuleOn module="processes"> |
<ul> |
<li><bean:message key="processes"/> |
<ul> |
<li><a href="<%=request.getContextPath()%>/user/listProcesses.do?target=participation"><bean:message key="processes.list"/></a></li> |
<baco:hasRole role="all,processes.admin"> |
<li><a href="<%=request.getContextPath()%>/user/startNewMetaProcess.do"><bean:message key="processes.new.meta.process"/></a></li> |
</baco:hasRole> |
<li><a href="<%=request.getContextPath()%>/user/listMetaProcesses.do"><bean:message key="processes.new.process"/></a></li> |
</ul> |
</li> |
</ul> |
</baco:isModuleOn> |
<!-- Filipe Matos --> |
<baco:isModuleOn module="assessments"> |
<baco:hasRole role="teacher"> |
<baco:hasRole role="assessementsTester"> |
<ul> |
<li> |
<bean:message key="assessments"/> |
<ul> |
95,6 → 112,7 |
</li> |
</ul> |
</li> |
</ul> |
</baco:hasRole> |
</baco:hasRole> |
<baco:hasRole role="student"> |
/impl/src/web/user/processes/topnavNewMetaProcess.jsp |
---|
New file |
0,0 → 1,10 |
<%@page contentType="text/html"%> |
<%@page pageEncoding="UTF-8"%> |
<%@page import="jomm.web.utils.NavPlaceServer"%> |
<%@ page import="jomm.web.utils.TopNav" %> |
<% |
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request); |
topNav.addNavPlace("/user/startServiceZone.do", "intranet.separator.service.zone.back"); |
topNav.addNavPlace(null, "processes.new.meta.process"); |
%> |
<jsp:include page="/layout/topnav.jsp"/> |
/impl/src/web/user/processes/createMetaProcess.jsp |
---|
1,16 → 1,314 |
<%-- |
Created by IntelliJ IDEA. |
User: jorgemachado |
Date: 13/01/14 |
Time: 09:55 |
To change this template use File | Settings | File Templates. |
--%> |
<%@ page import="jomm.dao.utils.HibernateUtils" %> |
<%@ page import="pt.estgp.estgweb.Globals" %> |
<%@ page import="pt.estgp.estgweb.domain.*" %> |
<%@ page import="pt.estgp.estgweb.domain.dao.DaoFactory" %> |
<%@ page import="pt.estgp.estgweb.services.data.RepositoryService" %> |
<%@ page import="pt.estgp.estgweb.web.UserSessionProxy" %> |
<%@ page import="java.util.List" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %> |
<%@ taglib uri="/WEB-INF/tlds/jomm.tld" prefix="jomm" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %> |
<%@ taglib uri="/WEB-INF/tlds/baco.tld" prefix="baco" %> |
<%@ page contentType="text/html;charset=UTF-8" language="java" %> |
<html> |
<head> |
<title></title> |
</head> |
<body> |
<jsp:useBean id="UserSession" type="pt.estgp.estgweb.domain.UserSession" scope="request"/> |
<% |
if(!UserSession.getUser().hasRole(Globals.ROLE_PROCESSES_ADMIN) && !UserSession.getUser().isSuperuser()) |
{ |
%> |
<jsp:include page="/errors/401.jsp"/> |
<% |
return; |
} |
%> |
<script language="javascript"> |
</body> |
</html> |
function addUser(username) |
{ |
$('#formulario').find('input[name="personToAdd"]').val(username); |
$('#formulario').find('input[name="dispatch"]').val('update'); |
$("#personsResults").hide(); |
$("#formulario").submit(); |
} |
function searchPersons(form,targetElement,q,searchInput) |
{ |
$.post( "<%=request.getContextPath()%>/user/processes/searchPerson.jsp?q="+q, function( data ) { |
$( "#" + targetElement ).html( data ); |
//$( "#" + targetElement).show(); |
$( "#" + targetElement).css({ left: $("#"+searchInput).position().left, top: $("#"+searchInput).position().top + 30}).show(); |
}); |
} |
</script> |
<html:errors/> |
<jomm:messages/> |
<h2>Criando novo metaprocesso</h2> |
<html:form styleId="formulario" action="/user/metaProcessesController" enctype="multipart/form-data"> |
<jsp:useBean id="NewMetaProcessForm" type="pt.estgp.estgweb.web.form.processes.NewMetaProcessForm" scope="request"/> |
<% |
if(request.getParameter("id")!=null) |
{ |
long id = Long.parseLong(request.getParameter("id")); |
HibernateUtils.getCurrentSession().beginTransaction(); |
MetaProcess metaProcess = DaoFactory.getMetaProcessDaoImpl().get(id); |
System.out.println("1"); |
NewMetaProcessForm.setMetaProcess((MetaProcessImpl) metaProcess); |
System.out.println("2"); |
new RepositoryService().load(metaProcess.getRepositoryStream(), UserSessionProxy.loadUserSessionFromRequest(request)).getName(); |
System.out.println("3"); |
NewMetaProcessForm.setFileName(new RepositoryService().load(metaProcess.getRepositoryStream(), UserSessionProxy.loadUserSessionFromRequest(request)).getName()); |
System.out.println("4"); |
HibernateUtils.getCurrentSession().getTransaction().commit(); |
} |
%> |
<input type="hidden" name="dispatch" value="update"/> |
<html:hidden property="metaProcess.id"/> |
<html:hidden property="metaProcess.possiblePersons"/> |
<html:hidden property="metaProcess.possibleTargets"/> |
<html:hidden property="personToAdd"/> |
<html:hidden property="personToRemove"/> |
<html:hidden property="roleToRemove"/> |
<html:hidden property="metaProcess.repositoryStream"/> |
<html:hidden property="fileName"/> |
<table border="0" style="width: 100%" > |
<tr> |
<th align="right"></th> |
<th colspan="2" align="center" > |
<div style="padding: 10px; background-color: lightgrey;border: 1px solid darkgray"> |
<i><u>Ficheiro Modelo</u></i> |
<html:file property="file"/> <input value="Carregar ficheiro" type="button" onclick="this.form.dispatch.value='update';this.form.submit()"/> |
<logic:notEmpty name="NewMetaProcessForm" property="metaProcess.repositoryStream"> |
<a target="_blank" href="<%=request.getContextPath()%>/repositoryStream/<bean:write name="NewMetaProcessForm" property="metaProcess.repositoryStream"/>"><bean:write name="NewMetaProcessForm" property="fileName"/></a> |
<br/> |
<a target="_blank" href="<%=request.getContextPath()%>/admin/data.jsp?id=<bean:write name="NewMetaProcessForm" property="metaProcess.repositoryStream"/>">Ver todas as versões</a> |
</logic:notEmpty> |
</div> |
</th> |
<th align="center"></th> |
</tr> |
<tr> |
<td align="right" style="font-size: 7pt"></td> |
<td colspan="2" valign="middle" align="center" style="vertical-align: middle; font-size: 7pt;padding: 10px;"> |
<i><<input>></i> <img src="<%=request.getContextPath()%>/imgs/process/down_arrow.png"/> |
</td> |
<td align="center"></td> |
</tr> |
<tr> |
<th align="center"><img src="<%=request.getContextPath()%>/imgs/process/actor.gif"/> <br/>Tipo de Requerente</th> |
<th colspan="2" align="center">Processo</th> |
<th align="center"><img src="<%=request.getContextPath()%>/imgs/process/actor.gif"/> <br/>Atendido por</th> |
</tr> |
<tr> |
<td> |
<html:select property="metaProcess.srcRole"> |
<% |
List<String> roles = Globals.USER_ROLES; |
request.setAttribute("roles",roles); |
%> |
<logic:iterate id="role" name="roles"> |
<html:option value="${role}"><bean:message key="user.role.${role}"/></html:option> |
</logic:iterate> |
</html:select> |
</td> |
<td style="width: 100%" colspan="2" style="padding-left: 10px;padding-right: 10px"> |
<table style="width: 100%" class="processActivity" cellpadding="0" cellspacing="0"> |
<tr> |
<td class="processActivityTail"><img src="<%=request.getContextPath()%>/imgs/process/leftProcess.gif"/></td> |
<td class="processActivityName" style="width: 100%"><html:text style="width: 100%" property="metaProcess.name"/></td> |
<td class="processActivityArrow"><img src="<%=request.getContextPath()%>/imgs/process/rightProcess.gif"/></td> |
</tr> |
</table> |
</td> |
<td > |
<html:select property="metaProcess.targetRole"> |
<logic:iterate id="role" name="roles"> |
<html:option value="${role}"><bean:message key="user.role.${role}"/></html:option> |
</logic:iterate> |
</html:select> |
</td> |
</tr> |
<tr> |
<td colspan="4" style="height: 10px; border-right: 3px dotted green; border-bottom: 3px dotted green;"> |
</td> |
</tr> |
<tr> |
<td colspan="4" style="height: 10px; border-left: 3px dotted green; "> |
</td> |
</tr> |
<tr> |
<td colspan="4"> |
<table style="width: 100%" class="processActivity" cellpadding="0" cellspacing="0"> |
<tr> |
<td class="processActivityTail"><img src="<%=request.getContextPath()%>/imgs/process/leftProcess.gif"/></td> |
<td class="processActivityName" style="width: 100%;text-align: center"><i>Tratamento</i></td> |
<td class="processActivityArrow"><img src="<%=request.getContextPath()%>/imgs/process/rightProcess.gif"/></td> |
</tr> |
</table> |
</td> |
</tr> |
<tr> |
<th colspan="4" style="text-align: center"> |
<img src="<%=request.getContextPath()%>/imgs/process/actor.gif"/> |
<img src="<%=request.getContextPath()%>/imgs/process/actor.gif"/> |
<img src="<%=request.getContextPath()%>/imgs/process/actor.gif"/> |
</th> |
</tr> |
<tr> |
<td colspan="4" style="height: 30px; "> |
<table cellpadding="0" cellspacing="0" style="width: 100%;border:0;"> |
<tr> |
<th style="width: 50%; text-align: center;border-bottom: 2px solid darkgray; border-right: 2px solid darkgray;"> |
Pessoas especificas permitidas |
</th> |
<th style="border-bottom: 2px solid darkgray;width: 50%; text-align: center"> |
Papeis institucionais permitidos |
</th> |
</tr> |
<tr> |
<td valign="top" style="background-color:#E4E4E4 ;width: 50%; text-align: left;border-bottom: 2px solid darkgray; border-right: 2px solid darkgray;"> |
<input style="width:200px" id="queryTd" type="text" name="q"/> <input type="image" src="<%=request.getContextPath()%>/imgs/lupa.gif" onclick="searchPersons(this.form,'personsResults',this.form.q.value,'queryTd');return false;"/> |
</td> |
<td style="background-color:#E4E4E4 ; border-bottom: 2px solid darkgray;width: 50%; text-align: left"> |
<html:select property="roleToAdd"> |
<option value="">Nenhum</option> |
<logic:iterate id="role" name="roles"> |
<html:option value="${role}"><bean:message key="user.role.${role}"/></html:option> |
</logic:iterate> |
</html:select> |
<input type="button" onclick="set(form,'update');form.submit()" value="Adicionar"/> |
</td> |
</tr> |
<tr> |
<td valign="top" style="width: 50%; text-align: center; border-right: 2px solid darkgray; border-bottom: 2px solid darkgray;"> |
<logic:present name="NewMetaProcessForm" property="addedPersonsList"> |
<table class="dataTable" width="100%"> |
<tr> |
<th>Nome</th> |
<th>Username</th> |
<th>Tipo</th> |
<th>Email</th> |
</tr> |
<% |
HibernateUtils.getCurrentSession().beginTransaction(); |
%> |
<logic:iterate id="person" name="NewMetaProcessForm" property="addedPersonsList" type="String"> |
<% |
User u = DaoFactory.getUserDaoImpl().loadByUsername(person); |
if(u != null) |
{ |
%> |
<tr> |
<td> |
<%=u.getName()%> |
</td> |
<td> |
<%=u.getUsername()%> |
</td> |
<td> |
<% |
if(u instanceof Teacher) { |
%><%="Professor"%><% |
} |
else if(u instanceof Student) { |
%><%="Aluno"%><% |
} |
else { |
%><%="Utilizador"%><% |
} |
%> |
</td> |
<td> |
<%=u.getEmail()%> |
</td> |
<td><a href="javascript:NewMetaProcessForm.dispatch.value='delete';NewMetaProcessForm.personToRemove.value='${person}';NewMetaProcessForm.submit();"><img border="0" src="<%=request.getContextPath()%>/imgs/delete.gif"/></a></td> |
</tr> |
<%}%> |
</logic:iterate> |
</table> |
<% |
HibernateUtils.getCurrentSession().getTransaction().commit(); |
%> |
</logic:present> |
</td> |
<td style="border-bottom: 2px solid darkgray;width: 50%; text-align: center" valign="top"> |
<logic:present name="NewMetaProcessForm" property="addedRolesList"> |
<table class="dataTable" width="100%"> |
<tr> |
<th>Papel</th> |
</tr> |
<logic:iterate id="role" name="NewMetaProcessForm" property="addedRolesList" type="String"> |
<% |
if(role != null && role.length() > 0) |
{ |
%> |
<tr> |
<td> |
<bean:message key="user.role.${role}"/> |
</td> |
<td><a href="javascript:NewMetaProcessForm.dispatch.value='delete';NewMetaProcessForm.roleToRemove.value='${role}';NewMetaProcessForm.submit();"><img border="0" src="<%=request.getContextPath()%>/imgs/delete.gif"/></a></td> |
</tr> |
<% |
} |
%> |
</logic:iterate> |
</table> |
</logic:present> |
</td> |
</tr> |
</table> |
</td> |
</tr> |
</table> |
<table class="dataTable"> |
<tr> |
<th>Categoria</th> |
<td><html:text property="metaProcess.category"/></td> |
</tr> |
<tr> |
<th>SubCategoria</th> |
<td><html:text property="metaProcess.subCategory"/></td> |
</tr> |
<tr> |
<th>Descrição</th> |
<td><html:textarea style="width: 400px;height: 200px" property="metaProcess.description"/></td> |
</tr> |
</table> |
<input type="button" value="<bean:message key="confirm"/>" onclick="set(form,'create');form.submit();"> |
<div id="personsResults" style="position: absolute;display: none;background: lightcyan;border: 1px solid gray"> |
</div> |
</html:form> |
/impl/src/web/user/processes/listMetaProcesses.jsp |
---|
4,6 → 4,8 |
<%@ page import="pt.estgp.estgweb.domain.UserSession" %> |
<%@ page import="pt.estgp.estgweb.domain.MetaProcessImpl" %> |
<%@ page import="java.util.List" %> |
<%@ page import="pt.estgp.estgweb.domain.MetaProcess" %> |
<%@ page import="org.hibernate.Query" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %> |
<%@ taglib uri="/WEB-INF/tlds/jomm.tld" prefix="jomm" %> |
18,16 → 20,58 |
<body> |
<% |
HibernateUtils.getCurrentSession().beginTransaction(); |
List<MetaProcessImpl> metaProcesses = DaoFactory.getMetaProcessDaoImpl().findRoleMetaProcesses(UserSession.getUser().getRolesList()); |
HibernateUtils.getCurrentSession().getTransaction().commit(); |
request.setAttribute("metaProcesses",metaProcesses); |
if(UserSession.getUser().hasRole("processes.admin") || UserSession.getUser().isSuperuser()) |
request.setAttribute("metaProcesses", DaoFactory.getMetaProcessDaoImpl().findAll()); |
else |
request.setAttribute("metaProcesses", DaoFactory.getMetaProcessDaoImpl().findRoleMetaProcesses(UserSession.getUser().getRolesList())); |
List<String> categories = HibernateUtils.getCurrentSession().createQuery("select distinct m.category from m in class " + MetaProcess.class.getName()).list(); |
for(String cat: categories) |
{ |
request.setAttribute("cat",cat); |
Query query = HibernateUtils.getCurrentSession().createQuery("select distinct m.subCategory from m in class " + MetaProcess.class.getName() + " where m.category = ?"); |
query.setString(0,cat); |
List<String> sub = query.list(); |
%> |
<ul> |
<logic:iterate id="meta" name="metaProcesses" type="pt.estgp.estgweb.domain.MetaProcessImpl"> |
<li><a href="<%=request.getContextPath()%>/user/startNewProcess.do?metaProcessId=${meta.id}">${meta.name}</a> - ${meta.description}</li> |
</logic:iterate> |
</ul> |
<div class="seccao"> |
<h1><%=cat%></h1> |
<% |
for(String s: sub) |
{ |
request.setAttribute("s",s); |
%> |
<div class="seccao"> |
<h2><%=s%></h2> |
</body> |
</html> |
<logic:iterate id="meta" name="metaProcesses" type="pt.estgp.estgweb.domain.MetaProcessImpl"> |
<logic:equal value="${cat}" name="meta" property="category"> |
<logic:equal value="${s}" name="meta" property="subCategory"> |
<div class="seccao"> |
<h3>${meta.name}</h3> |
<p>${meta.description}</p> |
<p><a href="<%=request.getContextPath()%>/user/startNewProcess.do?metaProcessId=${meta.id}">Iniciar ${meta.name}</a></p> |
<baco:hasRole role="all,processes.admin"> |
<p><a href="<%=request.getContextPath()%>/user/startNewMetaProcess.do?id=${meta.id}">Editar MetaProcesso</a></p> |
</baco:hasRole> |
</div> |
</logic:equal> |
</logic:equal> |
</logic:iterate> |
</div> |
<% |
} |
%> |
</div> |
<% |
} |
%> |
<% |
HibernateUtils.getCurrentSession().getTransaction().commit(); |
%> |
/impl/src/web/user/processes/searchPerson.jsp |
---|
New file |
0,0 → 1,63 |
<%@ page import="jomm.dao.utils.HibernateUtils" %> |
<%@ page import="pt.estgp.estgweb.domain.dao.DaoFactory" %> |
<%@ page import="java.util.List" %> |
<%@ page import="pt.estgp.estgweb.domain.User" %> |
<%@ page import="pt.estgp.estgweb.domain.Teacher" %> |
<%@ page import="pt.estgp.estgweb.domain.Student" %> |
<%-- |
Created by IntelliJ IDEA. |
User: jorgemachado |
Date: 16/01/14 |
Time: 18:57 |
To change this template use File | Settings | File Templates. |
--%> |
<%@ page contentType="text/html;charset=UTF-8" language="java" %> |
<table class="dataTable"> |
<tr> |
<th>Nome</th> |
<th>Username</th> |
<th>Tipo</th> |
<th>Email</th> |
</tr> |
<% |
HibernateUtils.getCurrentSession().beginTransaction(); |
List<User> users = DaoFactory.getUserDaoImpl().findUsers(request.getParameter("q")); |
for(User u:users) |
{ |
%> |
<tr> |
<td> |
<a href="javascript:addUser('<%=u.getUsername()%>');"><%=u.getName()%></a> |
</td> |
<td> |
<%=u.getUsername()%> |
</td> |
<td> |
<% |
if(u instanceof Teacher) { |
%><%="Professor"%><% |
} |
else if(u instanceof Student) { |
%><%="Aluno"%><% |
} |
else { |
%><%="Utilizador"%><% |
} |
%> |
</td> |
<td> |
<%=u.getEmail()%> |
</td> |
</tr> |
<% |
} |
HibernateUtils.getCurrentSession().getTransaction().commit(); |
%> |
</table> |