/branches/v3/impl/conf/WEB-INF/struts/struts-pae-questionarios.xml |
---|
100,6 → 100,7 |
validate="true" |
input="page.pae.questionario.pedagogico.message"> |
<forward name="success" path="page.pae.questionario.see"/> |
<forward name="seeAll" path="page.pae.see.questionarios"/> |
</action> |
<!--Outros no futuro |
/branches/v3/impl/conf/berserk/sd.xml |
---|
2828,6 → 2828,19 |
</filterChains> |
</service> |
<service> |
<name>QuestionarioSendMessageAllProcessing</name> |
<implementationClass>pt.estgp.estgweb.services.questionarios.QuestionariosService</implementationClass> |
<description></description> |
<isTransactional>true</isTransactional> |
<defaultMethod>sendMessageAllProcessing</defaultMethod> |
<filterChains> |
<chain name="Logger"/> |
<chain name="Session"/> |
<chain name="AuthenticatedUsers"/> |
<chain name="AdminsOrQuestionarioAdminsOrPedagogico"/> |
</filterChains> |
</service> |
<service> |
<name>SalvarFicheiro</name> |
/branches/v3/impl/src/java/pt/estgp/estgweb/services/questionarios/QuestionariosService.java |
---|
225,6 → 225,13 |
} |
public int sendMessageAllProcessing(boolean onlyNotAnswered,String msg,String emailFrom,String personFrom, String subject,UserSession userSession) |
{ |
String source = "questionarios em processamento message"; |
AnnouncementDaoImpl.FindUsersIdResult result = DaoFactory.getQuestionarioDaoImpl().findUsersIdsPedagogicoAllProcessing(onlyNotAnswered); |
return sendEmails(null, msg, emailFrom, personFrom, subject, userSession, source, result); |
} |
private int sendEmails(Long id, String msg, String emailFrom, String personFrom, String subject, UserSession userSession, String source, AnnouncementDaoImpl.FindUsersIdResult result) { |
List<Long> usersToConsume = result.userIds; |
/branches/v3/impl/src/java/pt/estgp/estgweb/domain/dao/impl/QuestionarioDaoImpl.java |
---|
232,7 → 232,45 |
} |
public AnnouncementDaoImpl.FindUsersIdResult findUsersIdsPedagogicoAllProcessing(boolean onlyNotAnswered) |
{ |
AnnouncementDaoImpl.FindUsersIdResult findUsersResult = new AnnouncementDaoImpl.FindUsersIdResult(); |
List<Long> users = new ArrayList<Long>(); |
findUsersResult.userIds = users; |
Query q = AbstractDao.getCurrentSession().createQuery("SELECT " + |
" u.id " + |
"from " + QuestionarioPedagogicoAlunoRequisitado.class.getName() + " aR " + |
"JOIN aR.respostaRequisitada rR " + |
"JOIN rR.user u " + |
"WHERE " + |
"( " + |
" aR.tipologiaRequisitada.unidadeAfeta.cursoAfeto.questionario.state = :sP1 " + |
" OR " + |
" aR.tipologiaRequisitada.unidadeAfeta.cursoAfeto.questionario.state = :sP2 " + |
")" + |
(onlyNotAnswered? " AND rR.resposta is null " : "" ) + |
"GROUP BY u.id"); |
q.setString("sP1",QuestionarioImpl.State.PROCESSING.name()); |
q.setString("sP2",QuestionarioImpl.State.PROCESSING_WITH_ANSWERS.name()); |
List<Object> results = (List<Object>) q.list(); |
for(Object result: results) |
{ |
findUsersResult.userIds.add((Long) result); |
} |
findUsersResult.users = results.size(); |
return findUsersResult; |
} |
public static class QuestionarioStatsVars |
{ |
public long cursos; |
/branches/v3/impl/src/java/pt/estgp/estgweb/web/controllers/questionarios/QuestionarioController.java |
---|
334,6 → 334,30 |
public ActionForward sendEmailQuestionariosProcessing(ActionMapping mapping, |
ActionForm form, |
HttpServletRequest request, |
HttpServletResponse response) |
throws Throwable |
{ |
QuestionarioMessage frm = (QuestionarioMessage) form; |
IServiceManager sm = ServiceManager.getInstance(); |
String[] names = {"onlyNotAnswered","id","msg","emailFrom","personFrom","subject"}; |
Object[] args = { |
frm.isOnlyNotAnswered(), |
frm.getMessage(), |
frm.getFromEmail(), |
frm.getFromPerson(), |
frm.getSubject() |
}; |
int size = (Integer) sm.execute(RequestUtils.getRequester(request, response),"QuestionarioSendMessageAllProcessing",args,names); |
addMessage(request,"submit.todo.message.success","" + size); |
return mapping.findForward("seeAll"); |
} |
} |
/branches/v3/impl/src/web/user/questionarios/questionariosSee.jsp |
---|
3,6 → 3,7 |
<%@ page import="pt.estgp.estgweb.domain.QuestionarioImpl" %> |
<%@ page import="pt.estgp.estgweb.domain.dao.DaoFactory" %> |
<%@ page import="java.util.List" %> |
<%@ page import="java.net.URLEncoder" %> |
<%@ page contentType="text/html;charset=UTF-8" language="java" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-nested.tld" prefix="nested" %> |
22,9 → 23,15 |
<div class="panel panel-primary"> |
<div class="panel-heading clearfix"> |
QuestionĂ¡rios |
<baco:hasRole role="questionarios.admin,all,admin"> |
<html:link styleClass="btn btn-default btn-sm pull-right" action="/user/startNewQuestionario">Criar Novo <span class="glyphicon glyphicon-plus"> </span></html:link> |
</baco:hasRole> |
<% |
String desc = URLEncoder.encode("Mensagem para os alunos de todos os QuestionĂ¡rios em Processamento","ISO-8859-1"); |
request.setAttribute("desc",desc); |
%> |
<html:link styleClass="btn btn-default pull-right" action="/user/startQuestionariosPaeMessagePedagogico.do?&formDescription=${desc}&targetDispatch=sendEmailQuestionariosProcessing"> |
<span class="glyphicon glyphicon-envelope"> </span> Enviar Mensagem A Todos Os Inquiridos |
</html:link> |
<a class="btn btn-default" href="#" data-toggle="modal" data-target="#modalHelpQuestionario"> |
<span class="glyphicon glyphicon-question-sign"></span> Ajuda sobre Processo dos QuestionĂ¡rios |
</a> |
/branches/v3/impl/src/web/user/questionarios/pedagogicoEstudante/topnavQuestionarioPedagogicoSendMessage.jsp |
---|
15,7 → 15,7 |
qId = "" + questionarioMessage.getQuestionarioId(); |
} |
} |
Long questionarioId = Long.parseLong(qId); |
Long questionarioId = qId != null ? Long.parseLong(qId) : 0; |
/* |
IServiceManager sm = ServiceManager.getInstance(); |
27,7 → 27,9 |
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request); |
topNav.addNavPlace("/user/homePae.do", "intranet.separator.home.back"); |
topNav.addNavPlace("/user/seeQuestionarios.do", "surveys"); |
topNav.addNavPlace("/user/seeQuestionario.do?questionarioId=" + questionarioId, "survey.see",""+questionarioId); |
if(questionarioId > 0) |
topNav.addNavPlace("/user/seeQuestionario.do?questionarioId=" + questionarioId, "survey.see",""+questionarioId); |
topNav.addNavPlace(null, "questionario.send.message.top.nav"); |
%> |
<jsp:include page="/layout/topnav.jsp"/> |