Olá malta do Drupal tenho um trabalho entre mãos que me está aqui a criar alguns "atritos no tico e no teco" hihiihi.
Então é o seguinte tenho um cliente que precisa de ter no site um questionário de classificação de serviços à qual depois de preenchido a pessoa que preenche o questionário habilita-se a ganhar um prémio por ter preenchido.
Vamos utilizar o Webforms com condições mas depois não estou a ver como fazer a questão do sorteio, visto a classificação do questionário não é por rating logo não tem nenhuma classificação... é apenas só mesmo preencher e depois no meio daqueles todos que preencheram alguém sai vencedor.
Se alguém tiver uma ideia ou conheça algum módulo capaz de fazer estas validações e sorteios será uma grande ajuda.
Cumprimentos ;)

Comments
Acho que para a
Acho que para a funcionalidade que pretendes, o mais fácil será criar um pequeno módulo que escolha uma submissão da webform ao acaso de entre as submissões da webform que pretendes.
acaso.info
name: acasodescription: retira uma submissao ao acaso de uma webform
core: 7.x
acaso.module
function acaso_menu() {
$items = array();
$items['admin/config/system/acaso'] = array(
'title' => 'Acaso Module',
'description' => t('Retira uma submissao ao acaso'),
'page callback' => 'drupal_get_form',
'page arguments' => array('acaso_form'),
'access callback' => 'user_access',
'access arguments' => array('administer webform'), //nao sei o nome da permissao assim de cor
'type' => MENU_NORMAL_ITEM,
);
return $items;
}
function acaso_form($form, &$form_state) {
$form = array();
$form['vencedor'] = array(
'#markup' => variable_get('acaso_winner', 'Ainda nao foi sorteado.'),
);
$form['sortear'] = array(
'#value' => 'Sortear',
'#type' => 'submit',
);
return $form;
):
function acaso_form_submit($form, &$form_state) {
$nid = //node id da tua webform
$result = db_query('SELECT sid FROM webform_submissions WHERE nid = :nid', array('nid' => $nid));
$count = $result->rowCount();
$winner_i = rand(0, $count);
$j = 0;
foreach($result as $record) {
$j += 1;
if($j == $winner_i) {
drupal_set_message('O vencedor é a submissão @sid !', array('@sid'=> $record->sid);
variable_set('acaso_winner', $record->sid);
break;
}
}
$form['#rebuild'] = TRUE;
}
Atenção que este código foi escrito directamente aqui, não tá testado nem nada que se pareça. Vai até ao ponto em que sorteia uma submissão e escolhe um sid (submission ID) ao acaso. Depois é só veres na base de dados como puxar os dados dessa submissão específica.
Outra nota importante é que este caminho pode ser considerado como um "hack", uma vez que vai directamente à base de dados e não utiliza as API fornecidas pelo módulo webform. Isso pode ser ou não ser relevante para ti.
LINK para a api do webform: http://drupalcontrib.org/api/drupal/contributions!webform!webform.api.php/group/webform_hooks/7
Ola obrigado pelo teu
Ola obrigado pelo teu comentário e pelo grande trabalho que fizeste.
Eu por acaso ia perguntar-te isso que provavelmente o CORE irá considerar um hack attack pela acesso sem permissão à BD.
Contudo vou ver a API do webform que envias-te. Muito obrigado e mais uma vez bom trabalho.
O core não está minimamente
O core não está minimamente preocupado em que tu acedas à base de dados directamente.
É "apenas" uma questão de boas práticas.