Estou tentando criar um plugin pro limesurvey que consiste em pegar os funcionários do chefe logado e adiciona-los em uma one choice para ser realizado uma avaliação do funcionário da vez. Porém, estou com um certo problema ao adicionar as opções na question.
A question já foi criada e tem um certo código ($questionCode), logo pegando esse código tento adicionar os funcionários de uma API externa ($options).
Alguém já fez algo parecido que possa me ajudar? De primeira tentei colocar tabela de questions mas descobri que talvez devesse adicionar na de asnwers. Porém, parece existir outra forma utilizando o js inserido do código fonte da questão. https://manual.limesurvey.org/Workarounds:_Manipulating_a_survey_at_runtime_using_Javascript#Update_for_LimeSurvey_2.05.2B
Qual seria a melhor forma?
privatefunction updateQuestionOptions($questionCode, $options){
$event = $this->getEvent();
$surveyId = $event->get('surveyId');
$questionId = $this->getQuestionIdByCode($surveyId, $questionCode);if($questionId){
$optionValues =[];foreach($options as $data){foreach($data as $option){
$optionValues[]= $option['first_name']." ". $option['last_name'];}}
$this->setQuestionOptions($questionId, $optionValues);}}privatefunction getQuestionIdByCode($surveyId, $questionCode){
$sql ="SELECT * FROM {{questions}} WHERE sid = :surveyId AND title = :questionCode";
$result =Yii::app()->db->createCommand($sql)->bindValue(':surveyId', $surveyId)->bindValue(':questionCode', $questionCode)->queryRow();return $result['qid']??null;}privatefunction setQuestionOptions($questionId, $options){
$optionValues = implode("\n", $options);// $sql = "UPDATE {{questions}} SET defaultvalue = :optionValues WHERE qid = :questionId";// Yii::app()->db->createCommand($sql)// ->bindValue(':optionValues', $optionValues)// ->bindValue(':questionId', $questionId)// ->execute();//$sql = "SELECT * FROM {{answers}}";//$result = Yii::app()->db->createCommand($sql)->queryAll();//print_r($result);//adicionar optionValues na question}
Pergunta
Heloisa M.
Estou tentando criar um plugin pro limesurvey que consiste em pegar os funcionários do chefe logado e adiciona-los em uma one choice para ser realizado uma avaliação do funcionário da vez. Porém, estou com um certo problema ao adicionar as opções na question.
A question já foi criada e tem um certo código ($questionCode), logo pegando esse código tento adicionar os funcionários de uma API externa ($options).
Alguém já fez algo parecido que possa me ajudar? De primeira tentei colocar tabela de questions mas descobri que talvez devesse adicionar na de asnwers. Porém, parece existir outra forma utilizando o js inserido do código fonte da questão. https://manual.limesurvey.org/Workarounds:_Manipulating_a_survey_at_runtime_using_Javascript#Update_for_LimeSurvey_2.05.2B
Qual seria a melhor forma?
Link 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.