Olá pessoal, trabalho na ABRALE e estou tentando ajudar no site, o problema é que ta tudo em Symfony e não entendo nada...
Bom, o problema é o seguinte, no link http://www.abrale.org.br/contatopediram pra eu adicionar os campos: Departamento e Tratamento, consegui colocar após muito tempo tentando achar no ftp os seguintes arquivos:
<?php use_helper('Util') ?>
<div id="section-content" class="content page">
<h2><?php echo __('Fale conosco') ?></h2>
<div id="section-article" class="two-column left-column">
<?php echo renderFlashMessage() ?>
<?php echo __('
<p><strong>Para que a nossa equipe possa ajudá-lo, preencha os campos abaixo:</strong></p>
<p>Se preferir, entre em contato por telefone pelo <strong style="color:#C51A41">0800 773 99 73</strong> de segunda à sexta, das <strong style="color:#C51A41">9h às 18h</strong>.</p>
<p>Toda a ajuda que a <strong style="color:#C51A41">ABRALE</strong> oferece é gratuita para pacientes de todo o Brasil. As informações que recebemos são confidenciais.</p>
') ?>
<form action="<?php echo url_for('default/contato') ?>" method="post" id="form-contato">
<?php echo $form->renderHiddenFields(false) ?>
<?php echo $form->renderGlobalErrors() ?>
<?php echo $form['CmsUsuario']['nome']->renderRow(array('class' => "text", 'size' => "60")) ?>
<?php echo $form['CmsUsuario']['email']->renderRow(array('class' => "text", 'size' => "60")) ?>
<?php echo $form['CmsUsuario']['telefone_res']->renderRow(array('class' => "text")) ?>
<?php echo $form['voce']->renderRow() ?>
<div id="div_contato_doenca" style="display:none"><?php echo $form['doenca']->renderRow() ?></div>
<?php echo $form['dpto']->renderRow() ?>
<?php echo $form['assunto']->renderRow(array('class' => "text", 'size' => "60")) ?>
<?php echo $form['mensagem']->renderRow(array('rows' => "10", 'cols' => "80")) ?>
<?php echo $form['plano']->renderRow() ?>
<p align="center">
<input class="button3" type="submit" value="<?php echo __('Enviar') ?>" />
</p>
</form>
</div>
<div id="section-article" class="two-column right-column">
<?php include_partial('global/right_column') ?>
</div>
<div class="clear"></div>
</div>
<script type="text/javascript">
function toogleDoenca() {
var value = $('#contato_voce').val().toLowerCase();
if (value == 'paciente' || value == 'familiar') {
$('#div_contato_doenca').show();
} else {
$('#div_contato_doenca').hide();
}
}
$(function() {
$('#contato_voce').change(function(){
toogleDoenca();
});
});
</script>
e
<?php
class ContatoForm extends sfForm {
private $usuario;
public function configure() {
$this->getWidgetSchema()->setDefaultFormFormatterName('public');
sfContext::getInstance()->getConfiguration()->loadHelpers('I18N');
$doencas = array(
__('Mielodisplasia ou Síndrome Mielodisplásica'),
__('Mieloma Múltiplo'),
__('Linfomas'),
__('Leucemias'),
__('HPN - Hemoglobinúria paroxística noturna'),
__('Macroglobulinemia de Waldenstrom'),
__('Policitemia Vera (a)'),
__('Trombocitemia Essencial (b)'),
__('(a, b e c) Doenças Mieloproloferativas Crônicas'),
__('Mielofibrose (c)'),
__('Púrpura Trombocitopenica Idiopática - PTI')
);
$doencas = array_combine($doencas, $doencas);
$doencas = array_merge(array('' => __("- Selecione -")), $doencas);
$informacoes = array(
__('Entendendo riscos e opções relacionadas ao tratamento do câncer e à fertilidade'),
__('Encontrando recursos relacionados à fertilidade')
);
$informacoes = array_combine($informacoes, $informacoes);
$preocupacoes = array(
__('Acessando tratamentos médicos e dispositivos médicos'),
__('Encontrando assistência sem convênio'),
__('Encontrando assistência com convênio'),
__('Lidando com a discriminação no trabalho')
);
$preocupacoes = array_combine($preocupacoes, $preocupacoes);
$contatos = array(
__('Presidência'),
__('Diretoria'),
__('Assessoria de Imprensa'),
__('Sugestões e Reclamações'),
__('Captação de Recursos')
);
$contatos = array_combine($contatos, $contatos);
$departamentos = array(
__('Informação sobre preservação da fertilidade e assistência:') => $informacoes,
__('Preocupações com questões de trabalho, convênio e financeiras:') => $preocupacoes,
__('Contato direto:') => $contatos
);
$voce = array(__('Amigo'), __('Familiar'), __('Paciente'), __('Profissional da saúde'), __('Outro'));
$voce = array_combine($voce, $voce);
$voce = array_merge(array('' => __("- Selecione -")), $voce);
$dpto = array(__('Jurídico'), __('Psicologia'), __('Apoio ao paciente'), __('RH'), __('Marketing'), __('Financeiro'), __('Outros, Não sei'));
$dpto = array_combine($dpto, $dpto);
$dpto = array_merge(array('' => __("- Selecione -")), $dpto);
$plano = array(__('SUS'), __('Plano de Saúde'));
$plano = array_combine($plano, $plano);
$plano = array_merge(array('' => __("- Selecione -")), $plano);
$this->setWidgets(array(
'mensagem' => new sfWidgetFormTextarea(),
'voce' => new sfWidgetFormChoice(array('choices' => $voce)),
'doenca' => new sfWidgetFormChoice(array('choices' => $doencas)),
'assunto' => new sfWidgetFormInputText(),
'departamento' => new sfWidgetFormChoice(array('choices' => $departamentos)),
'dpto' => new sfWidgetFormChoice(array('choices' => $dpto)),
'plano' => new sfWidgetFormChoice(array('choices' => $plano))
));
$this->setValidators(array(
'mensagem' => new sfValidatorString(array('required' => true)),
'voce' => new sfValidatorChoice(array('choices' => $voce, 'required' => false)),
'doenca' => new sfValidatorChoice(array('choices' => array_keys($doencas), 'required' => false)),
'assunto' => new sfValidatorString(array('max_length' => 255, 'required' => false)),
'departamento' => new sfValidatorChoice(array('choices' => array_keys(array_merge($informacoes, $preocupacoes, $contatos)), 'required' => true)),
'dpto' => new sfValidatorChoice(array('choices' => array_keys($dpto), 'required' => false)),
'plano' => new sfValidatorChoice(array('choices' => array_keys($plano), 'required' => false))
));
$this->getWidgetSchema()->setLabels(array(
'voce' => "Você é?",
'area' => "Área",
'dpto' => "Departamento",
'plano' => "Tratamento <br />(Se aplicável)",
'doenca' => "Doença"));
if (sfContext::getInstance()->getUser()->isAuthenticated()) {
$this->usuario = Doctrine::getTable('CmsUsuario')
->createQuery('u')
->innerJoin('u.sfGuardUser')
->where('u.id = ?', sfContext::getInstance()->getUser()->getGuardUser()->getId())
->fetchOne();
$form = new CmsUsuarioPublicForm($this->usuario);
} else {
$form = new CmsUsuarioPublicForm();
}
unset($form['atribuir_sfGuardUser'], $form['sfGuardUser']);
$form->getWidgetSchema()->setLabels(array(
'telefone_res' => "Telefone"
));
$form->validatorSchema->setPostValidator(new sfValidatorPass());
$this->embedForm('CmsUsuario', $form);
// $this->setValidator('CmsUsuario', new sfValidatorPass());
$this->widgetSchema->setNameFormat('contato[%s]');
}
public function save() {
$mailer = sfContext::getInstance()->getMailer();
$str = nl2br($this->getValue('mensagem'));
$doenca = strtolower($this->getValue('voce')) == 'paciente' || strtolower($this->getValue('voce')) == 'familiar' ? $this->getValue('doenca') : '- não informado -';
$values = $this->getValues();
$user_data = $values['CmsUsuario'];
$message = Swift_Message::newInstance()
->setFrom($user_data['email'])
->setTo(sfConfig::get('app_contato_email'))
->setSubject('[ABRALE.org.br] Envio de contato pelo formulário do site')
->setBody(<<<EOF
<table>
<tr>
<th colspan="2">Dados pessoais</th>
</tr>
<tr>
<th align="left">Nome:</th><td>{$user_data['nome']}</td>
</tr>
<tr>
<th align="left">Email:</th><td>{$user_data['email']}</td>
</tr>
<tr>
<th align="left">Telelefone:</th><td>{$user_data['telefone_res']}</td>
</tr>
<tr>
<th colspan="2">Dados de contato</th>
</tr>
<tr>
<th align="left">Você é?:</th><td>{$this->getValue('voce')}</td>
</tr>
<tr>
<th align="left">Departamento?:</th><td>{$dpto}</td>
</tr>
<tr>
<th align="left">Tratamento:</th><td>{$plano}</td>
</tr>
<tr>
<th align="left">Doença:</th><td>{$doenca}</td>
</tr>
<tr>
<th align="left">Assunto:</th><td>{$this->getValue('assunto')}</td>
</tr>
<tr>
<th align="left">Departamento:</th><td>{$this->getValue('departamento')}</td>
</tr>
</table>
<h3>Mensagem</h3>
<p>$str</p>
EOF
, 'text/html');
$mailer->send($message);
}
}
Ao clicar em enviar o formulário da erro, pelo que entendi, é alguma coisa de validação dos campos que adicionei, porém substitui tudo exatamente como está programado o campo "Você é?", já olhei tudo que é possível e não consigo solucionar esse problema, alguém pode me ajudar?
Pergunta
Carlos Colon
Olá pessoal, trabalho na ABRALE e estou tentando ajudar no site, o problema é que ta tudo em Symfony e não entendo nada...
Bom, o problema é o seguinte, no link http://www.abrale.org.br/contatopediram pra eu adicionar os campos: Departamento e Tratamento, consegui colocar após muito tempo tentando achar no ftp os seguintes arquivos:
<?php use_helper('Util') ?> <div id="section-content" class="content page"> <h2><?php echo __('Fale conosco') ?></h2> <div id="section-article" class="two-column left-column"> <?php echo renderFlashMessage() ?> <?php echo __(' <p><strong>Para que a nossa equipe possa ajudá-lo, preencha os campos abaixo:</strong></p> <p>Se preferir, entre em contato por telefone pelo <strong style="color:#C51A41">0800 773 99 73</strong> de segunda à sexta, das <strong style="color:#C51A41">9h às 18h</strong>.</p> <p>Toda a ajuda que a <strong style="color:#C51A41">ABRALE</strong> oferece é gratuita para pacientes de todo o Brasil. As informações que recebemos são confidenciais.</p> ') ?> <form action="<?php echo url_for('default/contato') ?>" method="post" id="form-contato"> <?php echo $form->renderHiddenFields(false) ?> <?php echo $form->renderGlobalErrors() ?> <?php echo $form['CmsUsuario']['nome']->renderRow(array('class' => "text", 'size' => "60")) ?> <?php echo $form['CmsUsuario']['email']->renderRow(array('class' => "text", 'size' => "60")) ?> <?php echo $form['CmsUsuario']['telefone_res']->renderRow(array('class' => "text")) ?> <?php echo $form['voce']->renderRow() ?> <div id="div_contato_doenca" style="display:none"><?php echo $form['doenca']->renderRow() ?></div> <?php echo $form['dpto']->renderRow() ?> <?php echo $form['assunto']->renderRow(array('class' => "text", 'size' => "60")) ?> <?php echo $form['mensagem']->renderRow(array('rows' => "10", 'cols' => "80")) ?> <?php echo $form['plano']->renderRow() ?> <p align="center"> <input class="button3" type="submit" value="<?php echo __('Enviar') ?>" /> </p> </form> </div> <div id="section-article" class="two-column right-column"> <?php include_partial('global/right_column') ?> </div> <div class="clear"></div> </div> <script type="text/javascript"> function toogleDoenca() { var value = $('#contato_voce').val().toLowerCase(); if (value == 'paciente' || value == 'familiar') { $('#div_contato_doenca').show(); } else { $('#div_contato_doenca').hide(); } } $(function() { $('#contato_voce').change(function(){ toogleDoenca(); }); }); </script>e
<?php class ContatoForm extends sfForm { private $usuario; public function configure() { $this->getWidgetSchema()->setDefaultFormFormatterName('public'); sfContext::getInstance()->getConfiguration()->loadHelpers('I18N'); $doencas = array( __('Mielodisplasia ou Síndrome Mielodisplásica'), __('Mieloma Múltiplo'), __('Linfomas'), __('Leucemias'), __('HPN - Hemoglobinúria paroxística noturna'), __('Macroglobulinemia de Waldenstrom'), __('Policitemia Vera (a)'), __('Trombocitemia Essencial (b)'), __('(a, b e c) Doenças Mieloproloferativas Crônicas'), __('Mielofibrose (c)'), __('Púrpura Trombocitopenica Idiopática - PTI') ); $doencas = array_combine($doencas, $doencas); $doencas = array_merge(array('' => __("- Selecione -")), $doencas); $informacoes = array( __('Entendendo riscos e opções relacionadas ao tratamento do câncer e à fertilidade'), __('Encontrando recursos relacionados à fertilidade') ); $informacoes = array_combine($informacoes, $informacoes); $preocupacoes = array( __('Acessando tratamentos médicos e dispositivos médicos'), __('Encontrando assistência sem convênio'), __('Encontrando assistência com convênio'), __('Lidando com a discriminação no trabalho') ); $preocupacoes = array_combine($preocupacoes, $preocupacoes); $contatos = array( __('Presidência'), __('Diretoria'), __('Assessoria de Imprensa'), __('Sugestões e Reclamações'), __('Captação de Recursos') ); $contatos = array_combine($contatos, $contatos); $departamentos = array( __('Informação sobre preservação da fertilidade e assistência:') => $informacoes, __('Preocupações com questões de trabalho, convênio e financeiras:') => $preocupacoes, __('Contato direto:') => $contatos ); $voce = array(__('Amigo'), __('Familiar'), __('Paciente'), __('Profissional da saúde'), __('Outro')); $voce = array_combine($voce, $voce); $voce = array_merge(array('' => __("- Selecione -")), $voce); $dpto = array(__('Jurídico'), __('Psicologia'), __('Apoio ao paciente'), __('RH'), __('Marketing'), __('Financeiro'), __('Outros, Não sei')); $dpto = array_combine($dpto, $dpto); $dpto = array_merge(array('' => __("- Selecione -")), $dpto); $plano = array(__('SUS'), __('Plano de Saúde')); $plano = array_combine($plano, $plano); $plano = array_merge(array('' => __("- Selecione -")), $plano); $this->setWidgets(array( 'mensagem' => new sfWidgetFormTextarea(), 'voce' => new sfWidgetFormChoice(array('choices' => $voce)), 'doenca' => new sfWidgetFormChoice(array('choices' => $doencas)), 'assunto' => new sfWidgetFormInputText(), 'departamento' => new sfWidgetFormChoice(array('choices' => $departamentos)), 'dpto' => new sfWidgetFormChoice(array('choices' => $dpto)), 'plano' => new sfWidgetFormChoice(array('choices' => $plano)) )); $this->setValidators(array( 'mensagem' => new sfValidatorString(array('required' => true)), 'voce' => new sfValidatorChoice(array('choices' => $voce, 'required' => false)), 'doenca' => new sfValidatorChoice(array('choices' => array_keys($doencas), 'required' => false)), 'assunto' => new sfValidatorString(array('max_length' => 255, 'required' => false)), 'departamento' => new sfValidatorChoice(array('choices' => array_keys(array_merge($informacoes, $preocupacoes, $contatos)), 'required' => true)), 'dpto' => new sfValidatorChoice(array('choices' => array_keys($dpto), 'required' => false)), 'plano' => new sfValidatorChoice(array('choices' => array_keys($plano), 'required' => false)) )); $this->getWidgetSchema()->setLabels(array( 'voce' => "Você é?", 'area' => "Área", 'dpto' => "Departamento", 'plano' => "Tratamento <br />(Se aplicável)", 'doenca' => "Doença")); if (sfContext::getInstance()->getUser()->isAuthenticated()) { $this->usuario = Doctrine::getTable('CmsUsuario') ->createQuery('u') ->innerJoin('u.sfGuardUser') ->where('u.id = ?', sfContext::getInstance()->getUser()->getGuardUser()->getId()) ->fetchOne(); $form = new CmsUsuarioPublicForm($this->usuario); } else { $form = new CmsUsuarioPublicForm(); } unset($form['atribuir_sfGuardUser'], $form['sfGuardUser']); $form->getWidgetSchema()->setLabels(array( 'telefone_res' => "Telefone" )); $form->validatorSchema->setPostValidator(new sfValidatorPass()); $this->embedForm('CmsUsuario', $form); // $this->setValidator('CmsUsuario', new sfValidatorPass()); $this->widgetSchema->setNameFormat('contato[%s]'); } public function save() { $mailer = sfContext::getInstance()->getMailer(); $str = nl2br($this->getValue('mensagem')); $doenca = strtolower($this->getValue('voce')) == 'paciente' || strtolower($this->getValue('voce')) == 'familiar' ? $this->getValue('doenca') : '- não informado -'; $values = $this->getValues(); $user_data = $values['CmsUsuario']; $message = Swift_Message::newInstance() ->setFrom($user_data['email']) ->setTo(sfConfig::get('app_contato_email')) ->setSubject('[ABRALE.org.br] Envio de contato pelo formulário do site') ->setBody(<<<EOF <table> <tr> <th colspan="2">Dados pessoais</th> </tr> <tr> <th align="left">Nome:</th><td>{$user_data['nome']}</td> </tr> <tr> <th align="left">Email:</th><td>{$user_data['email']}</td> </tr> <tr> <th align="left">Telelefone:</th><td>{$user_data['telefone_res']}</td> </tr> <tr> <th colspan="2">Dados de contato</th> </tr> <tr> <th align="left">Você é?:</th><td>{$this->getValue('voce')}</td> </tr> <tr> <th align="left">Departamento?:</th><td>{$dpto}</td> </tr> <tr> <th align="left">Tratamento:</th><td>{$plano}</td> </tr> <tr> <th align="left">Doença:</th><td>{$doenca}</td> </tr> <tr> <th align="left">Assunto:</th><td>{$this->getValue('assunto')}</td> </tr> <tr> <th align="left">Departamento:</th><td>{$this->getValue('departamento')}</td> </tr> </table> <h3>Mensagem</h3> <p>$str</p> EOF , 'text/html'); $mailer->send($message); } }Ao clicar em enviar o formulário da erro, pelo que entendi, é alguma coisa de validação dos campos que adicionei, porém substitui tudo exatamente como está programado o campo "Você é?", já olhei tudo que é possível e não consigo solucionar esse problema, alguém pode me ajudar?
Editado por Carlos ColonLink para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.