Alterar Senha
-- Atualize sua senha de acesso ao sistema -
-Alterar Senha
+Atualize sua senha de acesso ao sistema
+Requisitos de Senha:
--
-
- Mínimo de 8 caracteres -
- Pelo menos uma letra maiúscula (A-Z) -
- Pelo menos uma letra minúscula (a-z) -
- Pelo menos um número (0-9) -
- Pelo menos um caractere especial (!@#$%^&*...) -
Requisitos de Senha:
+-
+
- Mínimo de 8 caracteres +
- Pelo menos uma letra maiúscula (A-Z) +
- Pelo menos uma letra minúscula (a-z) +
- Pelo menos um número (0-9) +
- Pelo menos um caractere especial (!@#$%^&*...) +
- - Dicas de Segurança -
--
-
- ✅ Nunca compartilhe sua senha com ninguém -
- ✅ Use uma senha única para cada sistema -
- ✅ Altere sua senha regularmente -
- - ✅ Não use informações pessoais óbvias (nome, data de nascimento, - etc.) - -
- ✅ Considere usar um gerenciador de senhas -
+ + Dicas de Segurança +
+-
+
- ✅ Nunca compartilhe sua senha com ninguém +
- ✅ Use uma senha única para cada sistema +
- ✅ Altere sua senha regularmente +
- ✅ Não use informações pessoais óbvias (nome, data de nascimento, etc.) +
- ✅ Considere usar um gerenciador de senhas +
Esqueci Minha Senha
-- Solicite a recuperação da sua senha de acesso -
-Esqueci Minha Senha
+Solicite a recuperação da sua senha de acesso
+Como funciona?
-- Informe sua matrícula e e-mail cadastrados. A equipe de TI receberá sua solicitação e entrará em contato para resetar sua senha. -
-Como funciona?
++ Informe sua matrícula e e-mail cadastrados. A equipe de TI receberá sua solicitação e + entrará em contato para resetar sua senha. +
+Solicitação Enviada!
-- Sua solicitação de recuperação de senha foi enviada para a equipe de TI. - Você receberá um contato em breve com as instruções para resetar sua senha. -
-Solicitação Enviada!
++ Sua solicitação de recuperação de senha foi enviada para a equipe de TI. Você receberá um + contato em breve com as instruções para resetar sua senha. +
+- - Precisa de Ajuda? -
-- Se você não conseguir recuperar sua senha ou tiver problemas com o sistema, entre em contato diretamente com a equipe de TI: -
-+ + Precisa de Ajuda? +
++ Se você não conseguir recuperar sua senha ou tiver problemas com o sistema, entre em contato + diretamente com a equipe de TI: +
+Gestão de Ausências
-- Visão geral de todas as solicitações de ausências -
-Gestão de Ausências
+Visão geral de todas as solicitações de ausências
+Filtros
-Filtros
+- Todas as Solicitações ({ausenciasFiltradas.length}) -
+ ++ Todas as Solicitações ({ausenciasFiltradas.length}) +
- {#if ausenciasFiltradas.length === 0} -| Funcionário | -Time | -Período | -Dias | -Motivo | -Status | -Solicitado em | -Ações | -
|---|---|---|---|---|---|---|---|
| - {ausencia.funcionario?.nome || "N/A"} - | -
- {#if ausencia.time}
-
- {ausencia.time.nome}
-
- {:else}
- Sem time
- {/if}
- |
- - {new Date(ausencia.dataInicio).toLocaleDateString("pt-BR")} até{" "} - {new Date(ausencia.dataFim).toLocaleDateString("pt-BR")} - | -- {calcularDias(ausencia.dataInicio, ausencia.dataFim)} dias - | -- {ausencia.motivo} - | -
-
- {getStatusTexto(ausencia.status)}
-
- |
- - {new Date(ausencia.criadoEm).toLocaleDateString("pt-BR")} - | -
- {#if ausencia.status === "aguardando_aprovacao"}
- |
-
| Funcionário | +Time | +Período | +Dias | +Motivo | +Status | +Solicitado em | +Ações | +
|---|---|---|---|---|---|---|---|
| + {ausencia.funcionario?.nome || 'N/A'} + | +
+ {#if ausencia.time}
+
+ {ausencia.time.nome}
+
+ {:else}
+ Sem time
+ {/if}
+ |
+ + {new Date(ausencia.dataInicio).toLocaleDateString('pt-BR')} até{' '} + {new Date(ausencia.dataFim).toLocaleDateString('pt-BR')} + | ++ {calcularDias(ausencia.dataInicio, ausencia.dataFim)} dias + | ++ {ausencia.motivo} + | +
+
+ {getStatusTexto(ausencia.status)}
+
+ |
+ + {new Date(ausencia.criadoEm).toLocaleDateString('pt-BR')} + | +
+ {#if ausencia.status === 'aguardando_aprovacao'}
+ |
+
Funcionários Cadastrados
-Gerencie os funcionários da secretaria
-Funcionários Cadastrados
+Gerencie os funcionários da secretaria
+
-
-
-
- Filtros de Pesquisa
-
-
+
+
+
+ Filtros de Pesquisa
+
+ | Nome | -CPF | -Matrícula | -Tipo | -Cidade | -UF | -Ações | -
|---|---|---|---|---|---|---|
| {f.nome} | -{f.cpf} | -{f.matricula} | -{f.simboloTipo} | -{f.cidade} | -{f.uf} | -
-
-
- |
-
| Nome | +CPF | +Matrícula | +Tipo | +Cidade | +UF | +Ações | +
|---|---|---|---|---|---|---|
| {f.nome} | +{f.cpf} | +{f.matricula} | +{f.simboloTipo} | +{f.cidade} | +{f.uf} | +
+
+
+ |
+
Gerenciar Documentos
-{funcionario.nome} - Matrícula: {funcionario.matricula}
-Gerenciar Documentos
++ {funcionario.nome} - Matrícula: {funcionario.matricula} +
+
- {categoria}
- {docsCategoria.length}
-
+
+ {#each categoriasDocumentos as categoria}
+ {@const docsCategoria = getDocumentosByCategoria(categoria).filter((doc) => {
+ const temDocumento = !!documentosStorage[doc.campo];
+ if (filtro === 'enviados') return temDocumento;
+ if (filtro === 'pendentes') return !temDocumento;
+ return true;
+ })}
-
+ {categoria}
+ {docsCategoria.length}
+
- {#if documentosFiltrados().length === 0}
- Editar Funcionário
-Atualize as informações do funcionário
-
-
-
-
- Informações Pessoais
-
-
-
-
-
-
- Documentos Pessoais
-
-
-
-
-
-
- Formação e Saúde
-
-
-
-
-
-
-
- Endereço e Contato
-
-
-
-
-
-
- Cargo e Vínculo
-
-
-
-
-
-
- Dados Bancários - Bradesco
-
-
-
-
-
-
- Documentação Anexa
-
-
- - Anexe os documentos necessários em formato PDF ou imagem (máximo 10MB cada) -
- - {#each categoriasDocumentos as categoria} -{categoria}
-
-
-
-
- Cursos e Treinamentos
-
-
- - Gerencie cursos e treinamentos do funcionário (até 7 cursos) -
- - {#if cursos.filter(c => !c.marcadoParaExcluir).length > 0} -Cursos cadastrados ({cursos.filter(c => !c.marcadoParaExcluir).length}/7)
- {#each cursos.filter(c => !c.marcadoParaExcluir) as curso} -{curso.descricao}
-{curso.data}
- {#if curso.certificadoId} -✓ Com certificado
- {/if} -Editar Funcionário
+Atualize as informações do funcionário
+
+
+
+
+ Informações Pessoais
+
+
+
+
+
+
+ Documentos Pessoais
+
+
+
+
+
+
+ Formação e Saúde
+
+
+
+
+
+
+
+ Endereço e Contato
+
+
+
+
+
+
+ Cargo e Vínculo
+
+
+
+
+
+
+ Dados Bancários - Bradesco
+
+
+
+
+
+
+ Documentação Anexa
+
+
+ + Anexe os documentos necessários em formato PDF ou imagem (máximo 10MB cada) +
+ + {#each categoriasDocumentos as categoria} +{categoria}
+
+
+
+
+ Cursos e Treinamentos
+
+
+ + Gerencie cursos e treinamentos do funcionário (até 7 cursos) +
+ + {#if cursos.filter((c) => !c.marcadoParaExcluir).length > 0} ++ Cursos cadastrados ({cursos.filter((c) => !c.marcadoParaExcluir).length}/7) +
+ {#each cursos.filter((c) => !c.marcadoParaExcluir) as curso} +{curso.descricao}
+{curso.data}
+ {#if curso.certificadoId} +✓ Com certificado
+ {/if} +Cadastro de Funcionário
-Preencha os campos abaixo para cadastrar um novo funcionário
-
-
-
-
- Informações Pessoais
-
-
-
-
-
-
- Documentos Pessoais
-
-
-
-
-
-
- Formação e Saúde
-
-
-
-
-
-
- Cursos e Treinamentos
-
-
- - Adicione até 7 cursos ou treinamentos realizados pelo funcionário (opcional) -
- - - {#if cursos.length > 0} -Cursos adicionados ({cursos.length}/7)
- {#each cursos as curso} -{curso.descricao}
-{curso.data}
-
-
-
-
-
- Endereço e Contato
-
-
-
-
-
-
- Dependentes
-
-
- {#if dependentes.length > 0}
- Dependentes adicionados ({dependentes.length}/10)
- {#each dependentes as dep} -{dep.nome} — {dep.parentesco}
-CPF: {dep.cpf} • Nasc.: {dep.nascimento}
-
-
-
-
- Cargo e Vínculo
-
-
-
-
-
-
- Dados Bancários - Bradesco
-
-
-
-
-
-
- Documentação Anexa
-
-
- - Anexe os documentos necessários em formato PDF ou imagem (máximo 10MB cada) -
- - {#each categoriasDocumentos as categoria} -{categoria}
-Declaração de Veracidade
-- Declaro, sob as penas da lei (art. 299 do Código Penal Brasileiro, que trata do crime de falsidade ideológica, e demais cominações legais aplicáveis), a veracidade e autenticidade de todas as informações e documentos por mim prestados/enviados neste ato. Tenho ciência de que a falsidade das informações implicará nas penalidades cabíveis, podendo resultar na nulidade do ato. -
-Cadastro de Funcionário
++ Preencha os campos abaixo para cadastrar um novo funcionário +
+
+
+
+
+ Informações Pessoais
+
+
+
+
+
+
+ Documentos Pessoais
+
+
+
+
+
+
+ Formação e Saúde
+
+
+
+
+
+
+ Cursos e Treinamentos
+
+
+ + Adicione até 7 cursos ou treinamentos realizados pelo funcionário (opcional) +
+ + + {#if cursos.length > 0} +Cursos adicionados ({cursos.length}/7)
+ {#each cursos as curso (curso.id)} +{curso.descricao}
+{curso.data}
+
+
+
+
+
+ Endereço e Contato
+
+
+
+
+
+
+ Dependentes
+
+
+ {#if dependentes.length > 0}
+ Dependentes adicionados ({dependentes.length}/10)
+ {#each dependentes as dep (dep.id)} +{dep.nome} — {dep.parentesco}
++ CPF: {dep.cpf} • Nasc.: {dep.nascimento} +
+
+
+
+
+ Cargo e Vínculo
+
+
+
+
+
+
+ Dados Bancários - Bradesco
+
+
+
+
+
+
+ Documentação Anexa
+
+
+ + Anexe os documentos necessários em formato PDF ou imagem (máximo 10MB cada) +
+ + {#each categoriasDocumentos as categoria (categoria)} +{categoria}
+Declaração de Veracidade
++ Declaro, sob as penas da lei (art. 299 do Código Penal Brasileiro, que trata do crime de + falsidade ideológica, e demais cominações legais aplicáveis), a veracidade e + autenticidade de todas as informações e documentos por mim prestados/enviados neste ato. + Tenho ciência de que a falsidade das informações implicará nas penalidades cabíveis, + podendo resultar na nulidade do ato. +
+- Notificações e Mensagens -
-- Enviar notificações para usuários do sistema -
-Notificações e Mensagens
+Enviar notificações para usuários do sistema
+Enviar Notificação
+Enviar Notificação
- -Templates Disponíveis
-Templates Disponíveis
+Carregando templates...
-{template.nome}
-{template.titulo}
-{template.corpo}
-- Nenhum template disponível -
-- Clique no botão abaixo para criar os templates padrão do sistema. -
-Carregando templates...
+{template.nome}
+{template.titulo}
+{template.corpo}
+Nenhum template disponível
++ Clique no botão abaixo para criar os templates padrão do sistema. +
+Histórico de Agendamentos
-Histórico de Agendamentos
+- Nenhum agendamento encontrado -
-- Os agendamentos aparecerão aqui quando você agendar envios. -
-| Tipo | -Destinatário | -Data/Hora | -Status | -Template | -Ações | -
|---|---|---|---|---|---|
|
-
- {#if agendamento.tipo === "email"}
-
- |
-
- {nomeDestinatario}
- {#if agendamento.tipo === "email"}
-
- {agendamento.dados.destinatario}
-
- {/if}
- |
-
- {dataFormatada}
- {#if podeCancelar}
- {@const tempoRestante =
- agendamento.tipo === "email"
- ? (agendamento.dados.agendadaPara ?? 0) - Date.now()
- : (agendamento.dados.agendadaPara ?? 0) - Date.now()}
- {@const horasRestantes = Math.floor(
- tempoRestante / (1000 * 60 * 60),
- )}
- {@const minutosRestantes = Math.floor(
- (tempoRestante % (1000 * 60 * 60)) / (1000 * 60),
- )}
- {#if horasRestantes < 1 && minutosRestantes < 60}
-
- Em {minutosRestantes} min
-
- {:else if horasRestantes < 24}
-
- Em {horasRestantes}h {minutosRestantes}min
-
- {/if}
- {/if}
- |
- - {#if status === "agendado"} - Agendado - {:else if status === "enviado"} - Enviado - {:else} - Cancelado - {/if} - | -
- {#if agendamento.tipo === "email"}
- {#if agendamento.dados.templateInfo}
-
- {agendamento.dados.templateInfo.nome}
-
- {:else if agendamento.dados.templateId}
-
- Template removido
-
- {:else}
- -
- {/if}
- {:else}
- -
- {/if}
- |
-
- {#if podeCancelar}
- |
-
Nenhum agendamento encontrado
++ Os agendamentos aparecerão aqui quando você agendar envios. +
+| Tipo | +Destinatário | +Data/Hora | +Status | +Template | +Ações | +
|---|---|---|---|---|---|
|
+
+ {#if agendamento.tipo === 'email'}
+
+ |
+
+ {nomeDestinatario}
+ {#if agendamento.tipo === 'email'}
+
+ {agendamento.dados.destinatario}
+
+ {/if}
+ |
+
+ {dataFormatada}
+ {#if podeCancelar}
+ {@const tempoRestante =
+ agendamento.tipo === 'email'
+ ? (agendamento.dados.agendadaPara ?? 0) - Date.now()
+ : (agendamento.dados.agendadaPara ?? 0) - Date.now()}
+ {@const horasRestantes = Math.floor(tempoRestante / (1000 * 60 * 60))}
+ {@const minutosRestantes = Math.floor(
+ (tempoRestante % (1000 * 60 * 60)) / (1000 * 60)
+ )}
+ {#if horasRestantes < 1 && minutosRestantes < 60}
+
+ Em {minutosRestantes} min
+
+ {:else if horasRestantes < 24}
+
+ Em {horasRestantes}h {minutosRestantes}min
+
+ {/if}
+ {/if}
+ |
+ + {#if status === 'agendado'} + Agendado + {:else if status === 'enviado'} + Enviado + {:else} + Cancelado + {/if} + | +
+ {#if agendamento.tipo === 'email'}
+ {#if agendamento.dados.templateInfo}
+
+ {agendamento.dados.templateInfo.nome}
+
+ {:else if agendamento.dados.templateId}
+ Template removido
+ {:else}
+ -
+ {/if}
+ {:else}
+ -
+ {/if}
+ |
+
+ {#if podeCancelar}
+ |
+
Criar Novo Template
+Criar Novo Template
-Gestão de Perfis
-- Visualize e gerencie os perfis de acesso do sistema -
-Gestão de Perfis
++ Visualize e gerencie os perfis de acesso do sistema +
+Filtros de Busca
-Filtros de Busca
+Nenhum perfil encontrado
-- Não há perfis cadastrados no sistema. -
-Nenhum perfil encontrado
-- Nenhum perfil corresponde aos filtros aplicados. -
- {#if temFiltrosAtivos} -{role.descricao}
-Nenhum perfil encontrado
+Não há perfis cadastrados no sistema.
+Nenhum perfil encontrado
++ Nenhum perfil corresponde aos filtros aplicados. +
+ {#if temFiltrosAtivos} +{role.descricao}
+{role.nome}
- {role.nome}
+ Detalhes do Perfil
-Detalhes do Perfil
+- {roleSelecionada.descricao} -
-+ {roleSelecionada.descricao} +
+{roleSelecionada.nome}
- {roleSelecionada.nome}
+ - {#if roleSelecionada.setor} - {roleSelecionada.setor} - {:else} - Não especificado - {/if} -
-+ {#if roleSelecionada.setor} + {roleSelecionada.setor} + {:else} + Não especificado + {/if} +
+- {formatarData(roleSelecionada._creationTime)} -
-+ {formatarData(roleSelecionada._creationTime)} +
+Configuração de Permissões
-- Para configurar permissões específicas deste perfil, acesse o Painel de Permissões. -
-Configuração de Permissões
++ Para configurar permissões específicas deste perfil, acesse o Painel de Permissões. +
+- Funcionalidade descontinuada -
-- Agora as permissões são configuradas por ação em cada perfil no painel - de permissões. -
-Funcionalidade descontinuada
++ Agora as permissões são configuradas por ação em cada perfil no painel de permissões. +
+Solicitações de Acesso
-Gerencie e analise solicitações de acesso ao sistema
-Solicitações de Acesso
++ Gerencie e analise solicitações de acesso ao sistema +
+Nenhuma solicitação encontrada
-- {#if busca.trim() || filtroStatus !== "todos"} - Tente ajustar os filtros ou a busca. - {:else} - Ainda não há solicitações de acesso cadastradas. - {/if} -
-{solicitacao.nome}
- - {getStatusTexto(solicitacao.status)} - -Detalhes da Solicitação
- -Aprovar Solicitação
- -- Você está prestes a aprovar a solicitação de acesso de {solicitacaoSelecionada.nome}. -
-- Após aprovar, o sistema permitirá que esta pessoa solicite acesso ao sistema. -
-Rejeitar Solicitação
- -- Você está prestes a rejeitar a solicitação de acesso de {solicitacaoSelecionada.nome}. -
-- Esta ação não pode ser desfeita. Recomendamos adicionar um motivo para a rejeição. -
-+ Nenhuma solicitação encontrada +
++ {#if busca.trim() || filtroStatus !== 'todos'} + Tente ajustar os filtros ou a busca. + {:else} + Ainda não há solicitações de acesso cadastradas. + {/if} +
+{solicitacao.nome}
+ + {getStatusTexto(solicitacao.status)} + +Detalhes da Solicitação
+ +Aprovar Solicitação
+ ++ Você está prestes a aprovar a solicitação de acesso de {solicitacaoSelecionada.nome}. +
++ Após aprovar, o sistema permitirá que esta pessoa solicite acesso ao sistema. +
+Rejeitar Solicitação
+ ++ Você está prestes a rejeitar a solicitação de acesso de {solicitacaoSelecionada.nome}. +
++ Esta ação não pode ser desfeita. Recomendamos adicionar um motivo para a rejeição. +
+{time.nome}
- Gestão de Usuários -
-- Administre os usuários do sistema -
-Gestão de Usuários
+Administre os usuários do sistema
+Atenção: Usuários com Problemas Detectados
-- {usuariosComProblemas.length} usuário(s) possui(em) problemas que requerem - atenção: -
--
- {#each usuariosComProblemas.slice(0, 3) as usuario}
-
- - {usuario.nome} ({usuario.matricula}) - {#if usuario.avisos && usuario.avisos.length > 0} - - {usuario.avisos[0].mensagem} - {/if} - - {/each} - {#if usuariosComProblemas.length > 3} -
- - ... e mais {usuariosComProblemas.length - 3} usuário(s) - - {/if} -
- Por favor, corrija os perfis desses usuários para garantir acesso - adequado ao sistema. -
-Atenção: Usuários com Problemas Detectados
++ {usuariosComProblemas.length} usuário(s) possui(em) problemas que requerem atenção: +
+-
+ {#each usuariosComProblemas.slice(0, 3) as usuario}
+
- + {usuario.nome} ({usuario.matricula}) + {#if usuario.avisos && usuario.avisos.length > 0} + - {usuario.avisos[0].mensagem} + {/if} + + {/each} + {#if usuariosComProblemas.length > 3} +
- + ... e mais {usuariosComProblemas.length - 3} usuário(s) + + {/if} +
+ Por favor, corrija os perfis desses usuários para garantir acesso adequado ao sistema. +
+Filtros de Busca
-Filtros de Busca
+Carregando usuários...
-Erro ao carregar usuários
-Nenhum usuário encontrado
-- Cadastre um usuário para começar a gestão de acessos. -
-Usuários ({usuarios.length})
+ + {#if carregandoUsuarios} +Carregando usuários...
+Erro ao carregar usuários
+Nenhum usuário encontrado
++ Cadastre um usuário para começar a gestão de acessos. +
+Usuários ({usuarios.length})
-| Matrícula | -Nome | -Role/Perfil | -Setor | -Funcionário Vinculado | -Status | -Primeiro Acesso | -Último Acesso | -Data de Criação | -Ações | -|
|---|---|---|---|---|---|---|---|---|---|---|
| {usuario.matricula} | -{usuario.nome} | -{usuario.email} | -
-
- {#if usuario.role.erro}
-
-
-
- {#if usuario.avisos && usuario.avisos.length > 0}
-
-
- {/if}
- {:else}
-
- {usuario.role.nome}
-
- {/if}
- |
- {usuario.role.setor || "-"} | -
- {#if usuario.funcionario}
-
-
- {:else}
-
-
-
- {usuario.funcionario.nome}
-
- {#if usuario.funcionario.matricula}
-
- Mat: {usuario.funcionario.matricula}
-
- {/if}
-
-
- {/if}
- |
-
- |
-
- {#if usuario.primeiroAcesso}
- Sim
- {:else}
- Não
- {/if}
- |
- - {formatarData(usuario.ultimoAcesso)} - | -- {formatarData(usuario.criadoEm)} - | -
-
-
- |
-
| Matrícula | +Nome | +Role/Perfil | +Setor | +Funcionário Vinculado | +Status | +Primeiro Acesso | +Último Acesso | +Data de Criação | +Ações | +|
|---|---|---|---|---|---|---|---|---|---|---|
| {usuario.matricula} | +{usuario.nome} | +{usuario.email} | +
+
+ {#if usuario.role.erro}
+
+
+
+ {#if usuario.avisos && usuario.avisos.length > 0}
+
+
+ {/if}
+ {:else}
+
+ {usuario.role.nome}
+
+ {/if}
+ |
+ {usuario.role.setor || '-'} | +
+ {#if usuario.funcionario}
+
+
+ {:else}
+
+
+
+ {usuario.funcionario.nome}
+
+ {#if usuario.funcionario.matricula}
+
+ Mat: {usuario.funcionario.matricula}
+
+ {/if}
+
+
+ {/if}
+ |
+
+ |
+
+ {#if usuario.primeiroAcesso}
+ Sim
+ {:else}
+ Não
+ {/if}
+ |
+ + {formatarData(usuario.ultimoAcesso)} + | ++ {formatarData(usuario.criadoEm)} + | +
+
+
+ |
+
Associar Funcionário ao Usuário
+ + {#if modalAssociarAberto && usuarioSelecionado} +Associar Funcionário ao Usuário
-- Usuário: - {usuarioSelecionado.nome} ({usuarioSelecionado.matricula}) -
++ Usuário: + {usuarioSelecionado.nome} ({usuarioSelecionado.matricula}) +
- {#if usuarioSelecionado.funcionario} -Excluir Usuário
+ + {#if modalExcluirAberto && usuarioSelecionado} +Excluir Usuário
-- Usuário: - {usuarioSelecionado.nome} ({usuarioSelecionado.matricula}) -
-+ Usuário: + {usuarioSelecionado.nome} ({usuarioSelecionado.matricula}) +
+- Criar Novo Usuário -
-- Cadastre um novo usuário no sistema -
-Criar Novo Usuário
+Cadastre um novo usuário no sistema
+Informações do Usuário
-Informações do Usuário
+Senha Gerada:
-
- {senhaGerada}
-
- - ⚠️ IMPORTANTE: Anote esta senha! Você precisará - repassá-la manualmente ao usuário até que o SMTP seja configurado. -
-Senha Gerada:
+
+ {senhaGerada}
+
+ + ⚠️ IMPORTANTE: Anote esta senha! Você precisará repassá-la manualmente + ao usuário até que o SMTP seja configurado. +
+Informações Importantes
--
-
- O usuário deverá alterar a senha no primeiro acesso -
- - As credenciais devem ser repassadas manualmente (por enquanto) - -
- - Configure o SMTP em Configurações de Email para envio automático - -
Informações Importantes
+-
+
- O usuário deverá alterar a senha no primeiro acesso +
- As credenciais devem ser repassadas manualmente (por enquanto) +
- + Configure o SMTP em Configurações de Email para envio automático + +