<!---
Arquivo: contrato_previa.cfm
Versao: 111
Objetivo: Exibir a prévia administrativa do contrato editorial antes de enviar para assinatura via ZapSign.
Pasta sugerida: /wp/admin/contrato_previa.cfm
Tabelas/campos usados: welcomeplanet_usuario_contratos, welcomeplanet_usuarios.
DSN: #application.db7#
Vinculos: contrato_form.cfm, contrato_gerar_zapsign.cfm.
Arquivos chamados: /wp/admin/seguranca.cfm.
--->

<cfinclude template="/wp/admin/seguranca.cfm">
<cfprocessingdirective pageencoding="utf-8">

<cfif session.wp_admin.perfil NEQ "administrador">
    <cflocation url="/wp/admin/painel.cfm" addtoken="false">
</cfif>

<cfparam name="url.id_contrato" default="0">
<cfset idContrato = val(url.id_contrato)>
<cfset erro = "">

<cftry>
    <!-- Busca contrato para gerar prévia administrativa. -->
    <cfquery name="qContratoPrevia" datasource="#application.db7#">
        SELECT c.*, u.nome, u.email, u.telefone_whatsapp, u.cargo, u.empresa_assessoria, u.cidade, u.estado
        FROM welcomeplanet_usuario_contratos c
        INNER JOIN welcomeplanet_usuarios u ON u.id_usuario = c.id_usuario
        WHERE c.id_contrato = <cfqueryparam value="#idContrato#" cfsqltype="cf_sql_bigint">
        LIMIT 1
    </cfquery>

    <cfcatch type="any">
        <cfset erro = "Erro ao carregar prévia. Detalhe: " & cfcatch.message>
        <cfset qContratoPrevia = queryNew("id_contrato,titulo,nome,email,telefone_whatsapp,cargo,empresa_assessoria,cidade,estado,texto_html,validade_meses,remuneracao_tipo,remuneracao_valor,contrapartida_welcomeplanet,contrapartida_usuario,pode_publicar,nao_pode_publicar,status")>
    </cfcatch>
</cftry>

<cfcontent type="text/html; charset=utf-8" reset="true">
<!doctype html>
<html lang="pt-BR">
<head>
    <meta charset="utf-8">
    <title>Prévia do contrato - WelcomePlanet Admin</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    
