Commit 9164a9e7 by jefferson.silva

Atualização de pastas

Mudança de nível
parent 9dbb411a
No related merge requests found
package br.mp.mprj.portal.portlet.gestaomensagens.workflow;
import java.io.Serializable;
import java.util.Date;
import java.util.Locale;
import java.util.Map;
import br.mp.mprj.portal.portlet.gestaomensagens.email.EnvioEmailMensagem;
import br.mp.mprj.portal.portlet.gestaomensagens.email.EnvioEmailWorkflow;
import br.mp.mprj.portal.portlet.gestaomensagens.enums.TipoEnvioEnum;
import br.mp.mprj.portal.portlet.gestaomensagens.job.AgendamentoJobUtil;
import br.mp.mprj.portal.portlet.gestaomensagens.service.model.Mensagem;
import br.mp.mprj.portal.portlet.gestaomensagens.service.service.MensagemLocalServiceUtil;
import br.mp.mprj.portal.portlet.gestaomensagens.service.service.MensagemWorkflowLocalServiceUtil;
import com.liferay.portal.kernel.exception.PortalException;
import com.liferay.portal.kernel.exception.SystemException;
import com.liferay.portal.kernel.log.Log;
import com.liferay.portal.kernel.log.LogFactoryUtil;
import com.liferay.portal.kernel.util.GetterUtil;
import com.liferay.portal.kernel.util.StringPool;
import com.liferay.portal.kernel.util.Validator;
import com.liferay.portal.kernel.workflow.BaseWorkflowHandler;
import com.liferay.portal.kernel.workflow.WorkflowConstants;
import com.liferay.portal.service.ServiceContext;
import com.liferay.util.portlet.PortletProps;
public class MensagemWorkflowHandler extends BaseWorkflowHandler {
private static final Log _log = LogFactoryUtil.getLog(MensagemWorkflowHandler.class);
private final String TYPE = "Mensagens";
@Override
public String getClassName() {
return Mensagem.class.getName();
}
@Override
public String getType(Locale locale) {
return TYPE;
}
@Override
public Object updateStatus(int status,
Map<String, Serializable> workflowContext) throws PortalException,
SystemException {
long userId = GetterUtil.getLong(workflowContext.get(WorkflowConstants.CONTEXT_USER_ID));
long resourcePrimKey = GetterUtil.getLong(workflowContext.get(WorkflowConstants.CONTEXT_ENTRY_CLASS_PK));
Mensagem mensagem = MensagemLocalServiceUtil.getMensagem(resourcePrimKey);
mensagem.setStatusWorkflow(status);
mensagem.setUserIdWorkflow(userId);
mensagem.setDataStatusWorkflow(new Date());
mensagem.setComentarioWorkflow(GetterUtil.getString(workflowContext.get(WorkflowConstants.CONTEXT_TASK_COMMENTS)));
mensagem = MensagemLocalServiceUtil.updateMensagem(mensagem);
MensagemWorkflowLocalServiceUtil.gravarHistoricoWorkflow(mensagem);
//se foi reprovado, colocar novamente para revisao
if (status == WorkflowConstants.STATUS_DENIED) {
try {
ServiceContext serviceContext = (ServiceContext)workflowContext.get(WorkflowConstants.CONTEXT_SERVICE_CONTEXT);
WorkflowUtil.atualizarStatusWorkflow(mensagem, AcaoWorkflowEnum.REVISAR,
GetterUtil.getString(PortletProps.get("workflow.texto-padrao.revisao")), userId,
serviceContext);
WorkflowUtil.inicializarWorkflowMensagem(mensagem, serviceContext);
}
catch (Exception ex) {
_log.error("Problemas ao definir revisao:", ex);
}
}
//envio de email
if (status == WorkflowConstants.STATUS_DENIED
|| status == WorkflowConstants.STATUS_APPROVED
|| status == WorkflowConstants.STATUS_INACTIVE) {
try {
//enviar notificacao de mensagem aprovada
EnvioEmailMensagem envio = new EnvioEmailWorkflow(mensagem);
envio.enviarEmail(0);
//enviar e-mail para os destinatarios, caso seja de envio imediato
if (status == WorkflowConstants.STATUS_APPROVED
&& mensagem.getTipoEnvio() == TipoEnvioEnum.IMEDIATO.ordinal()) {
AgendamentoJobUtil.enviaMensagemImediato(mensagem.getMensagemId());
}
}
catch (Exception ex) {
_log.error("Problemas ao enviar e-mail do status do workflow:", ex);
}
}
return mensagem;
}
@Override
public String getTitle(long classPK, Locale locale) {
String titlePadrao = super.getTitle(classPK, locale);
if (Validator.isNull(titlePadrao)) {
try {
return MensagemLocalServiceUtil.getMensagem(classPK).getAssunto();
}
catch (PortalException|SystemException ex) {
return StringPool.BLANK;
}
}
return titlePadrao;
}
@Override
public void startWorkflowInstance(long companyId, long groupId,
long userId, long classPK, Object model,
Map<String, Serializable> workflowContext) throws PortalException,
SystemException {
super.startWorkflowInstance(companyId, groupId, userId, classPK, model,
workflowContext);
/*try {
WorkflowUtil.atribuirWorkflowRole(Mensagem.class.getName(), companyId,
groupId, classPK,
userId, WorkflowUtil.getWorkflowRoleId(companyId),
GetterUtil.getString(PortletProps.get("workflow.texto-padrao.atribuicao.role")));
}
catch (Exception ex) {
_log.error("Problemas ao inicializar o workflow da Mensagem ID: " + classPK, ex);
}*/
}
}
<?xml version="1.0"?>
<beans
default-destroy-method="destroy"
default-init-method="afterPropertiesSet"
xmlns="http://www.springframework.org/schema/beans"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"
>
<bean class="com.liferay.portal.kernel.spring.util.SpringFactoryUtil" factory-method="newBean">
<constructor-arg value="com.liferay.portal.spring.aop.ServiceBeanAutoProxyCreator" />
<constructor-arg>
<map>
<entry key="beanMatcher">
<bean class="com.liferay.portal.kernel.spring.util.SpringFactoryUtil" factory-method="newBean">
<constructor-arg value="com.liferay.portal.spring.aop.ServiceBeanMatcher" />
</bean>
</entry>
<entry key="methodInterceptor" value-ref="serviceAdvice" />
</map>
</constructor-arg>
</bean>
<bean class="com.liferay.portal.kernel.spring.util.SpringFactoryUtil" factory-method="newBean">
<constructor-arg value="com.liferay.portal.spring.bean.BeanReferenceAnnotationBeanPostProcessor" />
</bean>
<bean class="com.liferay.portal.kernel.spring.util.SpringFactoryUtil" factory-method="newBean">
<constructor-arg value="com.liferay.portal.spring.context.PortletBeanFactoryCleaner" />
</bean>
<bean id="portletClassLoader" class="com.liferay.portal.kernel.portlet.PortletClassLoaderUtil" factory-method="getClassLoader" />
<bean id="servletContextName" class="com.liferay.portal.kernel.portlet.PortletClassLoaderUtil" factory-method="getServletContextName" />
<bean id="basePersistence" abstract="true">
<property name="dataSource" ref="liferayDataSource" />
<property name="sessionFactory" ref="liferaySessionFactory" />
</bean>
<bean id="serviceAdvice" class="com.liferay.portal.kernel.spring.util.SpringFactoryUtil" factory-method="newBean">
<constructor-arg value="com.liferay.portal.spring.aop.SkipAdvice" />
<constructor-arg>
<map>
<entry key="nextMethodInterceptor" value-ref="accessControlAdvice" />
</map>
</constructor-arg>
</bean>
<bean id="accessControlAdvice" class="com.liferay.portal.kernel.spring.util.SpringFactoryUtil" factory-method="newBean">
<constructor-arg value="com.liferay.portal.security.ac.AccessControlAdvice" />
<constructor-arg>
<map>
<entry key="accessControlAdvisor">
<bean class="com.liferay.portal.kernel.spring.util.SpringFactoryUtil" factory-method="newBean">
<constructor-arg value="com.liferay.portal.security.ac.AccessControlAdvisorImpl" />
</bean>
</entry>
<entry key="nextMethodInterceptor" value-ref="portalResiliencyAdvice" />
</map>
</constructor-arg>
</bean>
<bean id="portalResiliencyAdvice" class="com.liferay.portal.kernel.spring.util.SpringFactoryUtil" factory-method="newBean">
<constructor-arg value="com.liferay.portal.resiliency.service.PortalResiliencyAdvice" />
<constructor-arg>
<map>
<entry key="nextMethodInterceptor" value-ref="serviceMonitorAdvice" />
</map>
</constructor-arg>
</bean>
<bean id="serviceMonitorAdvice" class="com.liferay.portal.kernel.spring.util.SpringFactoryUtil" factory-method="newBean">
<constructor-arg value="com.liferay.portal.monitoring.statistics.service.ServiceMonitorAdvice" />
<constructor-arg>
<map>
<entry key="nextMethodInterceptor" value-ref="asyncAdvice" />
</map>
</constructor-arg>
</bean>
<bean id="asyncAdvice" class="com.liferay.portal.kernel.spring.util.SpringFactoryUtil" factory-method="newBean">
<constructor-arg value="com.liferay.portal.messaging.async.AsyncAdvice" />
<constructor-arg>
<map>
<entry key="defaultDestinationName" value="liferay/async_service" />
<entry key="nextMethodInterceptor" value-ref="threadLocalCacheAdvice" />
</map>
</constructor-arg>
</bean>
<bean id="threadLocalCacheAdvice" class="com.liferay.portal.kernel.spring.util.SpringFactoryUtil" factory-method="newBean">
<constructor-arg value="com.liferay.portal.cache.ThreadLocalCacheAdvice" />
<constructor-arg>
<map>
<entry key="nextMethodInterceptor" value-ref="bufferedIncrementAdvice" />
</map>
</constructor-arg>
</bean>
<bean id="bufferedIncrementAdvice" class="com.liferay.portal.kernel.spring.util.SpringFactoryUtil" factory-method="newBean">
<constructor-arg value="com.liferay.portal.increment.BufferedIncrementAdvice" />
<constructor-arg>
<map>
<entry key="nextMethodInterceptor" value-ref="indexableAdvice" />
</map>
</constructor-arg>
</bean>
<bean id="indexableAdvice" class="com.liferay.portal.kernel.spring.util.SpringFactoryUtil" factory-method="newBean">
<constructor-arg value="com.liferay.portal.search.IndexableAdvice" />
<constructor-arg>
<map>
<entry key="nextMethodInterceptor" value-ref="systemEventAdvice" />
</map>
</constructor-arg>
</bean>
<bean id="systemEventAdvice" class="com.liferay.portal.kernel.spring.util.SpringFactoryUtil" factory-method="newBean">
<constructor-arg value="com.liferay.portal.systemevent.SystemEventAdvice" />
<constructor-arg>
<map>
<entry key="nextMethodInterceptor" value-ref="transactionAdvice" />
</map>
</constructor-arg>
</bean>
<bean id="transactionAdvice" class="com.liferay.portal.kernel.spring.util.SpringFactoryUtil" factory-method="newBean">
<constructor-arg value="com.liferay.portal.spring.transaction.TransactionInterceptorFactoryBean" />
<constructor-arg>
<map>
<entry key="platformTransactionManager" value-ref="liferayTransactionManager" />
<entry key="transactionAttributeSource" value-ref="transactionAttributeSource" />
</map>
</constructor-arg>
</bean>
<bean id="transactionAttributeSource" class="com.liferay.portal.kernel.spring.util.SpringFactoryUtil" factory-method="newBean">
<constructor-arg value="com.liferay.portal.spring.transaction.AnnotationTransactionAttributeSource" />
</bean>
</beans>
\ No newline at end of file
<?xml version="1.0"?>
<model-hints>
<hint-collection name="CLOB">
<hint name="max-length">2000000</hint>
</hint-collection>
<hint-collection name="CAMPO_MEDIO">
<hint name="max-length">4000</hint>
</hint-collection>
<hint-collection name="CAMPO_PEQUENO">
<hint name="max-length">255</hint>
</hint-collection>
<model name="br.mp.mprj.portal.portlet.gestaomensagens.service.model.Agendamento">
<field name="uuid" type="String" />
<field name="agendamentoId" type="long" />
<field name="mensagemId" type="long" />
<field name="companyId" type="long" />
<field name="groupId" type="long" />
<field name="tipoAgendamento" type="int" />
<field name="dataCalendario" type="Date" />
<field name="dataInicio" type="Date" />
<field name="dataFim" type="Date" />
<field name="padraoRecorrencia" type="int" />
<field name="frequencia" type="int" />
<field name="diarioTodos" type="boolean" />
<field name="semanalDias" type="String" />
<field name="mensalDiaFrequencia" type="int" />
<field name="dataAtualizacao" type="Date" />
<field name="dataEnvio" type="Date" />
<field name="situacaoEnvio" type="int" />
<field name="erroEnvio" type="boolean" />
<field name="mensagemErro" type="String" />
</model>
<model name="br.mp.mprj.portal.portlet.gestaomensagens.service.model.AnexoMensagem">
<field name="uuid" type="String" />
<field name="anexoMensagemId" type="long" />
<field name="mensagemId" type="long" />
<field name="companyId" type="long" />
<field name="groupId" type="long" />
<field name="userId" type="long" />
<field name="dataCriacao" type="Date" />
<field name="anexoUrl" type="String">
<hint-collection name="CAMPO_PEQUENO" />
</field>
<field name="fileName" type="String">
<hint-collection name="CAMPO_PEQUENO" />
</field>
<field name="versao" type="String" />
<field name="contentType" type="String" />
<field name="ativo" type="boolean" />
<field name="anexoFileEntryId" type="long" />
<field name="anexoPath" type="String">
<hint-collection name="CAMPO_PEQUENO" />
</field>
</model>
<model name="br.mp.mprj.portal.portlet.gestaomensagens.service.model.EmailDestinatario">
<field name="uuid" type="String" />
<field name="emailDestinatarioId" type="long" />
<field name="email" type="String" />
<field name="grupoDestinatarioId" type="long" />
</model>
<model name="br.mp.mprj.portal.portlet.gestaomensagens.service.model.GrupoDestinatario">
<field name="uuid" type="String" />
<field name="grupoDestinatarioId" type="long" />
<field name="companyId" type="long" />
<field name="groupId" type="long" />
<field name="userId" type="long" />
<field name="nome" type="String" />
<field name="finalidade" type="String">
<hint-collection name="CLOB" />
</field>
<field name="userIdResponsaveis" type="String" />
<field name="listaTemporaria" type="boolean" />
<field name="dataFinalListaTemporaria" type="Date" />
<field name="envioEmNomeLista" type="boolean" />
<field name="userIdNomesLista" type="String" />
<field name="listaModerada" type="boolean" />
<field name="userIdListaModerada" type="String" />
<field name="ativo" type="boolean" />
<field name="dataCriacao" type="Date" />
<field name="dataAtualizacao" type="Date" />
<field name="tipoLista" type="int" />
</model>
<model name="br.mp.mprj.portal.portlet.gestaomensagens.service.model.Mensagem">
<field name="uuid" type="String" />
<field name="mensagemId" type="long" />
<field name="companyId" type="long" />
<field name="groupId" type="long" />
<field name="templateId" type="long" />
<field name="grupoDestinatarioIds" type="String">
<hint-collection name="CAMPO_PEQUENO" />
</field>
<field name="contaSaidaId" type="long" />
<field name="codigoMensagem" type="String" />
<field name="assunto" type="String">
<hint-collection name="CAMPO_PEQUENO" />
</field>
<field name="conteudo" type="String">
<hint-collection name="CLOB" />
</field>
<field name="prioridade" type="int" />
<field name="ativo" type="boolean" />
<field name="tipoEnvio" type="int" />
<field name="situacaoEnvio" type="int" />
<field name="nomeSolicitante" type="String" />
<field name="userIdCriador" type="long" />
<field name="dataSolicitacao" type="Date" />
<field name="dataUltimoEnvio" type="Date" />
<field name="dataAlteracao" type="Date" />
<field name="rascunho" type="boolean" />
<field name="statusWorkflow" type="int" />
<field name="userIdWorkflow" type="long" />
<field name="dataStatusWorkflow" type="Date" />
<field name="comentarioWorkflow" type="String">
<hint-collection name="CAMPO_MEDIO" />
</field>
<field name="clonagemPai" type="long" />
<field name="literalAgendamento" type="String">
<hint-collection name="CLOB" />
</field>
<field name="userIdCancel" type="long" />
<field name="userIdAprovador" type="long" />
<field name="userIdReprovador" type="long" />
<field name="dataCancel" type="Date" />
<field name="service" type="boolean" />
</model>
<model name="br.mp.mprj.portal.portlet.gestaomensagens.service.model.MensagemWorkflow">
<field name="uuid" type="String" />
<field name="mensagemWorkflowId" type="long" />
<field name="mensagemId" type="long" />
<field name="userId" type="long" />
<field name="status" type="int" />
<field name="data" type="Date" />
<field name="comentario" type="String">
<hint-collection name="CAMPO_MEDIO" />
</field>
</model>
<model name="br.mp.mprj.portal.portlet.gestaomensagens.service.model.Template">
<field name="uuid" type="String" />
<field name="templateId" type="long" />
<field name="companyId" type="long" />
<field name="groupId" type="long" />
<field name="userId" type="long" />
<field name="nome" type="String">
<hint-collection name="CAMPO_PEQUENO" />
</field>
<field name="estilo" type="int" />
<field name="ativo" type="boolean" />
<field name="cabecalho" type="String">
<hint-collection name="CLOB" />
</field>
<field name="rodape" type="String">
<hint-collection name="CLOB" />
</field>
<field name="corpo" type="String">
<hint-collection name="CLOB" />
</field>
<field name="dataCriacao" type="Date" />
<field name="dataAtualizacao" type="Date" />
<field name="thumbnailFileEntryId" type="long" />
<field name="thumbnailURL" type="String">
<hint-collection name="CAMPO_PEQUENO" />
</field>
</model>
</model-hints>
\ No newline at end of file
<?xml version="1.0"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" default-destroy-method="destroy" default-init-method="afterPropertiesSet" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<bean id="br.mp.mprj.portal.portlet.gestaomensagens.service.service.AgendamentoLocalService" class="br.mp.mprj.portal.portlet.gestaomensagens.service.service.impl.AgendamentoLocalServiceImpl" />
<bean id="br.mp.mprj.portal.portlet.gestaomensagens.service.service.persistence.AgendamentoPersistence" class="br.mp.mprj.portal.portlet.gestaomensagens.service.service.persistence.AgendamentoPersistenceImpl" parent="basePersistence" />
<bean id="br.mp.mprj.portal.portlet.gestaomensagens.service.service.persistence.AgendamentoFinder" class="br.mp.mprj.portal.portlet.gestaomensagens.service.service.persistence.AgendamentoFinderImpl" parent="basePersistence" />
<bean id="br.mp.mprj.portal.portlet.gestaomensagens.service.service.AnexoMensagemLocalService" class="br.mp.mprj.portal.portlet.gestaomensagens.service.service.impl.AnexoMensagemLocalServiceImpl" />
<bean id="br.mp.mprj.portal.portlet.gestaomensagens.service.service.persistence.AnexoMensagemPersistence" class="br.mp.mprj.portal.portlet.gestaomensagens.service.service.persistence.AnexoMensagemPersistenceImpl" parent="basePersistence" />
<bean id="br.mp.mprj.portal.portlet.gestaomensagens.service.service.EmailDestinatarioLocalService" class="br.mp.mprj.portal.portlet.gestaomensagens.service.service.impl.EmailDestinatarioLocalServiceImpl" />
<bean id="br.mp.mprj.portal.portlet.gestaomensagens.service.service.persistence.EmailDestinatarioPersistence" class="br.mp.mprj.portal.portlet.gestaomensagens.service.service.persistence.EmailDestinatarioPersistenceImpl" parent="basePersistence" />
<bean id="br.mp.mprj.portal.portlet.gestaomensagens.service.service.GrupoDestinatarioLocalService" class="br.mp.mprj.portal.portlet.gestaomensagens.service.service.impl.GrupoDestinatarioLocalServiceImpl" />
<bean id="br.mp.mprj.portal.portlet.gestaomensagens.service.service.GrupoDestinatarioService" class="br.mp.mprj.portal.portlet.gestaomensagens.service.service.impl.GrupoDestinatarioServiceImpl" />
<bean id="br.mp.mprj.portal.portlet.gestaomensagens.service.service.persistence.GrupoDestinatarioPersistence" class="br.mp.mprj.portal.portlet.gestaomensagens.service.service.persistence.GrupoDestinatarioPersistenceImpl" parent="basePersistence" />
<bean id="br.mp.mprj.portal.portlet.gestaomensagens.service.service.MensagemLocalService" class="br.mp.mprj.portal.portlet.gestaomensagens.service.service.impl.MensagemLocalServiceImpl" />
<bean id="br.mp.mprj.portal.portlet.gestaomensagens.service.service.MensagemService" class="br.mp.mprj.portal.portlet.gestaomensagens.service.service.impl.MensagemServiceImpl" />
<bean id="br.mp.mprj.portal.portlet.gestaomensagens.service.service.persistence.MensagemPersistence" class="br.mp.mprj.portal.portlet.gestaomensagens.service.service.persistence.MensagemPersistenceImpl" parent="basePersistence" />
<bean id="br.mp.mprj.portal.portlet.gestaomensagens.service.service.MensagemWorkflowLocalService" class="br.mp.mprj.portal.portlet.gestaomensagens.service.service.impl.MensagemWorkflowLocalServiceImpl" />
<bean id="br.mp.mprj.portal.portlet.gestaomensagens.service.service.persistence.MensagemWorkflowPersistence" class="br.mp.mprj.portal.portlet.gestaomensagens.service.service.persistence.MensagemWorkflowPersistenceImpl" parent="basePersistence" />
<bean id="br.mp.mprj.portal.portlet.gestaomensagens.service.service.TemplateLocalService" class="br.mp.mprj.portal.portlet.gestaomensagens.service.service.impl.TemplateLocalServiceImpl" />
<bean id="br.mp.mprj.portal.portlet.gestaomensagens.service.service.TemplateService" class="br.mp.mprj.portal.portlet.gestaomensagens.service.service.impl.TemplateServiceImpl" />
<bean id="br.mp.mprj.portal.portlet.gestaomensagens.service.service.persistence.TemplatePersistence" class="br.mp.mprj.portal.portlet.gestaomensagens.service.service.persistence.TemplatePersistenceImpl" parent="basePersistence" />
</beans>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<custom-sql>
<sql file="custom-sql/mensagens-agendadas.xml" />
</custom-sql>
\ No newline at end of file
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Newsletter</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
* {
-webkit-text-size-adjust: none;
-webkit-text-resize: 100%;
text-resize: 100%;
}
.no-link a{
text-decoration:none !important;
color:#808080 !important;
}
.no-link-2 a{
text-decoration:none !important;
color:#979b9c !important;
}
#u10 {
border-width: 0px;
left: 280px;
top: 212px;
width: 384px;
height: 16px;
font-size: 14px;
color: #999999;
text-align: center;
}
@media only screen and (max-width:500px) {
table[class="wrapper"]{min-width:320px !important;}
table[class="flexible"]{width:100% !important;}
td[class="img-flex"] img{
width:100% !important;
height:auto !important;
}
td[class="aligncenter"]{text-align:center !important;}
td[class="section-1"]{padding:15px 10px !important;}
td[class="section-2"]{padding:25px 0 !important;}
td[class="section-3"]{padding:10px 0 0 !important;}
td[class="section-4"]{padding:20px 10px !important;}
td[class="section-5"]{padding:30px 10px 20px !important;}
td[class="button"]{padding:0 !important;}
td[class="button"] a{
display:block !important;
padding:12px 16px 10px !important;
text-align:center !important;
}
td[class="columns"]{padding:0 0 30px !important;}
td[class="col"]{width:32% !important;}
td[class="col"] td[class="img-flex"]{
height:auto !important;
padding:0 0 10px !important;
}
td[class="col"] td[class="text"]{
padding:0 !important;
font-size:11px !important;
}
td[class="social-networks"]{padding:0 0 30px !important;}
}
</style>
</head>
<body style="margin:0; padding:0;" bgcolor="#ffffff" link="#4787ce">
<table class="wrapper" width="100%" cellspacing="0" cellpadding="0" bgcolor="#ffffff">
<tr>
<td class="section-2" style="padding:39px 10px 37px;" align="center">
<table class="flexible" width="600" cellpadding="0" cellspacing="0">
<tr>
<td mc:edit="block-1" align="center" style="padding:0 0 5px;">
<a href="http://consumidorvencedor.mp.br/">
<img src="http://rj.consumidorvencedor.mp.br/documents/13137/309578/logo_Consumidor_Vencedor_sem_estado.png" border="0" style="vertical-align:top; width:200px;" alt="Logo Consumidor Vencedor" />
</a>
</td>
</tr>
<tr>
<td style="padding:0 0 4px;">
<table width="100%" cellpadding="0" cellspacing="0">
<tr>
<td width="50%">
<table width="100%" cellpadding="0" cellspacing="0">
<tr><td width="50%" height="1" style="font-size:0; line-height:0;" bgcolor="#dfe0e2">&nbsp;</td></tr>
<tr><td width="50%" height="1" style="font-size:0; line-height:0;" bgcolor="#edeef0">&nbsp;</td></tr>
</table>
</td>
<td mc:edit="block-2" align="center" style="font: 17px/35px Verdana, Arial, Helvetica, sans-serif;white-space:nowrap;color:#333;padding:0 22px;">
<span> Cadastro de Newsletter</span>
</td>
<td width="50%">
<table width="100%" cellpadding="0" cellspacing="0">
<tr><td width="50%" height="1" style="font-size:0; line-height:0;" bgcolor="#dfe0e2">&nbsp;</td></tr>
<tr><td width="50%" height="1" style="font-size:0; line-height:0;" bgcolor="#edeef0">&nbsp;</td></tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="section-2" align="center">
<table width="600" >
<tr>
<div id="u10" >
<span style="font-family: 'Arial Normal', 'Arial';">Esse é um e-mail automático. Não é necessário respondê-lo.</span>
</div>
</tr>
<br>
<br>
</table>
</td>
</tr>
<tr>
<td class="section-3" style="padding:40px 10% 40px 10%;border-top:1px solid #fdfdfd;font-family: 'Lato';font-weight: 400;font-style: normal;font-size: 16px;color: #2F3A48;" align="left" bgcolor="#f6f7f8">
<div>Seu e-mail foi cadastrado com sucesso! Seja bem-vindo!</div>
<div>Em breve, você receberá a nossa newsletter com as informações atualizadas sobre as vitórias obtidas na defesa coletiva dos consumidores.</div>
<br>
<br>
<div>Obrigado,</div>
<div>Consumidor Vencedor</div>
<div style="font-family: 'Lato Bold', 'Lato Regular', 'Lato';font-weight: 700;">consumidorvencedor.mp.br</div>
</td>
</tr>
<tr>
<td class="section-5" align="center" style=" font:12px/18px Arial, Helvetica, sans-serif; color:#979b9c; padding:39px 10px 37px; border-top:1px solid #eeeff0;">
<div style="padding: 0% 20% 2px 20%;">Você recebeu esta mensagem porque se cadastrou para receber e-mails do Consumidor Vencedor.
Respeitamos a sua privacidade, se você não deseja receber estes e-mails,clique <a href=[$URL$]>aqui</a> para cancelar o recebimento.</div>
<br>
[$RODAPE_TEXTO$]<br/>
[$RODAPE_ENDERECO$]
</td>
</tr>
</table>
</body>
</html>
\ No newline at end of file
<?xml version="1.0"?>
<!DOCTYPE liferay-portlet-app PUBLIC "-//Liferay//DTD Portlet Application 6.2.0//EN" "http://www.liferay.com/dtd/liferay-portlet-app_6_2_0.dtd">
<liferay-portlet-app>
<portlet>
<portlet-name>portlet-gestao-mensagens</portlet-name>
<icon>/icon.png</icon>
<configuration-action-class>com.liferay.portal.kernel.portlet.DefaultConfigurationAction</configuration-action-class>
<indexer-class>br.mp.mprj.portal.portlet.gestaomensagens.search.indexer.TemplateIndexer</indexer-class>
<indexer-class>br.mp.mprj.portal.portlet.gestaomensagens.search.indexer.MensagemIndexer</indexer-class>
<indexer-class>br.mp.mprj.portal.portlet.gestaomensagens.search.indexer.GrupoDestinatarioIndexer</indexer-class>
<indexer-class>br.mp.mprj.portal.portlet.gestaomensagens.search.indexer.AgendamentoIndexer</indexer-class>
<scheduler-entry>
<scheduler-description>Job para enviar os e-mails das mensagens aprovadas e pendentes</scheduler-description>
<scheduler-event-listener-class>br.mp.mprj.portal.portlet.gestaomensagens.job.AgendamentoJob</scheduler-event-listener-class>
<trigger>
<cron>
<cron-trigger-value>0 0/2 * 1/1 * ? *</cron-trigger-value>
</cron>
</trigger>
</scheduler-entry>
<control-panel-entry-category>content</control-panel-entry-category>
<control-panel-entry-weight>4</control-panel-entry-weight>
<asset-renderer-factory>br.mp.mprj.portal.portlet.gestaomensagens.asset.MensagemAssetRendererFactory</asset-renderer-factory>
<workflow-handler>br.mp.mprj.portal.portlet.gestaomensagens.workflow.MensagemWorkflowHandler</workflow-handler>
<preferences-unique-per-layout>false</preferences-unique-per-layout>
<requires-namespaced-parameters>false</requires-namespaced-parameters>
<header-portlet-css>/css/main.css</header-portlet-css>
<header-portlet-css>/css/owl.carousel.css</header-portlet-css>
<header-portlet-css>/css/owl.theme.css</header-portlet-css>
<header-portlet-javascript>/js/jquery.min.js</header-portlet-javascript>
<header-portlet-javascript>/js/owl.carousel.min.js</header-portlet-javascript>
<header-portlet-javascript>/js/jquery.maskedinput.min.js</header-portlet-javascript>
<footer-portlet-javascript>/js/main.js</footer-portlet-javascript>
<css-class-wrapper>gestao-msg-admin</css-class-wrapper>
</portlet>
<portlet>
<portlet-name>portlet-gestao-mensagens-cadastroUsuario</portlet-name>
<icon>/icon.png</icon>
<configuration-action-class>br.mp.mprj.portal.portlet.gestaomensagens.action.ConfiguracaoAction</configuration-action-class>
<friendly-url-mapper-class>com.liferay.portal.kernel.portlet.DefaultFriendlyURLMapper</friendly-url-mapper-class>
<friendly-url-mapping>gestao</friendly-url-mapping>
<friendly-url-routes>content/url-routes.xml</friendly-url-routes>
<requires-namespaced-parameters>false</requires-namespaced-parameters>
<header-portlet-css>/css/main.css</header-portlet-css>
<css-class-wrapper>gestao-msg</css-class-wrapper>
</portlet>
<role-mapper>
<role-name>administrator</role-name>
<role-link>Administrator</role-link>
</role-mapper>
<role-mapper>
<role-name>guest</role-name>
<role-link>Guest</role-link>
</role-mapper>
<role-mapper>
<role-name>power-user</role-name>
<role-link>Power User</role-link>
</role-mapper>
<role-mapper>
<role-name>user</role-name>
<role-link>User</role-link>
</role-mapper>
</liferay-portlet-app>
\ No newline at end of file
<?xml version="1.0"?>
<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd"
version="2.0">
<portlet>
<portlet-name>portlet-gestao-mensagens</portlet-name>
<display-name>portlet-gestao-mensagens</display-name>
<portlet-class>br.mp.mprj.portal.portlet.gestaomensagens.principal.AdministracaoPortlet</portlet-class>
<init-param>
<name>check-auth-token</name>
<value>false</value>
</init-param>
<init-param>
<name>view-template</name>
<value>/jsp/view.jsp</value>
</init-param>
<init-param>
<name>action.package.prefix</name>
<value>br.mp.mprj.portal.portlet.gestaomensagens.action</value>
</init-param>
<init-param>
<name>add-process-action-success-action</name>
<value>false</value>
</init-param>
<init-param>
<name>config-jsp</name>
<value>/jsp/config.jsp</value>
</init-param>
<expiration-cache>0</expiration-cache>
<supports>
<mime-type>text/html</mime-type>
</supports>
<resource-bundle>content/Language</resource-bundle>
<portlet-info>
<title>Gestão de Mensagens</title>
<short-title>Gestão Mensagens</short-title>
<keywords>gestao mensagens mensagem portlet</keywords>
</portlet-info>
<security-role-ref>
<role-name>administrator</role-name>
</security-role-ref>
<security-role-ref>
<role-name>guest</role-name>
</security-role-ref>
<security-role-ref>
<role-name>power-user</role-name>
</security-role-ref>
<security-role-ref>
<role-name>user</role-name>
</security-role-ref>
</portlet>
<portlet>
<portlet-name>portlet-gestao-mensagens-cadastroUsuario</portlet-name>
<display-name>portlet-gestao-mensagens-cadastroUsuario</display-name>
<portlet-class>br.mp.mprj.portal.portlet.gestaomensagens.principal.AdministracaoPortlet</portlet-class>
<init-param>
<name>check-auth-token</name>
<value>false</value>
</init-param>
<init-param>
<name>view-template</name>
<value>/jsp/cadastro-usuario.jsp</value>
</init-param>
<init-param>
<name>action.package.prefix</name>
<value>br.mp.mprj.portal.portlet.gestaomensagens.action</value>
</init-param>
<init-param>
<name>add-process-action-success-action</name>
<value>true</value>
</init-param>
<init-param>
<name>config-template</name>
<value>/jsp/cadastro-usuario-config.jsp</value>
</init-param>
<expiration-cache>0</expiration-cache>
<supports>
<mime-type>text/html</mime-type>
</supports>
<resource-bundle>content/Language</resource-bundle>
<portlet-info>
<title>Gestão de Mensagens - Cadastro Usuário</title>
<short-title>Gestão de Mensagens - Cadastro Usuário</short-title>
<keywords>gestao mensagens mensagem portlet</keywords>
</portlet-info>
<security-role-ref>
<role-name>administrator</role-name>
</security-role-ref>
<security-role-ref>
<role-name>guest</role-name>
</security-role-ref>
<security-role-ref>
<role-name>power-user</role-name>
</security-role-ref>
<security-role-ref>
<role-name>user</role-name>
</security-role-ref>
</portlet>
</portlet-app>
\ No newline at end of file
create index IX_B2BB3C9B on PRT_GESTMSG_AGENDAMENTO (mensagemId);
create index IX_257A84BD on PRT_GESTMSG_AGENDAMENTO (mensagemId, dataCalendario);
create index IX_C3FC0321 on PRT_GESTMSG_AGENDAMENTO (mensagemId, situacaoEnvio);
create index IX_CBC3D426 on PRT_GESTMSG_AGENDAMENTO (mensagemId, tipoAgendamento);
create index IX_2AB99FFA on PRT_GESTMSG_AGENDAMENTO (mensagemId, tipoAgendamento, situacaoEnvio, agendamentoId);
create index IX_6358D27B on PRT_GESTMSG_AGENDAMENTO (situacaoEnvio);
create index IX_A0040395 on PRT_GESTMSG_AGENDAMENTO (situacaoEnvio, mensagemId);
create index IX_8DCA6213 on PRT_GESTMSG_AGENDAMENTO (uuid_);
create index IX_40EDA835 on PRT_GESTMSG_AGENDAMENTO (uuid_, companyId);
create unique index IX_36BCB7F7 on PRT_GESTMSG_AGENDAMENTO (uuid_, groupId);
create index IX_AAB7F445 on PRT_GESTMSG_ANEXO_MENSAGEM (mensagemId);
create index IX_6719BEDA on PRT_GESTMSG_ANEXO_MENSAGEM (mensagemId, ativo);
create index IX_EEF00829 on PRT_GESTMSG_ANEXO_MENSAGEM (uuid_);
create index IX_128785F on PRT_GESTMSG_ANEXO_MENSAGEM (uuid_, companyId);
create unique index IX_ECE18AA1 on PRT_GESTMSG_ANEXO_MENSAGEM (uuid_, groupId);
create index IX_D471496A on PRT_GESTMSG_GRP_DESTINATARIO (grupoDestinatarioId);
create index IX_CC3E6DC8 on PRT_GESTMSG_GRP_DESTINATARIO (nome, tipoLista, ativo);
create index IX_1794A67B on PRT_GESTMSG_GRP_DESTINATARIO (tipoLista, ativo);
create index IX_37E03B59 on PRT_GESTMSG_GRP_DESTINATARIO (uuid_);
create index IX_9779672F on PRT_GESTMSG_GRP_DESTINATARIO (uuid_, companyId);
create unique index IX_213FED71 on PRT_GESTMSG_GRP_DESTINATARIO (uuid_, groupId);
create index IX_475B6B70 on PRT_GESTMSG_MAIL_DESTINATARIO (grupoDestinatarioId);
create index IX_B767BFDF on PRT_GESTMSG_MAIL_DESTINATARIO (uuid_);
create unique index IX_A5CC8173 on PRT_GESTMSG_MENSAGEM (codigoMensagem);
create index IX_B0F07EF on PRT_GESTMSG_MENSAGEM (groupId);
create index IX_2CBB7E3C on PRT_GESTMSG_MENSAGEM (rascunho, userIdCriador);
create index IX_30363020 on PRT_GESTMSG_MENSAGEM (statusWorkflow);
create index IX_19EEBEAF on PRT_GESTMSG_MENSAGEM (userIdCriador);
create index IX_E8D3CA39 on PRT_GESTMSG_MENSAGEM (uuid_);
create index IX_25D1CC4F on PRT_GESTMSG_MENSAGEM (uuid_, companyId);
create unique index IX_4EAF1A91 on PRT_GESTMSG_MENSAGEM (uuid_, groupId);
create index IX_A8F9E8C9 on PRT_GESTMSG_MENSAGEM_WORKFLOW (mensagemId);
create index IX_A9A05125 on PRT_GESTMSG_MENSAGEM_WORKFLOW (uuid_);
create index IX_2B34A40 on PRT_GESTMSG_TEMPLATE (groupId);
create unique index IX_1C82330D on PRT_GESTMSG_TEMPLATE (groupId, nome);
create unique index IX_666E8BE8 on PRT_GESTMSG_TEMPLATE (nome, ativo);
create index IX_46966CCA on PRT_GESTMSG_TEMPLATE (uuid_);
create index IX_C114951E on PRT_GESTMSG_TEMPLATE (uuid_, companyId);
create unique index IX_225BCB20 on PRT_GESTMSG_TEMPLATE (uuid_, groupId);
\ No newline at end of file
create table PRT_GESTMSG_AGENDAMENTO (
uuid_ VARCHAR(75) null,
agendamentoId LONG not null primary key,
mensagemId LONG,
companyId LONG,
groupId LONG,
tipoAgendamento INTEGER,
dataCalendario DATE null,
dataInicio DATE null,
dataFim DATE null,
padraoRecorrencia INTEGER,
frequencia INTEGER,
diarioTodos BOOLEAN,
semanalDias VARCHAR(75) null,
mensalDiaFrequencia INTEGER,
dataAtualizacao DATE null,
dataEnvio DATE null,
situacaoEnvio INTEGER,
erroEnvio BOOLEAN,
mensagemErro VARCHAR(75) null
);
create table PRT_GESTMSG_ANEXO_MENSAGEM (
uuid_ VARCHAR(75) null,
anexoMensagemId LONG not null primary key,
mensagemId LONG,
companyId LONG,
groupId LONG,
userId LONG,
dataCriacao DATE null,
anexoUrl VARCHAR(255) null,
fileName VARCHAR(255) null,
versao VARCHAR(75) null,
contentType VARCHAR(75) null,
ativo BOOLEAN,
anexoFileEntryId LONG,
anexoPath VARCHAR(255) null
);
create table PRT_GESTMSG_GRP_DESTINATARIO (
uuid_ VARCHAR(75) null,
grupoDestinatarioId LONG not null primary key,
companyId LONG,
groupId LONG,
userId LONG,
nome VARCHAR(75) null,
finalidade TEXT null,
userIdResponsaveis VARCHAR(75) null,
listaTemporaria BOOLEAN,
dataFinalListaTemporaria DATE null,
envioEmNomeLista BOOLEAN,
userIdNomesLista VARCHAR(75) null,
listaModerada BOOLEAN,
userIdListaModerada VARCHAR(75) null,
ativo BOOLEAN,
dataCriacao DATE null,
dataAtualizacao DATE null,
tipoLista INTEGER
);
create table PRT_GESTMSG_MAIL_DESTINATARIO (
uuid_ VARCHAR(75) null,
emailDestinatarioId LONG not null primary key,
email VARCHAR(75) null,
grupoDestinatarioId LONG
);
create table PRT_GESTMSG_MENSAGEM (
uuid_ VARCHAR(75) null,
mensagemId LONG not null primary key,
companyId LONG,
groupId LONG,
templateId LONG,
grupoDestinatarioIds VARCHAR(255) null,
contaSaidaId LONG,
codigoMensagem VARCHAR(75) null,
assunto VARCHAR(255) null,
conteudo TEXT null,
prioridade INTEGER,
ativo BOOLEAN,
tipoEnvio INTEGER,
situacaoEnvio INTEGER,
nomeSolicitante VARCHAR(75) null,
userIdCriador LONG,
dataSolicitacao DATE null,
dataUltimoEnvio DATE null,
dataAlteracao DATE null,
rascunho BOOLEAN,
statusWorkflow INTEGER,
userIdWorkflow LONG,
dataStatusWorkflow DATE null,
comentarioWorkflow STRING null,
clonagemPai LONG,
literalAgendamento TEXT null,
userIdCancel LONG,
userIdAprovador LONG,
userIdReprovador LONG,
dataCancel DATE null,
service BOOLEAN
);
create table PRT_GESTMSG_MENSAGEM_WORKFLOW (
uuid_ VARCHAR(75) null,
mensagemWorkflowId LONG not null primary key,
mensagemId LONG,
userId LONG,
status INTEGER,
data_ DATE null,
comentario STRING null
);
create table PRT_GESTMSG_TEMPLATE (
uuid_ VARCHAR(75) null,
templateId LONG not null primary key,
companyId LONG,
groupId LONG,
userId LONG,
nome VARCHAR(255) null,
estilo INTEGER,
ativo BOOLEAN,
cabecalho TEXT null,
rodape TEXT null,
corpo TEXT null,
dataCriacao DATE null,
dataAtualizacao DATE null,
thumbnailFileEntryId LONG,
thumbnailURL VARCHAR(255) null
);
\ No newline at end of file
/*
jQuery Masked Input Plugin
Copyright (c) 2007 - 2015 Josh Bush (digitalbush.com)
Licensed under the MIT license (http://digitalbush.com/projects/masked-input-plugin/#license)
Version: 1.4.1
*/
!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a("object"==typeof exports?require("jquery"):jQuery)}(function(a){var b,c=navigator.userAgent,d=/iphone/i.test(c),e=/chrome/i.test(c),f=/android/i.test(c);a.mask={definitions:{9:"[0-9]",a:"[A-Za-z]","*":"[A-Za-z0-9]"},autoclear:!0,dataName:"rawMaskFn",placeholder:"_"},a.fn.extend({caret:function(a,b){var c;if(0!==this.length&&!this.is(":hidden"))return"number"==typeof a?(b="number"==typeof b?b:a,this.each(function(){this.setSelectionRange?this.setSelectionRange(a,b):this.createTextRange&&(c=this.createTextRange(),c.collapse(!0),c.moveEnd("character",b),c.moveStart("character",a),c.select())})):(this[0].setSelectionRange?(a=this[0].selectionStart,b=this[0].selectionEnd):document.selection&&document.selection.createRange&&(c=document.selection.createRange(),a=0-c.duplicate().moveStart("character",-1e5),b=a+c.text.length),{begin:a,end:b})},unmask:function(){return this.trigger("unmask")},mask:function(c,g){var h,i,j,k,l,m,n,o;if(!c&&this.length>0){h=a(this[0]);var p=h.data(a.mask.dataName);return p?p():void 0}return g=a.extend({autoclear:a.mask.autoclear,placeholder:a.mask.placeholder,completed:null},g),i=a.mask.definitions,j=[],k=n=c.length,l=null,a.each(c.split(""),function(a,b){"?"==b?(n--,k=a):i[b]?(j.push(new RegExp(i[b])),null===l&&(l=j.length-1),k>a&&(m=j.length-1)):j.push(null)}),this.trigger("unmask").each(function(){function h(){if(g.completed){for(var a=l;m>=a;a++)if(j[a]&&C[a]===p(a))return;g.completed.call(B)}}function p(a){return g.placeholder.charAt(a<g.placeholder.length?a:0)}function q(a){for(;++a<n&&!j[a];);return a}function r(a){for(;--a>=0&&!j[a];);return a}function s(a,b){var c,d;if(!(0>a)){for(c=a,d=q(b);n>c;c++)if(j[c]){if(!(n>d&&j[c].test(C[d])))break;C[c]=C[d],C[d]=p(d),d=q(d)}z(),B.caret(Math.max(l,a))}}function t(a){var b,c,d,e;for(b=a,c=p(a);n>b;b++)if(j[b]){if(d=q(b),e=C[b],C[b]=c,!(n>d&&j[d].test(e)))break;c=e}}function u(){var a=B.val(),b=B.caret();if(o&&o.length&&o.length>a.length){for(A(!0);b.begin>0&&!j[b.begin-1];)b.begin--;if(0===b.begin)for(;b.begin<l&&!j[b.begin];)b.begin++;B.caret(b.begin,b.begin)}else{for(A(!0);b.begin<n&&!j[b.begin];)b.begin++;B.caret(b.begin,b.begin)}h()}function v(){A(),B.val()!=E&&B.change()}function w(a){if(!B.prop("readonly")){var b,c,e,f=a.which||a.keyCode;o=B.val(),8===f||46===f||d&&127===f?(b=B.caret(),c=b.begin,e=b.end,e-c===0&&(c=46!==f?r(c):e=q(c-1),e=46===f?q(e):e),y(c,e),s(c,e-1),a.preventDefault()):13===f?v.call(this,a):27===f&&(B.val(E),B.caret(0,A()),a.preventDefault())}}function x(b){if(!B.prop("readonly")){var c,d,e,g=b.which||b.keyCode,i=B.caret();if(!(b.ctrlKey||b.altKey||b.metaKey||32>g)&&g&&13!==g){if(i.end-i.begin!==0&&(y(i.begin,i.end),s(i.begin,i.end-1)),c=q(i.begin-1),n>c&&(d=String.fromCharCode(g),j[c].test(d))){if(t(c),C[c]=d,z(),e=q(c),f){var k=function(){a.proxy(a.fn.caret,B,e)()};setTimeout(k,0)}else B.caret(e);i.begin<=m&&h()}b.preventDefault()}}}function y(a,b){var c;for(c=a;b>c&&n>c;c++)j[c]&&(C[c]=p(c))}function z(){B.val(C.join(""))}function A(a){var b,c,d,e=B.val(),f=-1;for(b=0,d=0;n>b;b++)if(j[b]){for(C[b]=p(b);d++<e.length;)if(c=e.charAt(d-1),j[b].test(c)){C[b]=c,f=b;break}if(d>e.length){y(b+1,n);break}}else C[b]===e.charAt(d)&&d++,k>b&&(f=b);return a?z():k>f+1?g.autoclear||C.join("")===D?(B.val()&&B.val(""),y(0,n)):z():(z(),B.val(B.val().substring(0,f+1))),k?b:l}var B=a(this),C=a.map(c.split(""),function(a,b){return"?"!=a?i[a]?p(b):a:void 0}),D=C.join(""),E=B.val();B.data(a.mask.dataName,function(){return a.map(C,function(a,b){return j[b]&&a!=p(b)?a:null}).join("")}),B.one("unmask",function(){B.off(".mask").removeData(a.mask.dataName)}).on("focus.mask",function(){if(!B.prop("readonly")){clearTimeout(b);var a;E=B.val(),a=A(),b=setTimeout(function(){B.get(0)===document.activeElement&&(z(),a==c.replace("?","").length?B.caret(0,a):B.caret(a))},10)}}).on("blur.mask",v).on("keydown.mask",w).on("keypress.mask",x).on("input.mask paste.mask",function(){B.prop("readonly")||setTimeout(function(){var a=A(!0);B.caret(a),h()},0)}),e&&f&&B.off("input.mask").on("input.mask",u),A()})}})});
\ No newline at end of file
<%@page import="br.mp.mprj.portal.portlet.gestaomensagens.search.UserSearch"%>
<%@ include file="/jsp/init.jsp" %>
<liferay-portlet:renderURL var="pesquisaURL" windowState="<%=LiferayWindowState.POP_UP.toString()%>">
<liferay-portlet:param name="mvcPath" value="/jsp/admin/destinatario/user-popup.jsp"/>
</liferay-portlet:renderURL>
<aui:form action="${pesquisaURL}" method="post" name="fmSearch" cssClass="search-terms">
<aui:input label="lista.usuario.nome" name="fullName" size="50" value="${param.fullName}" type="text" inlineField="true" />
<aui:input label="lista.usuario.email" name="emailAddress" size="50" value="${param.emailAddress}" type="text" inlineField="true" />
<aui:input type="hidden" name="tipoSelecao" value="${param.tipoSelecao}" />
<aui:button type="submit" value="search"/>
</aui:form>
<div class="separator"></div>
<%
PortletURL portletURL = renderResponse.createRenderURL();
portletURL.setParameter("fullName", ParamUtil.getString(request, "fullName"));
portletURL.setParameter("emailAddress", ParamUtil.getString(request, "emailAddress"));
portletURL.setParameter("tipoSelecao", ParamUtil.getString(request, "tipoSelecao"));
portletURL.setParameter("mvcPath", "/jsp/admin/destinatario/user-popup.jsp");
portletURL.setWindowState(LiferayWindowState.POP_UP);
%>
<aui:form name="fmUser" cssClass="search-results">
<liferay-ui:search-container
emptyResultsMessage="search.empty.usuarios"
delta="20" id="listaUsuarios"
deltaConfigurable="true"
iteratorURL="<%=portletURL%>"
rowChecker="<%= new RowChecker(renderResponse) %>">
<liferay-ui:search-container-results>
<%
Map<Integer , List<UserVO>> retorno = UserSearch.pesquisar(renderRequest, themeDisplay.getCompanyId(),
searchContainer.getStart() , searchContainer.getEnd() , ParamUtil.getString(request, "orderByCol"));
java.util.Map.Entry entry = retorno.entrySet().iterator().next();
List<UserVO> lista = (List<UserVO>) entry.getValue();
pageContext.setAttribute("results", lista);
pageContext.setAttribute("total", entry.getKey());
%>
</liferay-ui:search-container-results>
<liferay-ui:search-container-row
className="br.mp.mprj.portal.portlet.gestaomensagens.search.vo.UserVO"
escapedModel="true"
keyProperty="userId"
modelVar="users"
rowIdProperty="userId"
>
<aui:input name="userSel_${users.userId}_fullName" type="hidden" value="${users.fullName}"/>
<aui:input name="userSel_${users.userId}_emailAddress" type="hidden" value="${users.emailAddress}"/>
<liferay-ui:search-container-column-text
name="Nome"
property="fullName"
/>
<liferay-ui:search-container-column-text
name="Email"
property="emailAddress"
/>
</liferay-ui:search-container-row>
<liferay-ui:search-iterator />
</liferay-ui:search-container>
<aui:button cssClass="btn-primary"
type="button"
value="atualizar.usuario.associacao"
onClick="javascript:selecionarUsuarios()"/>
</aui:form>
<aui:script use="node">
Liferay.provide(
window,
'selecionarUsuarios',
function() {
var tipoSelecao = '<%=ParamUtil.getString(request, "tipoSelecao")%>';
var idsSel = Liferay.Util.listChecked(document.<portlet:namespace/>fmUser).split(',');
var rowAdd = [];
for (var i = 0; i < idsSel.length; i++) {
var id = idsSel[i];
if (id == 'on' || id == '') continue;
var fullName = A.one("#<portlet:namespace/>userSel_" + id + "_fullName").val();
var emailAddress = A.one("#<portlet:namespace/>userSel_" + id + "_emailAddress").val();
var obj = {
id: id,
fullName: fullName,
emailAddress: emailAddress
}
rowAdd.push(obj);
}
if (tipoSelecao == 'R'){
Liferay.Util.getOpener().associarUsuariosResponsaveis(rowAdd);
} else if (tipoSelecao == 'M'){
Liferay.Util.getOpener().associarUsuariosModeracao(rowAdd);
} else if (tipoSelecao == 'N'){
Liferay.Util.getOpener().associarUsuariosEmNome(rowAdd);
}
},
['liferay-util-list-fields']
);
</aui:script>
\ No newline at end of file
<%@page import="br.mp.mprj.portal.portlet.gestaomensagens.service.service.MensagemLocalServiceUtil"%>
<%@page import="br.mp.mprj.portal.portlet.gestaomensagens.service.model.impl.MensagemImpl"%>
<%@page import="javax.mail.search.MessageIDTerm"%>
<%@page import="com.liferay.portal.kernel.util.ParamUtil"%>
<%@page import="br.mp.mprj.portal.portlet.gestaomensagens.workflow.StatusWorkflowEnum"%>
<%@page import="br.mp.mprj.portal.portlet.gestaomensagens.enums.SituacaoEnvioEnum"%>
<%@page import="br.mp.mprj.portal.portlet.gestaomensagens.service.service.AnexoMensagemLocalServiceUtil"%>
<%@page import="br.mp.mprj.portal.portlet.gestaomensagens.service.model.AnexoMensagem"%>
<%
Mensagem mensagem = null;
if (ParamUtil.getBoolean(renderRequest, "clonar")){
mensagem = MensagemLocalServiceUtil.clonaMensagem(ParamUtil.getLong(renderRequest, "mensagemId"), renderRequest);
portletSession.setAttribute("mensagem", mensagem);
} else {
mensagem = MensagemLocalServiceUtil.getMensagem(renderRequest);
}
boolean rascunhoRecuperado = GetterUtil.getBoolean((Boolean)portletSession.getAttribute("rascunhoRecuperado")) || (mensagem != null && mensagem.getRascunho());
boolean edicao = ParamUtil.getBoolean(renderRequest, "edicao") || (portletSession.getAttribute("edicao") != null && ((Boolean) portletSession.getAttribute("edicao")) ? true : false);
if (edicao){
portletSession.setAttribute("edicao", true);
} else {
portletSession.removeAttribute("edicao");
}
boolean revisao = false;
if (mensagem!= null && (mensagem.getStatusWorkflow() == StatusWorkflowEnum.PENDENTE_REVISAO.getStatus() || edicao)){
revisao = true;
rascunhoRecuperado = true;
}
pageContext.setAttribute("mensagem", mensagem);
Template template = null;
if (mensagem != null) {
template = mensagem.getTemplate();
pageContext.setAttribute("template", template);
if (!mensagem.isNew() && rascunhoRecuperado) {
pageContext.setAttribute("rascunhoRecuperado", rascunhoRecuperado);
}
if (mensagem.getStatusWorkflow() == StatusWorkflowEnum.PENDENTE_REVISAO.getStatus() && revisao){
pageContext.setAttribute("pendenteRevisao", true);
}
}
List<AnexoMensagem> anexos = null;
if (mensagem != null){
anexos = AnexoMensagemLocalServiceUtil.recuperaAnexosPorMensagem(mensagem.getMensagemId());
}
%>
<c:if test="${rascunhoRecuperado eq true}">
<liferay-portlet:renderURL var="descartarRedirectURL">
<!-- <liferay-portlet:param name="mvcPath" value="/jsp/admin/template/listagem.jsp"/>
<liferay-portlet:param name="wizard" value="true"/>
<liferay-portlet:param name="passoAtual" value="1"/>
<liferay-portlet:param name="rascunho" value="${param.rascunho}"/>
<liferay-portlet:param name="edicao" value=""/> -->
<portlet:param name="mvcPath" value="/jsp/admin/template/listagem.jsp" />
<portlet:param name="navigation" value="preencher-mensagem" />
<portlet:param name="rascunho" value="true" />
<portlet:param name="primeiroPasso" value="true" />
</liferay-portlet:renderURL>
<liferay-portlet:actionURL var="descartarRascunhoURL">
<liferay-portlet:param name="<%= ActionRequest.ACTION_NAME %>" value='WizardMensagemDescartar'/>
<liferay-portlet:param name="mensagemId" value='${mensagem.mensagemId}'/>
<liferay-portlet:param name="redirect" value='${descartarRedirectURL}'/>
<liferay-portlet:param name="rascunho" value="${param.rascunho}"/>
<liferay-portlet:param name="edicao" value="<%=String.valueOf(edicao)%>"/>
</liferay-portlet:actionURL>
<div class="alerta-rascunho-recuperado alert alert-warn">
<liferay-ui:message key="wizard.rascunho.recuperado"/>
<a href="${descartarRascunhoURL}"><liferay-ui:message key="wizard.rascunho.descartar"/></a>
</div>
</c:if>
<c:if test="${pendenteRevisao eq true}">
<div class="alerta-rascunho-recuperado alert alert-warn">
<liferay-ui:message key="wizard.revisando.mensagem"/>
</div>
</c:if>
<%@ include file="/jsp/admin/includes/wizard-navegacao.jspf" %>
\ No newline at end of file
<%@ include file="/jsp/init.jsp" %>
<c:set var="portletImgFolder" value="${pageContext.request.contextPath}/images/preview-dispositivos"/>
<div id="preview-dispositivos" class="">
<aui:input name="htmlPreviewParametro" value='<%=ParamUtil.getString(request, "html")%>' type="hidden"/>
<div class="titulo" style="font-family:Verdana;font-size:10.0pt;">
<c:set var="tituloPreviewPadrao">
<liferay-ui:message key='preview.titulo-padrao'/>
</c:set>
<c:set var="tituloParam">
<%=ParamUtil.getString(request, "tituloPreview")%>
</c:set>
${empty tituloParam ? tituloPreviewPadrao : tituloParam}
</div>
<div class="corpo">
<div class="tipos-wrapper">
<div class="dispositivo desktop" data-tipo="desktop">
<div class="icone-wrapper">
<img src="${portletImgFolder}/desktop.png" class="icone">
</div>
<span class="nome" style="font-family:Verdana;font-size:10.0pt;"><liferay-ui:message key="preview.dispositivo.desktop"/></span>
</div>
<div class="dispositivo mobile" data-tipo="mobile">
<div class="icone-wrapper">
<img src="${portletImgFolder}/mobile.png" class="icone">
</div>
<span class="nome" style="font-family:Verdana;font-size:10.0pt;"><liferay-ui:message key="preview.dispositivo.mobile"/></span>
</div>
<div class="dispositivo tablet" data-tipo="tablet">
<div class="icone-wrapper">
<img src="${portletImgFolder}/tablet.png" class="icone">
</div>
<span class="nome" style="font-family:Verdana;font-size:10.0pt;"><liferay-ui:message key="preview.dispositivo.tablet"/></span>
</div>
<div style="clear: both;"></div>
</div>
<div style="clear: both;"></div>
<div id="preview-conteudo">
</div>
</div>
</div>
<aui:script use="node">
var containerPreview = A.one("#preview-dispositivos");
var objConteudo = A.one("#preview-conteudo");
var botoesDispositivos = A.all(".tipos-wrapper .dispositivo");
var hiddenHtmlParametro = A.one("#<portlet:namespace />htmlPreviewParametro");
var tipoSelecionado;
//atributos com dimensoes de cada dispositivo
var dispositivos = [
{
nome : 'desktop',
largura : '100%',
altura : '1024px'
},
{
nome : 'mobile',
largura: '480px',
altura : '640px'
},
{
nome : 'tablet',
largura: '768px',
altura : '1024px'
}
];
//define o evento para cada icone que representa um dispositivo
//executando a funcao previewConteudo, passando como parametro definido
//no atributo data-tipo.
botoesDispositivos.each(function(){
var obj = this;
obj.on('click', function(){
<portlet:namespace />previewConteudo(obj.attr("data-tipo"));
});
});
function getDispositivo(nome) {
if (nome == undefined) {
nome = tipoSelecionado;
}
if (nome != undefined) {
for (var i = 0; i < dispositivos.length; i++) {
if (dispositivos[i].nome == nome) {
return dispositivos[i];
}
}
}
return undefined;
}
function definirTipoSelecionado(nomeDispositivo) {
if (nomeDispositivo == undefined) return;
//desmarcar o ativo
botoesDispositivos.removeClass('ativo');
//definir o ativo de acordo com o dispositivo atual
A.one('.tipos-wrapper .dispositivo.' + nomeDispositivo).addClass('ativo');
tipoSelecionado = nomeDispositivo;
}
//funcao para atualizar o preview, a partir do click de algum dispositivo ou outro elemento
Liferay.provide(
window,
'<portlet:namespace />previewConteudo',
function(nomeDispositivo, conteudo) {
definirTipoSelecionado(nomeDispositivo);
var dispositivo = getDispositivo(nomeDispositivo);
if (dispositivo != undefined) {
//obter valor numerico da configuracao do dispositivo, de acordo com o tipo: % ou px
var valLarguraDisposivo = dispositivo.largura.indexOf('%') >= 0 ? containerPreview.width() : parseInt(dispositivo.largura, 10);
//verifica se o container principal, com os componentes de pre-visualizacao, comportara a largura do dispostivo
//sem exceder sua largura, caso contrario, define o tamanho do corpo do preview para 100%
objConteudo.setStyle('width', (containerPreview.width() >= valLarguraDisposivo ? dispositivo.largura : '100%'));
//objConteudo.setStyle('height', dispositivo.altura);
objConteudo.setStyle('max-height', dispositivo.altura);
if (conteudo != undefined) {
objConteudo.html(conteudo);
}
else if (window.definirConteudoPreview != undefined) {
conteudo = window.definirConteudoPreview();
if (conteudo != undefined) {
objConteudo.html(conteudo);
}
}
else if (hiddenHtmlParametro.val() != '') {
objConteudo.html(hiddenHtmlParametro.val());
}
else {
console.error('Conteúdo não definido!')
}
}
else {
console.error('Dispositivo não encontrado!');
}
}
);
//versao da funcao sem prefixo com portletnamespace.
Liferay.provide(
window,
'previewConteudo',
function(nomeDispositivo, conteudo) {
<portlet:namespace />previewConteudo(nomeDispositivo, conteudo);
}
);
//funcao para ser executado a partir de eventos definidos no CKEditor atraves da tag
//aui:input-editor, evitando utilizar o valor no parametro da funcao, que eh definido
//por padrao pelo proprio evento disparado pelo editor, com o valor do campo.
//Neste caso, esta informacao nao eh necessaria e pode causar problemas nas funcionalidades do preview,
//ja que o parametro padrao do preview eh o nome do dispositivo, e o evento disparado pelo editor manda todo
//o conteudo do campo!
Liferay.provide(
window,
'<portlet:namespace />previewConteudoEventoEditor',
function(conteudoEditor) {
//executa a funcao para pre-visualizar o conteudo com base nos editores HTML da pagina,
//e nao apenas o conteudo do editor que disparou o evento
<portlet:namespace />previewConteudo();
}
);
//inicializar com o dispositivo padrao: desktop
<portlet:namespace />previewConteudo('desktop');
</aui:script>
<%-- Referencia p/ navegacao lateral:
/liferay-portal-src-6.2-ee-sp11/portal-web/docroot/html/portlet/journal/view_folders.jsp
--%>
<%
String navigation = ParamUtil.getString(request, "navigation", "moduloPadrao");
%>
<div class="span2 navigation-pane">
<div id="<portlet:namespace/>menuLateralContainer" class="menu-lateral-wrapper">
<div id="<portlet:namespace />folderContainer">
<aui:nav cssClass="nav-list well">
<c:if test="${not empty parentTitle}">
<li class="nav-header">
${parentTitle}
</li>
</c:if>
<!-- Inicio do item de menu do modulo -->
<liferay-portlet:renderURL varImpl="viewModuloTemplateURL">
<portlet:param name="mvcPath" value="/jsp/admin/template/listagem.jsp" />
<portlet:param name="navigation" value="preencher-mensagem" />
<portlet:param name="rascunho" value="true" />
<portlet:param name="primeiroPasso" value="true" />
</liferay-portlet:renderURL>
<liferay-portlet:renderURL varImpl="viewModuloDestinatarioURL">
<portlet:param name="mvcPath" value="/jsp/admin/destinatario/listagem.jsp" />
<portlet:param name="navigation" value="template" />
</liferay-portlet:renderURL>
<liferay-portlet:renderURL varImpl="viewModuloPainelMensagemURL">
<portlet:param name="mvcPath" value="/jsp/admin/mensagem/painel.jsp" />
<portlet:param name="navigation" value="template" />
</liferay-portlet:renderURL>
<% Map<String, Object> dataView = new HashMap<String, Object>(); %>
<c:if test='<%=permissionChecker.hasPermission(scopeGroupId, "br.mp.mprj.portal.portlet.gestaomensagens.service.model", scopeGroupId, "LISTAR_TEMPLATE") %>'>
<% dataView.put("navigation", "preencher-mensagem"); %>
<liferay-ui:app-view-navigation-entry
dataView="<%= dataView %>"
entryTitle='Mensagem e Modelos'
selected='<%= navigation.equals("preencher-mensagem") %>'
viewURL="<%= viewModuloTemplateURL.toString() %>"
/>
</c:if>
<c:if test='<%=permissionChecker.hasPermission(scopeGroupId, "br.mp.mprj.portal.portlet.gestaomensagens.service.model", scopeGroupId, "MANTER_LISTAS") %>'>
<%
dataView = new HashMap<String, Object>();
dataView.put("navigation", "destinatario");
%>
<liferay-ui:app-view-navigation-entry
dataView="<%= dataView %>"
entryTitle='Gerenciar Listas'
selected='<%= navigation.equals("destinatario") %>'
viewURL="<%= viewModuloDestinatarioURL.toString() %>"
/>
</c:if>
<c:if test='<%=permissionChecker.hasPermission(scopeGroupId, "br.mp.mprj.portal.portlet.gestaomensagens.service.model", scopeGroupId, "LISTAR_PAINEL_APROVACAO") %>'>
<%
dataView = new HashMap<String, Object>();
dataView.put("navigation", "painel-mensagem");
%>
<liferay-ui:app-view-navigation-entry
dataView="<%= dataView %>"
entryTitle='Painel de Mensagens'
selected='<%= navigation.equals("painel-mensagem") %>'
viewURL="<%= viewModuloPainelMensagemURL.toString() %>"
/>
</c:if>
<!-- Termino do item de menu do modulo -->
</aui:nav>
</div>
</div>
</div>
\ No newline at end of file
<%@ include file="/jsp/init.jsp" %>
<liferay-portlet:renderURL var="pesquisaURL" windowState="<%=LiferayWindowState.POP_UP.toString()%>">
<liferay-portlet:param name="mvcPath" value="/jsp/admin/mensagem/destinatario-popup.jsp"/>
</liferay-portlet:renderURL>
<%
String orderByCol = ParamUtil.getString(request, "orderByCol");
String orderByType = ParamUtil.getString(request, "orderByType");
String sortingOrder = orderByType;
if(orderByType.equals("desc")){
orderByType = "asc";
}else{
orderByType = "desc";
}
String nomeParam = "";
if (!"".equals(ParamUtil.getString(request, "nomeListaDestinatarioSearch"))){
nomeParam = ParamUtil.getString(request, "nomeListaDestinatarioSearch");
} else if (!"".equals(ParamUtil.getString(request, "nome")) && "".equals(ParamUtil.getString(request, "operacao"))){
nomeParam = ParamUtil.getString(request, "nome");
}
PortletURL portletURL = renderResponse.createRenderURL();
portletURL.setParameter("nome", nomeParam);
portletURL.setParameter("tipoListaParam", "0");
portletURL.setParameter("mvcPath", "/jsp/admin/mensagem/destinatario-popup.jsp");
portletURL.setWindowState(LiferayWindowState.POP_UP);;
%>
<aui:form action="${pesquisaURL}" method="post" name="fmSearch" cssClass="search-terms">
<aui:input name="tipoLista" value="0" type="hidden" />
<aui:input name="nomeListaDestinatarioSearch"
cssClass="label-mensagem-dados"
value="${param.nome}"
type="text"
inlineField="false"
inlineLabel="left"
label="destinatario.busca.campo.nome"/>
<aui:button type="submit" value="search"/>
</aui:form>
<div class="separator"></div>
<aui:form name="fmDestinatarios" cssClass="search-results">
<liferay-ui:search-container
emptyResultsMessage="destinatario.lista.vazia"
deltaConfigurable="false"
delta="10"
orderByType="<%=orderByType %>"
iteratorURL="<%=portletURL%>"
rowChecker="<%= new RowChecker(renderResponse) %>">
<liferay-ui:search-container-results>
<%
Map<Integer , List<GrupoDestinatario>> retorno = GrupoDestinatarioSearch.pesquisar(renderRequest , themeDisplay.getCompanyId(),
searchContainer.getStart() , searchContainer.getEnd() , ParamUtil.getString(request, "orderByCol"), false);
java.util.Map.Entry entry = retorno.entrySet().iterator().next();
List<GrupoDestinatario> lista = (List<GrupoDestinatario>) entry.getValue();
pageContext.setAttribute("results", lista);
pageContext.setAttribute("total", entry.getKey());
%>
</liferay-ui:search-container-results>
<liferay-ui:search-container-row
className="br.mp.mprj.portal.portlet.gestaomensagens.service.model.GrupoDestinatario"
escapedModel="true"
keyProperty="grupoDestinatarioId"
modelVar="grupoDestinatario"
rowIdProperty="grupoDestinatarioId">
<aui:input name="destinatario_${grupoDestinatario.grupoDestinatarioId}_nome" type="hidden" value="${grupoDestinatario.nome}"/>
<input type="hidden" name="operacao" id="operacao" value="pesquisa"/>
<liferay-ui:search-container-column-text
name="Nome"
orderable="false"
property="nome"
cssClass="tabela-td-center"
/>
</liferay-ui:search-container-row>
<liferay-ui:search-iterator />
</liferay-ui:search-container>
<aui:button cssClass="btn-primary"
type="button"
value="atualizar-associacao-destinatarios"
onClick="javascript:selecionarRegistros()"/>
</aui:form>
<aui:script use="node">
Liferay.provide(
window,
'selecionarRegistros',
function() {
//cria um array de objetos com as informações dos usuários selecionados,
//para que sejam incluídos na página que originou o popup, para futura persistência na base.
var idsSel = Liferay.Util.listChecked(document.<portlet:namespace/>fmDestinatarios).split(',');
var rowAdd = [];
for (var i = 0; i < idsSel.length; i++) {
var id = idsSel[i];
if (id == 'on' || id == '') continue;
//campos hidden criados através do componente searchContainer
var nome = A.one("#<portlet:namespace/>destinatario_" + id + "_nome").val();
var obj = {
id: id,
nome: nome
}
rowAdd.push(obj);
}
Liferay.Util.getOpener().associarDestinatarios(rowAdd);
},
['liferay-util-list-fields']
);
</aui:script>
<script>
$('.lfr-pagination-delta-selector').hide();
</script>
<%@page import="br.mp.mprj.portal.portlet.gestaomensagens.service.service.AnexoMensagemLocalServiceUtil"%>
<%@page import="br.mp.mprj.portal.portlet.gestaomensagens.service.model.AnexoMensagem"%>
<%@ include file="/jsp/init.jsp"%>
<%@ page import="com.liferay.portal.kernel.util.StringBundler" %>
<%
Mensagem mensagem = MensagemLocalServiceUtil.getMensagem(ParamUtil.getLong(renderRequest, "mensagemId"));
pageContext.setAttribute("mensagem", mensagem);
StringBundler sb = null;
String nomeRemetente = "";
if (mensagem != null) {
if (mensagem.getTemplate() == null && mensagem.getTemplateId() > 0){
mensagem.setTemplate(TemplateLocalServiceUtil.getTemplate(mensagem.getTemplateId()));
Template template = null;
if (mensagem != null) {
template = mensagem.getTemplate();
pageContext.setAttribute("template", template);
}
}
long[] destIds = GetterUtil.getLongValues(mensagem.getGrupoDestinatarioIds().split("\\s"));
List<GrupoDestinatario> destinatarios = new ArrayList<GrupoDestinatario>();
for (long id : destIds) {
destinatarios.add(GrupoDestinatarioLocalServiceUtil.getGrupoDestinatario(id));
}
sb = new StringBundler(destinatarios.size() * 2);
for (int i = 0; i < destinatarios.size(); i++) {
GrupoDestinatario dest = destinatarios.get(i);
if (i > 0) {
sb.append(StringPool.COMMA + StringPool.SPACE);
}
sb.append(dest.getNome());
}
GrupoDestinatario remetente = GrupoDestinatarioLocalServiceUtil.getGrupoDestinatario(mensagem.getContaSaidaId());
nomeRemetente = remetente.getNome();
}
List<AnexoMensagem> anexos = null;
if (mensagem != null){
anexos = AnexoMensagemLocalServiceUtil.recuperaAnexosPorMensagem(mensagem.getMensagemId());
}
%>
<div class="context-pane painel-mensagens">
<c:set var="htmlMensagem">
<c:choose>
<c:when test="${template.templateId > 0 && template.estilo == 0}">
${template.cabecalho}
${mensagem.conteudo}
${template.rodape}
</c:when>
<c:otherwise>
<!-- {template.corpo}-->
${mensagem.conteudo}
</c:otherwise>
</c:choose>
</c:set>
<div>
<p style="font-family:Verdana;font-size:10.0pt;"><strong><liferay-ui:message key="mensagem.solicitante"/>: </strong><%=mensagem.getNomeSolicitante()%></p>
</div>
<div>
<p style="font-family:Verdana;font-size:10.0pt;"><strong><liferay-ui:message key="destinatario.lista"/>: </strong><%=sb.toString()%></p>
</div>
<div>
<p style="font-family:Verdana;font-size:10.0pt;"><strong><liferay-ui:message key="destinatario.conta"/>: </strong><%=nomeRemetente%></p>
</div>
<div>
<p style="font-family:Verdana;font-size:10.0pt;"><strong><liferay-ui:message key="mensagem.assunto"/>: </strong><%=mensagem.getAssunto()%></p>
</div>
<div>
<p style="font-family:Verdana;font-size:10.0pt;"><%=mensagem.getLiteralAgendamento()%></p>
</div>
<% if (anexos != null && anexos.size() > 0 ) {%>
<div>
<p></p>
<p><strong><liferay-ui:message key="anexos.visualizacao"/>:</strong></p>
<% for (AnexoMensagem anexo : anexos) {%>
<a target="_blank" href="<%=anexo.getAnexoUrl()%>"><%=anexo.getFileName()%></a> <br/>
<%} %>
</div>
<%} %>
<div><p></p></div>
<aui:input name="htmlMensagem" value="${htmlMensagem}" type="hidden" />
<c:set var="tituloPreview">
<liferay-ui:message key='mensagem.titulo-preview' />
</c:set>
<liferay-util:include
page="/jsp/admin/includes/componente-preview-html.jsp"
servletContext="<%=this.getServletContext()%>">
<liferay-util:param name="tituloPreview" value="${tituloPreview}" />
<liferay-util:param name="html" value="${htmlMensagem}" />
</liferay-util:include>
</div>
<%@ include file="/jsp/init.jsp" %>
<%@ include file="/jsp/admin/includes/menu-lateral-principal.jspf" %>
<div class="span10 context-pane">
<%@ include file="/jsp/admin/includes/carregar-dados-wizard.jspf" %>
<div class="formulario-mensagem-preview">
<liferay-ui:header title="mensagem.header.pre-visualizar"/>
<liferay-portlet:renderURL var="proximaPaginaURL">
<liferay-portlet:param name="mvcPath" value="/jsp/admin/mensagem/agendamento.jsp"/>
<liferay-portlet:param name="wizard" value="true"/>
<liferay-portlet:param name="passoAtual" value="4"/>
<liferay-portlet:param name="rascunho" value="${param.rascunho}"/>
</liferay-portlet:renderURL>
<liferay-portlet:renderURL var="paginaAnteriorURL">
<liferay-portlet:param name="mvcPath" value="/jsp/admin/mensagem/formulario.jsp"/>
<liferay-portlet:param name="wizard" value="true"/>
<liferay-portlet:param name="passoAtual" value="2"/>
<liferay-portlet:param name="rascunho" value="${param.rascunho}"/>
</liferay-portlet:renderURL>
<aui:form name="fmEmailTeste" method="post">
<aui:input name="rascunho" value="${param.rascunho}" type="hidden"/>
<c:set var="htmlMensagem">
<c:choose>
<c:when test="${template.estilo == 0}">
${template.cabecalho}
${mensagem.conteudo}
${template.rodape}
</c:when>
<c:otherwise>
${mensagem.conteudo}
</c:otherwise>
</c:choose>
</c:set>
<aui:input name="htmlMensagem" value="${htmlMensagem}" type="hidden"/>
<c:set var="tituloPreview">
<liferay-ui:message key='mensagem.titulo-preview'/>
</c:set>
<liferay-util:include
page="/jsp/admin/includes/componente-preview-html.jsp"
servletContext="<%=this.getServletContext()%>">
<liferay-util:param name="tituloPreview" value="${tituloPreview}"/>
<liferay-util:param name="html" value="${htmlMensagem}"/>
</liferay-util:include>
<% if (anexos != null && anexos.size() > 0 ) {%>
<div>
<p></p>
<p><strong><liferay-ui:message key="anexos.visualizacao"/>:</strong></p>
<% for (AnexoMensagem anexo : anexos) {%>
<a target="_blank" href="<%=anexo.getAnexoUrl()%>"><%=anexo.getFileName()%></a> <br/>
<%} %>
</div>
<%} %>
<aui:field-wrapper cssClass="campos-email-teste">
<div class="checkbox-wrapper" class="span8">
<aui:input name="chkEnviarEmail" label="mensagem.preview.checkbox-email-teste" inlineField="true" type="checkbox"/>
</div>
<div class="clearfix"></div>
<div id="camposWrapper" class="span8">
<aui:input name="emailTeste" inlineField="true" cssClass="span9" label="" value="<%=user.getEmailAddress()%>"/>
<aui:input name="contaSaidaId" value="${mensagem.contaSaidaId}" type="hidden"/>
<aui:button name="btEnviarEmail" cssClass="btn-primary" value="mensagem.preview.botao.enviar-email"/>
<div id="msgStatusEmailPreview"></div>
</div>
<div class="clearfix"></div>
</aui:field-wrapper>
</aui:form>
<div class="botoes-acao-wizard-wrapper clearfix">
<div class="botao-wizard-wrapper lado-esquerdo">
<a href="javascript:" id="<portlet:namespace/>btAnterior" class="botao-wizard anterior">
<i class="icon-circle-arrow-left"></i>
<liferay-ui:message key="wizard.navegacao.botao.mensagem.preencher-dados"/>
</a>
</div>
<div class="botao-wizard-wrapper lado-direito">
<a href="javascript:" id="<portlet:namespace/>btProximo" class="botao-wizard proximo">
<liferay-ui:message key="wizard.navegacao.botao.mensagem.agendar"/>
<i class="icon-circle-arrow-right"></i>
</a>
</div>
</div>
</div>
</div>
<liferay-portlet:resourceURL var="enviarEmalTesteURL" id="EnviarEmailMensagemTeste"/>
<aui:script use="node,aui-io-request">
var camposWrapper = $("#camposWrapper");
var chkEnviarEmail = $("#<portlet:namespace/>chkEnviarEmail");
var showEnviarEmail = function() {
if (chkEnviarEmail.val() == "true"){
camposWrapper.css("display", "block");
} else {
camposWrapper.css("display", "none");
}
};
$(':checkbox').click(function() {
showEnviarEmail();
});
A.one("#<portlet:namespace/>btProximo").on('click', function() {
window.location='${proximaPaginaURL}';
});
A.one("#<portlet:namespace/>btAnterior").on('click', function() {
window.location='${paginaAnteriorURL}';
});
A.one("#<portlet:namespace/>btEnviarEmail").on("click", function(event){
var objBotao = this;
A.io.request('${enviarEmalTesteURL}', {
method: 'post',
data: {
<portlet:namespace/>emailTeste: A.one("#<portlet:namespace/>emailTeste").val(),
<portlet:namespace/>contaSaidaId: A.one("#<portlet:namespace/>contaSaidaId").val()
},
on: {
start: function() {
exibirStatusEmailPreview("<liferay-ui:message key='mensagem.teste.enviando'/>");
objBotao.disabled = true;
},
success: function(){
exibirStatusEmailPreview("<liferay-ui:message key='mensagem.teste.sucesso'/>");
},
failure: function() {
exibirStatusEmailPreview("<liferay-ui:message key='mensagem.teste.enviando'/>");
},
end: function() {
objBotao.disabled = false;
}
}
});
});
function exibirStatusEmailPreview(mensagem) {
var obj = A.one("#msgStatusEmailPreview");
obj.html(mensagem);
}
</aui:script>
<%@ include file="/jsp/init.jsp" %>
<%@ include file="/jsp/admin/includes/menu-lateral-principal.jspf" %>
<div class="span10 context-pane">
<%@ include file="/jsp/admin/includes/carregar-dados-wizard.jspf" %>
<liferay-ui:success key="mensagem-gravada-aguardar-workflow" message="mensagem-gravada-aguardar-workflow"/>
<liferay-ui:success key="mensagem-gravada-aprovada-workflow" message="mensagem-gravada-aprovada-workflow"/>
<aui:model-context bean="<%= template %>" model="<%= Template.class %>" />
<div id="selecao-template-wrapper">
<liferay-ui:success key="template-sucesso-gravar" message="template.sucesso-gravar"/>
<liferay-ui:success key="sucesso-excluir" message="template.sucesso-excluir"/>
<liferay-ui:header title="template.header.listagem"/>
<aui:form name="fmSearchTemplate" action="#" cssClass="search-terms grupo-campos-busca">
<div>
<aui:input name="nomeTemplateSearch"
value="${param.nomeTemplateSearch}"
type="text"
inlineField="true"
inlineLabel="left"
label="template.busca.campo.nome"
cssClass="span10"
wrapperCssClass="span5"/>
<aui:button cssClass="pesquisa inline" type="submit" value="search"/>
<div class="clearfix"></div>
</div>
</aui:form>
<liferay-portlet:renderURL var="proximaPaginaURL">
<liferay-portlet:param name="mvcPath" value="/jsp/admin/mensagem/formulario.jsp"/>
<liferay-portlet:param name="wizard" value="true"/>
<liferay-portlet:param name="passoAtual" value="2"/>
<liferay-portlet:param name="exibirProximoPasso" value="true"/>
<liferay-portlet:param name="rascunho" value="${param.rascunho}"/>
</liferay-portlet:renderURL>
<liferay-portlet:actionURL var="processarPassoURL">
<liferay-portlet:param name="<%= ActionRequest.ACTION_NAME %>" value='WizardTemplate'/>
<liferay-portlet:param name="mvcPath" value="/jsp/admin/template/listagem.jsp"/>
<liferay-portlet:param name="rascunho" value="${param.rascunho}"/>
</liferay-portlet:actionURL>
<aui:form name="fmWizard" action="${processarPassoURL}" method="post">
<aui:input name="redirect" value="${proximaPaginaURL}" type="hidden"/>
<aui:field-wrapper required="true">
<div id="slider-templates-wrapper" class="">
<div class="lista-templates owl-carousel owl-theme" id="templates-scroll">
<c:set var="indexTemplateSel" value="-1"/>
<c:set var="listaTemplates" value="<%=TemplateSearch.pesquisar(renderRequest)%>" />
<c:forEach var="templateItem" items="${listaTemplates}" varStatus="status">
<%
Template templateItem = (Template)pageContext.getAttribute("templateItem");
%>
<c:if test="${templateItem.templateId eq template.templateId }">
<c:set var="indexTemplateSel" value="${status.index}"/>
</c:if>
<liferay-portlet:renderURL var="pesquisaURL">
<liferay-portlet:param name="mvcPath" value="/jsp/admin/template/listagem.jsp"/>
</liferay-portlet:renderURL>
<liferay-portlet:actionURL varImpl="removerModeloURL">
<liferay-portlet:param name="<%= ActionRequest.ACTION_NAME %>" value='TemplateExcluir'/>
<liferay-portlet:param name="redirect" value="${pesquisaURL}" />
<liferay-portlet:param name="templateId" value="<%= String.valueOf(templateItem.getTemplateId()) %>" />
</liferay-portlet:actionURL>
<div class="item">
<div class="miniatura-preview-template" >
<div class="conteudo">
<img alt="${templateItem.nome}" src='<%=ImagemUtil.getUrlThumbnailTemplate(renderRequest, templateItem.getThumbnailURL())%>'>
</div>
<aui:input name="templateId"
value="${templateItem.templateId}"
label="${templateItem.nome }"
type="radio"
inlineField="true"
checked="${templateItem.templateId eq template.templateId }">
<aui:validator
name="required"
errorMessage="template.validacao.erro.selecionar"/>
</aui:input>
<c:if test='<%=permissionChecker.hasPermission(scopeGroupId, "br.mp.mprj.portal.portlet.gestaomensagens.service.model", scopeGroupId, "ADICIONAR_TEMPLATE") %>'>
<div align="center">
<liferay-portlet:renderURL var="editarModeloURL">
<liferay-portlet:param name="mvcPath" value="/jsp/admin/template/edicao.jsp"/>
<liferay-portlet:param name="templateId" value="${templateItem.templateId}"/>
</liferay-portlet:renderURL>
<a href="${editarModeloURL}"><liferay-ui:message key="wizard.navegacao.botao.template.editar"/></a>
</div>
</c:if>
<c:if test='<%=permissionChecker.hasPermission(scopeGroupId, "br.mp.mprj.portal.portlet.gestaomensagens.service.model", scopeGroupId, "ADICIONAR_TEMPLATE") %>'>
<div align="center">
<a href="${removerModeloURL}" ><liferay-ui:message key="wizard.navegacao.botao.template.remover"/></a>
</div>
</c:if>
</div>
</div>
</c:forEach>
</div>
</div>
</aui:field-wrapper>
</aui:form>
<div class="botoes-acao-wizard-wrapper clearfix">
<c:set var="proximoDisabled" value="${empty listaTemplates}"/>
<div class="botao-wizard-wrapper">
<c:choose>
<c:when test="${proximoDisabled}">
<a href="javascript:" id="<portlet:namespace/>btProximoDisabled" class="botao-wizard proximo disabled" >
</c:when>
<c:otherwise>
<a href="javascript:" id="<portlet:namespace/>btProximo" class="botao-wizard proximo" >
</c:otherwise>
</c:choose>
<liferay-ui:message key="wizard.navegacao.botao.mensagem.preencher-dados"/>
<i class="icon-circle-arrow-right"></i>
</a>
</div>
<c:if test='<%=permissionChecker.hasPermission(scopeGroupId, "br.mp.mprj.portal.portlet.gestaomensagens.service.model", scopeGroupId, "ADICIONAR_TEMPLATE") %>'>
<div class="botao-wizard-wrapper link-novo-template clearfix">
<liferay-portlet:renderURL var="novoModeloURL">
<liferay-portlet:param name="mvcPath" value="/jsp/admin/template/formulario.jsp"/>
<liferay-portlet:param name="wizard" value="true"/>
<liferay-portlet:param name="passoAtual" value="1"/>
<liferay-portlet:param name="rascunho" value="${param.rascunho}"/>
<liferay-portlet:param name="novoTemplate" value="true"/>
</liferay-portlet:renderURL>
<a href="${novoModeloURL}" class="botao-wizard proximo"><liferay-ui:message key="wizard.navegacao.botao.template.novo"/></a>
</div>
</c:if>
</div>
</div>
</div>
<aui:script use="node">
A.one("#<portlet:namespace/>btProximo").on('click', function() {
submitForm(document.<portlet:namespace/>fmWizard);
});
$(document).ready(function() {
//container para os itens do carousel
var owl = $("#templates-scroll");
owl.owlCarousel({
slideSpeed : 300,
paginationSpeed : 400,
items: 5,
autoPlay: false,
stopOnHover: true,
pagination: false,
paginationNumbers: false,
autoHeight: false,
transitionStyle: "fade",
navigation: true,
navigationText: [
"<i class='icon-chevron-left icon-white'></i>",
"<i class='icon-chevron-right icon-white'></i>"
],
itemsScaleUp: false,
afterInit: function(elem) {
ajustarMargemSlider($(".owl-controls").css("display") == 'block');
var indexTemplate = parseInt('${indexTemplateSel}',10);
if (indexTemplate >= 0) {
owl.trigger("owl.goTo", indexTemplate);
}
},
afterUpdate: function(elem) {
ajustarMargemSlider($(".owl-controls").css("display") == 'block');
}
});
//remove a margem do container do carousel caso as setas de navegacao
//nao estejam sendo exibidas, evitando problemas esteticos
function ajustarMargemSlider(possuiNavegacao) {
var sliderWrapper = $("#slider-templates-wrapper");
var nomeCss = 'sem-navegacao';
if (!possuiNavegacao) {
if (!sliderWrapper.hasClass(nomeCss)) {
sliderWrapper.addClass(nomeCss);
}
}
else {
sliderWrapper.removeClass(nomeCss);
}
}
//redefinir tamanho da fonte das miniaturas para o tamanho padrao
$(".miniatura-preview-template .conteudo span").css("font-size", "8px");
});
</aui:script>
<script type="text/javascript">
document.getElementById("<portlet:namespace />nomeTemplateSearch").focus();
</script>
\ No newline at end of file
<%@page import="com.liferay.portal.service.persistence.PortletUtil"%>
<%@page import="javax.portlet.PortletSession"%>
<%@page import="br.mp.mprj.portal.portlet.gestaomensagens.service.service.persistence.GrupoDestinatarioUtil"%>
<%@page import="br.mp.mprj.portal.portlet.gestaomensagens.action.ConfiguracaoAction"%>
<%@ include file="/jsp/init.jsp" %>
<%
PortletPreferences preferences = renderRequest.getPreferences();
String grupoDestinatarioId = PrefsParamUtil.getString(preferences, request, "grupoDestinatarioId", PortletProps.get("configuracao.valor-padrao.IdgrupoMensagem"));
String emailRemetente = PrefsParamUtil.getString(preferences, request, "emailRemetente", PortletProps.get("configuracao.valor-padrao.IdgrupoMensagem"));
%>
Lista selecionada: <span>${nomeGrupo}</span>
<br><br>
Selecione uma lista:
<liferay-portlet:actionURL portletConfiguration="true" var="configurationURL" />
<aui:form action="${configurationURL}" method="post" name="fm">
<aui:input name="<%= Constants.CMD %>" type="hidden" value="<%= Constants.UPDATE %>" />
<aui:fieldset>
<select id="mySelect" onchange="myFunction()">
<option value="null">Selecione</option>
<c:forEach items="${grupo}" var="g">
<option value="${g.grupoDestinatarioId }">${g.nome }</option>
</c:forEach>
</select>
<aui:input id="grupoId" name="preferences--grupoDestinatarioId--" label="" type="text" value="<%=grupoDestinatarioId%>" style="display:none;"/>
<aui:input id="emailRemetente" name="preferences--emailRemetente--" label="E-mail Remetente" type="text" value="<%=emailRemetente %>"/>
<aui:button-row>
<aui:button type="submit" cssClass="btn-primary" value="save"/>
</aui:button-row>
</aui:fieldset>
</aui:form>
<aui:script>
function myFunction() {
var id = document.getElementById("mySelect").value;
document.getElementById("<portlet:namespace/>grupoId").value = id;
}
</aui:script>
\ No newline at end of file
<%@page import="com.liferay.portal.kernel.servlet.SessionMessages"%>
<%@page import="com.liferay.portal.kernel.util.SessionParamUtil"%>
<%@ include file="/jsp/init.jsp" %>
<%@page import="br.mp.mprj.portal.portlet.gestaomensagens.action.GrupoDestinatarioAlterarIncluirActionCommand"%>
<%@page import="com.liferay.portal.kernel.servlet.SessionErrors" %>
<%
Boolean result = SessionMessages.contains(renderRequest, "cadastro-sucesso");
%>
<liferay-ui:error key="duplicado" message="E-mail informado j est cadastrado !" />
<liferay-portlet:actionURL var="addEmailDestinatario">
<liferay-portlet:param name="<%= ActionRequest.ACTION_NAME %>" value="InserirEmailDestinatario"/>
<liferay-portlet:param name="mvcPath" value="/jsp/cadastro-usuario.jsp"/>
</liferay-portlet:actionURL>
<liferay-portlet:renderURL var="redirect">
<liferay-portlet:param name="mvcPath" value="/jsp/cadastro-usuario.jsp"/>
</liferay-portlet:renderURL>
<c:if test="<%=result%>">
<div class="alert alert-info responsaveis-user">Seu e-mail foi cadastrado em nosso sistema. Aguarde para receber a prxima newsletter.</div>
</c:if>
<aui:form action="${addEmailDestinatario}" name="formCadEmail" id="formCadEmail" method="post">
<aui:input name="redirect" value="${redirect}" type="hidden"/>
<span>Cadastre-se e receba novidades em seu e-mail:</span>
<aui:row>
<aui:col span="9">
<aui:input name="email_usuario" type="text" label="" required="true" inlineLabel="top" inlineField="false" showRequiredLabel="false" maxlength="80">
<aui:validator name="required" />
<aui:validator name="email" errorMessage="Por favor, preencha o campo de e-mail corretamente." />
<aui:validator name="maxLength" errorMessage="Por favor, digite at 80 caracteres.">80</aui:validator>
</aui:input>
</aui:col>
<aui:col span="3" style="margin: 0 !important;">
<aui:input type = "submit" value = "Cadastrar" name = "btnEmailDestinatario" label=" " cssClass="span3" onClick="javascript:window.location.href = $('#<portlet:namespace/>redirect').val()"></aui:input>
</aui:col>
</aui:row>
</aui:form>
<%@ include file="/jsp/init.jsp" %>
<%
PortletPreferences preferences = renderRequest.getPreferences();
String horario = PrefsParamUtil.getString(preferences, request, "horarioPadrao", PortletProps.get("configuracao.valor-padrao.horario"));
String roleName = PrefsParamUtil.getString(preferences, request, "workflowRoleName", PortletProps.get("configuracao.valor-padrao.workflowRoleName"));
String urlThumbnail = PrefsParamUtil.getString(preferences, request, "template.url.thumbnail-padrao", PortletProps.get("configuracao.template.url.thumbnail-padrao"));
String urlServidorPortal = PrefsParamUtil.getString(preferences, request, "configuracao.email.url-servidor", PortletProps.get("configuracao.email.url-servidor"));
%>
<liferay-portlet:actionURL portletConfiguration="true" var="configurationURL" />
<aui:form action="${configurationURL}"
method="post"
name="fm">
<aui:input name="<%= Constants.CMD %>" type="hidden" value="<%= Constants.UPDATE %>" />
<aui:fieldset>
<aui:input name="preferences--horarioPadrao--" label="configuracao.horario-padrao" type="text" value="<%=horario%>"/>
<aui:input name="preferences--workflowRoleName--" label="configuracao.workflow-role-name-padrao" type="hidden" value="<%=roleName%>"/>
<aui:input name="preferences--template.url.thumbnail-padrao--" label="configuracao.thumbnail-padrao" type="text" value="<%=urlThumbnail%>"/>
<aui:input name="preferences--configuracao.email.url-servidor--" label="configuracao.email.url-servidor" type="text" value="<%=urlServidorPortal%>"/>
<aui:button-row>
<aui:button type="submit" cssClass="btn-primary" value="save"/>
</aui:button-row>
</aui:fieldset>
</aui:form>
\ No newline at end of file
<%@page import="javax.portlet.RenderRequest"%>
<%@page import="java.util.prefs.Preferences"%>
<%@page import="br.mp.mprj.portal.portlet.gestaomensagens.action.ConfiguracaoAction"%>
<%@page import="com.liferay.portal.service.persistence.PortletUtil"%>
<%@page import="javax.portlet.PortletSession"%>
<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %>
<%@ taglib uri="http://liferay.com/tld/ui" prefix="liferay-ui" %>
<%@ page import="javax.portlet.PortletPreferences" %>
<%@page import="com.liferay.portal.kernel.servlet.SessionMessages"%>
<%@page import="br.mp.mprj.portal.portlet.gestaomensagens.service.service.EmailDestinatarioLocalServiceUtil"%>
<%@ include file="/jsp/init.jsp" %>
<%
Boolean result = SessionMessages.contains(renderRequest, "sucesso-excluir");
%>
<liferay-ui:success key="sucess" message="Seu e-mail foi removido da nossa lista de envios com sucesso."/>
<liferay-ui:error key="nao-cadastrado" message="E-mail informado j foi removido!" />
<liferay-portlet:actionURL var="removerEmailDestinatario">
<liferay-portlet:param name="<%= ActionRequest.ACTION_NAME %>" value="ExcluirEmailDestinatario"/>
<liferay-portlet:param name="mvcPath" value="/jsp/excluir-usuario.jsp"/>
</liferay-portlet:actionURL>
<liferay-portlet:renderURL var="redirect">
<liferay-portlet:param name="mvcPath" value="/jsp/excluir-usuario.jsp"/>
</liferay-portlet:renderURL>
<div class="portlet-content">
<div class=" portlet-content-container" style="">
<div class="portlet-body">
<ul aria-label="Breadcrumb" class="breadcrumb breadcrumb-horizontal" style="padding-left: 0px;">
<li class="first"><a href="/web/consumidorvencedor-rj">Consumidor Vencedor</a><span class="divider">/</span></li><li class="active last"><a href="#">Descadastrar</a><span class="divider">/</span></li>
</ul>
</div>
</div>
</div>
<c:if test="<%=result%>">
<div class="alert alert-info responsaveis-user">Seu e-mail foi removido da nossa lista de envios com sucesso.</div>
</c:if>
<aui:form action="${removerEmailDestinatario}" name="formCadEmail" id="formCadEmail" method="post">
<aui:input name="redirect" value="${redirect}" type="hidden"/>
<span>Por favor, insira seu e-mail para cancelar o recebimento de newsletter:</span>
<aui:row>
<aui:col span="9">
<aui:input name="email_usuario" type="text" label="" required="true" inlineLabel="top" inlineField="false" showRequiredLabel="false" maxlength="80">
<aui:validator name="required" />
<aui:validator name="email" errorMessage="Por favor, preencha o campo de e-mail corretamente."/>
<aui:validator name="maxLength" errorMessage="Por favor, digite at 80 caracteres.">80</aui:validator>
</aui:input>
</aui:col>
<aui:col span="3" style="margin: 0 !important;">
<aui:input type = "submit" value = "Enviar" name = "btnEmailDestinatario" label=" " cssClass="span3" onClick="javascript:window.location.href = $('#<portlet:namespace/>redirect').val();"></aui:input>
</aui:col>
</aui:row>
</aui:form>
<aui:script>
AUI().ready('aui-module', function(A){
var b = document.getElementsByClassName("breadcrumb breadcrumb-horizontal");
var c = b[0].getElementsByClassName("active last")
var d = c[0].getElementsByTagName("a");
d[0].text = "descadastrar";
d[0].href = window.location;
});
</aui:script>
\ No newline at end of file
<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %>
<%@ taglib uri="http://liferay.com/tld/portlet" prefix="liferay-portlet"%>
<%@ taglib uri="http://liferay.com/tld/theme" prefix="liferay-theme"%>
<%@ taglib uri="http://liferay.com/tld/ui" prefix="liferay-ui"%>
<%@ taglib uri="http://liferay.com/tld/util" prefix="liferay-util"%>
<%@ taglib uri="http://alloy.liferay.com/tld/aui" prefix="aui"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<%@ page import="javax.portlet.PortletPreferences" %>
<%@ page import="javax.portlet.ActionRequest" %>
<%@ page import="javax.portlet.PortletURL" %>
<%@ page import="com.liferay.portal.util.PortalUtil" %>
<%@ page import="com.liferay.portal.kernel.util.HtmlUtil" %>
<%@ page import="com.liferay.portal.kernel.util.ParamUtil" %>
<%@ page import="com.liferay.portal.kernel.util.GetterUtil"%>
<%@ page import="com.liferay.portal.kernel.util.StringPool" %>
<%@ page import="com.liferay.portal.kernel.util.Validator" %>
<%@ page import="com.liferay.portal.kernel.dao.search.RowChecker" %>
<%@ page import="com.liferay.portal.kernel.search.Document" %>
<%@ page import="com.liferay.portal.kernel.dao.orm.QueryUtil" %>
<%@ page import="com.liferay.portal.kernel.search.Hits" %>
<%@ page import="com.liferay.portal.kernel.util.UnicodeFormatter" %>
<%@ page import="com.liferay.portal.service.UserLocalServiceUtil" %>
<%@ page import="com.liferay.util.portlet.PortletProps" %>
<%@ page import="com.liferay.portal.kernel.util.PrefsParamUtil" %>
<%@ page import="com.liferay.portal.kernel.util.Constants" %>
<%@ page import="com.liferay.portal.kernel.portlet.LiferayWindowState" %>
<%@ page import="java.text.SimpleDateFormat" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="java.util.Calendar" %>
<%@ page import="java.util.Date" %>
<%@ page import="java.util.HashMap" %>
<%@ page import="java.util.List" %>
<%@ page import="java.util.Map" %>
<%@ page import="java.util.WeakHashMap" %>
<%@ page import="br.mp.mprj.portal.portlet.gestaomensagens.search.GrupoDestinatarioSearch" %>
<%@ page import="br.mp.mprj.portal.portlet.gestaomensagens.search.UserSearch"%>
<%@ page import="br.mp.mprj.portal.portlet.gestaomensagens.service.model.EmailDestinatario" %>
<%@ page import="br.mp.mprj.portal.portlet.gestaomensagens.service.model.GrupoDestinatario" %>
<%@ page import="br.mp.mprj.portal.portlet.gestaomensagens.service.service.GrupoDestinatarioLocalServiceUtil" %>
<%@ page import="br.mp.mprj.portal.portlet.gestaomensagens.search.GrupoDestinatarioSearch" %>
<%@ page import="br.mp.mprj.portal.portlet.gestaomensagens.search.vo.UserVO" %>
<%@ page import="br.mp.mprj.portal.portlet.gestaomensagens.workflow.StatusWorkflowEnum"%>
<%@ page import="br.mp.mprj.portal.portlet.gestaomensagens.service.model.Template" %>
<%@ page import="br.mp.mprj.portal.portlet.gestaomensagens.service.model.Mensagem" %>
<%@ page import="br.mp.mprj.portal.portlet.gestaomensagens.service.service.TemplateLocalServiceUtil" %>
<%@ page import="br.mp.mprj.portal.portlet.gestaomensagens.service.service.MensagemLocalServiceUtil" %>
<%@ page import="br.mp.mprj.portal.portlet.gestaomensagens.search.TemplateSearch" %>
<%@ page import="br.mp.mprj.portal.portlet.gestaomensagens.search.MensagemSearch" %>
<%@ page import="br.mp.mprj.portal.portlet.gestaomensagens.enums.TipoListaEnum" %>
<%@ page import="br.mp.mprj.portal.portlet.gestaomensagens.util.ImagemUtil" %>
<%@ page import="br.mp.mprj.portal.portlet.gestaomensagens.workflow.WorkflowUtil" %>
<portlet:defineObjects />
<liferay-theme:defineObjects />
<%!
public static final String EDITOR_WYSIWYG_IMPL_KEY = "editor.wysiwyg.portal-web.docroot.html.portlet.portal_settings.email_notifications.jsp";
%>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment