Subversion Repositories bacoAlunos

Compare Revisions

Ignore whitespace Rev 1456 → Rev 1457

/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"/>