<style>
*{box-sizing:border-box}
html,body{min-height:100%;margin:0;background:rgb(244,246,250)}
body.wp-admin-body{font-family:Verdana,Arial,sans-serif;color:rgb(17,24,39);font-size:13px;line-height:1.45}
.wp-admin-shell{min-height:100vh;display:grid;grid-template-columns:280px minmax(0,1fr);width:100%}
.wp-admin-sidebar{width:280px;min-height:100vh;background:linear-gradient(180deg,rgb(14,20,32),rgb(30,42,61));color:white;padding:22px 18px;position:sticky;top:0;align-self:start;overflow-y:auto}
.wp-admin-brand{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.wp-admin-brand-mark{width:44px;height:44px;border-radius:16px;background:white;color:rgb(17,24,39);display:grid;place-items:center;font-weight:900;font-size:18px}
.wp-admin-brand strong{display:block;font-size:15px}
.wp-admin-brand small{display:block;margin-top:2px;color:rgba(255,255,255,.65);font-size:11px}
.wp-admin-user-card{display:grid;grid-template-columns:54px minmax(0,1fr);gap:12px;align-items:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:20px;padding:12px;margin-bottom:18px}
.wp-admin-user-card img,.wp-admin-user-initial{width:54px!important;height:54px!important;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.74);background:white;color:rgb(17,24,39);display:grid;place-items:center;font-weight:900;font-size:18px}
.wp-admin-user-card strong{display:block;max-width:170px;font-size:12px;line-height:1.22}
.wp-admin-user-card small{display:block;margin-top:4px;color:rgba(255,255,255,.72);font-size:11px;line-height:1.3}
.wp-admin-user-card em{display:inline-flex;margin-top:7px;padding:4px 8px;border-radius:999px;background:rgba(255,255,255,.12);font-style:normal;text-transform:uppercase;font-size:10px;font-weight:900}
.wp-admin-menu{display:grid;gap:5px}
.wp-admin-menu a{display:flex;align-items:center;min-height:36px;border-radius:12px;padding:8px 11px;text-decoration:none;color:rgba(255,255,255,.88);font-weight:800;font-size:12px}
.wp-admin-menu a:hover{background:rgba(255,255,255,.10);color:white}
.wp-admin-main{min-width:0;padding:34px 34px 60px}
.wp-admin-container{max-width:1180px;margin:0 auto}
.wp-page-hero{display:flex;justify-content:space-between;gap:22px;align-items:center;margin-bottom:22px;padding:28px;border-radius:28px;background:linear-gradient(135deg,rgb(16,24,39),rgb(51,65,85));color:white;box-shadow:0 20px 48px rgba(15,23,42,.12)}
.wp-page-hero h1{margin:6px 0 8px;font-size:31px;line-height:1.05;letter-spacing:-.055em;color:white}
.wp-page-hero p{max-width:760px;margin:0;color:rgba(255,255,255,.84);font-size:13px;line-height:1.55}
.wp-eyebrow{display:inline-flex;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.10);color:white;font-size:11px;font-weight:900;letter-spacing:.10em;text-transform:uppercase}
.wp-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:flex-end}
.wp-btn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:10px 18px;border:0;border-radius:999px;background:rgb(17,24,39);color:white!important;text-decoration:none;font-weight:900;font-size:12px;cursor:pointer;box-shadow:0 12px 28px rgba(15,23,42,.14);font-family:Verdana,Arial,sans-serif}
.wp-btn-light{background:white;color:rgb(17,24,39)!important;border:1px solid rgb(226,232,240)}
.wp-card{background:white;border:1px solid rgb(226,232,240);border-radius:24px;padding:24px;margin-bottom:20px;box-shadow:0 18px 42px rgba(15,23,42,.06)}
.wp-card h2{margin:0 0 12px;font-size:22px;letter-spacing:-.04em;color:rgb(15,23,42)}
.wp-card p{color:rgb(71,85,105);line-height:1.62}
.wp-grid{display:grid;gap:16px}
.wp-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.wp-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.wp-form label{display:block;font-weight:900;color:rgb(15,23,42);font-size:12px;margin:13px 0 7px}
.wp-form input,.wp-form select,.wp-form textarea{width:100%;border:1px solid rgb(203,213,225);border-radius:14px;background:rgb(248,250,252);padding:12px 13px;font-family:Verdana,Arial,sans-serif;font-size:13px;color:rgb(15,23,42);outline:none}
.wp-form textarea{min-height:120px;resize:vertical}
.wp-alert{border-radius:16px;padding:14px 16px;margin:0 0 18px;font-size:13px;font-weight:800}
.wp-alert-ok{background:rgb(240,253,244);border:1px solid rgb(187,247,208);color:rgb(22,101,52)}
.wp-alert-error{background:rgb(254,242,242);border:1px solid rgb(254,202,202);color:rgb(153,27,27)}
.wp-form-help{color:rgb(100,116,139);font-size:12px;line-height:1.5;margin:6px 0 12px}
.wp-contrato-preview{background:white;border:1px solid rgb(226,232,240);border-radius:24px;padding:34px;box-shadow:0 18px 42px rgba(15,23,42,.06);line-height:1.72;color:rgb(15,23,42)}
.wp-contrato-preview h1{font-size:28px;line-height:1.15;letter-spacing:-.04em}
.wp-contrato-preview h2{font-size:18px;margin-top:28px}
.wp-contrato-preview p{font-size:14px;color:rgb(30,41,59)}
@media(max-width:980px){.wp-admin-shell{grid-template-columns:1fr}.wp-admin-sidebar{position:relative;width:100%;min-height:auto}.wp-admin-main{padding:22px}.wp-page-hero{display:block}.wp-actions{justify-content:flex-start;margin-top:16px}.wp-grid-2,.wp-grid-3{grid-template-columns:1fr}}
</style>

</head>
<body class="wp-admin-body">
<div class="wp-admin-shell">
<cfset navNome = session.wp_admin.nome>
<cfset navPerfil = session.wp_admin.perfil>
<cfset navFoto = "">
<cfset navResumo = "Perfil editorial">

<cftry>
    <!-- Busca dados atuais do usuario logado para exibir no menu. -->
    <cfquery name="qNavUsuario" datasource="#application.db7#">
        SELECT nome, email, perfil, foto_url, cargo, empresa_assessoria, cidade, estado
        FROM welcomeplanet_usuarios
        WHERE id_usuario = <cfqueryparam value="#session.wp_admin.id_usuario#" cfsqltype="cf_sql_integer">
        LIMIT 1
    </cfquery>

    <cfif qNavUsuario.recordCount EQ 1>
        <cfset navNome = qNavUsuario.nome>
        <cfset navPerfil = qNavUsuario.perfil>
        <cfset navFoto = qNavUsuario.foto_url>
        <cfif len(trim(qNavUsuario.cargo))>
            <cfset navResumo = qNavUsuario.cargo>
        <cfelseif len(trim(qNavUsuario.empresa_assessoria))>
            <cfset navResumo = qNavUsuario.empresa_assessoria>
        </cfif>
        <cfif len(trim(qNavUsuario.cidade))>
            <cfset navResumo = navResumo & " - " & qNavUsuario.cidade>
            <cfif len(trim(qNavUsuario.estado))>
                <cfset navResumo = navResumo & "/" & qNavUsuario.estado>
            </cfif>
        </cfif>
    </cfif>

    <cfcatch type="any"></cfcatch>
</cftry>

<aside class="wp-admin-sidebar">
    <div class="wp-admin-brand">
        <span class="wp-admin-brand-mark">W</span>
        <div>
            <strong>WelcomePlanet</strong>
            <small>Admin editorial</small>
        </div>
    </div>

    <div class="wp-admin-user-card">
        <cfoutput>
            <cfif len(trim(navFoto))>
                <img src="#encodeForHTMLAttribute(navFoto)#" alt="Foto de #encodeForHTMLAttribute(navNome)#">
            <cfelse>
                <span class="wp-admin-user-initial">#encodeForHTML(left(navNome, 1))#</span>
            </cfif>
            <div>
                <strong>#encodeForHTML(navNome)#</strong>
                <small>#encodeForHTML(navResumo)#</small>
                <em>#encodeForHTML(navPerfil)#</em>
            </div>
        </cfoutput>
    </div>

    <nav class="wp-admin-menu">
        <a href="/wp/admin/painel.cfm">Painel</a>

        <cfif session.wp_admin.perfil EQ "administrador">
            <a href="/wp/admin/materias.cfm">Materias</a>
            <a href="/wp/admin/materia_form.cfm">Nova materia</a>
            <a href="/wp/admin/editorias.cfm">Editorias</a>
            <a href="/wp/admin/usuarios.cfm">Usuarios</a>
            <a href="/wp/admin/contratos.cfm">Contratos</a>
            <a href="/wp/admin/config_email.cfm">Config. e-mail</a>
            <a href="/wp/admin/banners.cfm">Banners</a>
            <a href="/wp/admin/assinantes.cfm">Assinantes</a>
            <a href="/wp/admin/mailing.cfm">Mailing</a>
            <a href="/wp/admin/social_divulgacao.cfm">Divulgacao</a>
            <a href="/wp/admin/conteudo_licenciado.cfm">Conteudo licenciado</a>
            <a href="/wp/admin/analytics.cfm">Analytics</a>
            <a href="/wp/admin/configuracoes_integracoes.cfm">Integracoes</a>
            <a href="/wp/admin/crons.cfm">Crons</a>
            <a href="/wp/admin/ia_config.cfm">IA Editorial</a>
        <cfelse>
            <a href="/wp/admin/materias.cfm">Minhas materias</a>
            <a href="/wp/admin/materia_form.cfm">Publicar materia</a>
            <a href="/wp/admin/meu_perfil.cfm">Meu perfil</a>
            <a href="/wp/admin/social_divulgacao.cfm">Divulgacao</a>
        </cfif>

        <a href="/wp/index.cfm" target="_blank">Ver site</a>
        <a href="/wp/admin/logout.cfm">Sair</a>
    </nav>
</aside>

    <main class="wp-admin-main">
        <div class="wp-admin-container">
            <section class="wp-page-hero">
                <div>
                    <span class="wp-eyebrow">Prévia</span>
                    <h1>Prévia do contrato</h1>
                    <p>Confira o texto antes de enviar para assinatura via ZapSign.</p>
                </div>
                <div class="wp-actions">
                    <cfif qContratoPrevia.recordCount EQ 1>
                        <cfoutput>
                            <a class="wp-btn" href="/wp/admin/contrato_gerar_zapsign.cfm?id_contrato=#qContratoPrevia.id_contrato#">Enviar para ZapSign</a>
                            <a class="wp-btn wp-btn-light" href="/wp/admin/contrato_form.cfm?id_contrato=#qContratoPrevia.id_contrato#">Editar</a>
                        </cfoutput>
                    </cfif>
                </div>
            </section>

            <cfif len(erro)><cfoutput><div class="wp-alert wp-alert-error">#encodeForHTML(erro)#</div></cfoutput></cfif>

            <cfif qContratoPrevia.recordCount EQ 0>
                <section class="wp-card">
                    <h2>Contrato não encontrado</h2>
                    <p>Volte para Usuários e clique em Compor contrato novamente.</p>
                </section>
            <cfelse>
                <article class="wp-contrato-preview">
                    <p><img src="https://www.mesadetrocas.com.br/fidelidade/img/logo_wp.png" alt="WelcomePlanet" style="max-width:260px;height:auto;"></p>
                    <cfoutput>
                        <h1>#encodeForHTML(qContratoPrevia.titulo)#</h1>
                        <p><strong>Portal:</strong> WelcomePlanet</p>
                        <p><strong>Usuário/colaborador:</strong> #encodeForHTML(qContratoPrevia.nome)# - #encodeForHTML(qContratoPrevia.email)#</p>
                        <cfif len(trim(qContratoPrevia.telefone_whatsapp))>
                            <p><strong>Contato:</strong> #encodeForHTML(qContratoPrevia.telefone_whatsapp)#</p>
                        </cfif>
                        <cfif len(trim(qContratoPrevia.cargo)) OR len(trim(qContratoPrevia.empresa_assessoria))>
                            <p><strong>Apresentação:</strong> #encodeForHTML(qContratoPrevia.cargo)# #encodeForHTML(qContratoPrevia.empresa_assessoria)#</p>
                        </cfif>

                        <h2>Objeto</h2>
                        <p>#replace(encodeForHTML(qContratoPrevia.texto_html), chr(10), "<br>", "all")#</p>

                        <h2>Vigência e acesso</h2>
                        <p>Validade inicial do acesso: #val(qContratoPrevia.validade_meses)# mês(es), podendo ser renovada, encerrada ou ajustada conforme decisão administrativa e cumprimento das regras editoriais.</p>

                        <h2>Remuneração</h2>
                        <cfif qContratoPrevia.remuneracao_tipo EQ "welcomeplanet_paga_usuario">
                            <p>A WelcomePlanet pagará ao usuário o valor combinado registrado neste contrato.</p>
                        <cfelseif qContratoPrevia.remuneracao_tipo EQ "usuario_paga_welcomeplanet">
                            <p>O usuário pagará à WelcomePlanet o valor combinado registrado neste contrato.</p>
                        <cfelse>
                            <p>Não haverá remuneração financeira entre as partes, salvo ajuste posterior por escrito.</p>
                        </cfif>

                        <h2>Contrapartidas</h2>
                        <p><strong>WelcomePlanet:</strong> #replace(encodeForHTML(qContratoPrevia.contrapartida_welcomeplanet), chr(10), "<br>", "all")#</p>
                        <p><strong>Usuário:</strong> #replace(encodeForHTML(qContratoPrevia.contrapartida_usuario), chr(10), "<br>", "all")#</p>

                        <h2>O que poderá ser publicado</h2>
                        <p>#replace(encodeForHTML(qContratoPrevia.pode_publicar), chr(10), "<br>", "all")#</p>

                        <h2>O que não poderá ser publicado</h2>
                        <p>#replace(encodeForHTML(qContratoPrevia.nao_pode_publicar), chr(10), "<br>", "all")#</p>

                        <h2>Responsabilidade editorial</h2>
                        <p>O usuário declara ciência de que somente poderá publicar matérias após assinatura e registro do contrato no sistema. O conteúdo enviado ou publicado por seu login é de sua responsabilidade, incluindo fontes, autorizações, dados, imagens, clientes, marcas e eventuais direitos de terceiros.</p>

                        <p>Documento gerado para prévia administrativa em #dateFormat(now(),"dd/mm/yyyy")# às #timeFormat(now(),"HH:nn")#.</p>
                    </cfoutput>
                </article>
            </cfif>
        </div>
    </main>
</div>
</body>
</html>
