Récupérer le fonctionnement de création d'une réponse

More
4 months 12 hours ago #182019 by FabienBrG
Bonjour,

Je vais essayer de vous expliquer mon idée.

Nous aimerions qu'un administrateur puisse lancer un questionnaire pour un participant et remplir les champs à partir d'une réponse précédente.
L'objectif n'est pas d'éditer la réponse mais d'en créer une nouvelle à partir d'une précédente.

Je travailles dans le développement informatique, cependant j'ai du mal à comprendre l'architecture du framework et de l'application.

Peut-on me guider un peu ?

J'ai installer le plugin reloadAnyResponses. Il me permet bien de relancer les réponses mais il me permet pas d'en créer une nouvelle à partir des données d'une précédente, il me l'edit à chaque fois.

J'ai l'habitude d'utiliser Symfony mais la Yii c'est un peu abstrait pour moi et j'arrive pas à comprendre comment développer mes propres controller par exemple etc...

Please Log in or Create an account to join the conversation.

More
3 months 4 weeks ago #182112 by DenisChenu
Tu ne pourra pas développer tes propres controleur directement.
LimeSurvey est développé sur Yii , ou plutot est passé d'un développement sans framework à Yii pour pouvoir évoluer.
Cependant : tu ne garde pas toutes les possibilités de Yii (si tu veux pouvoir faire évoluer LimeSUrvey sans ré adapater trop ton code).

En partant de reloadAnyResponse :
1. Ajouter la possibilité d'un paramètre qui créerais à partir de
2. Si ce paramètre est présent : à peu près à cet endroit : créer une copie de la question courante : gitlab.com/SondagesPro/coreAndTools/relo...AnyResponse.php#L671
3. Recharger cette copie ensuite et continuer

la suite est un peu bidouille, fonctionelle mais bidouille …

Entre 2 et 3 : je pense que faire
$oNewResponse = SurveyDynamic::model($surveyid);
$previousAttributes = $oResponse->getAttributes();
unset($previousAttributes['id']);
unset($previousAttributes['submitdate']);
$oNewResponse->attributes = $previousAttributes;
$oNewResponse->save();
peut le faire (code totalement non testé …)

Pour le paramétre un truc du genre srid=XXX&createone=1

Faut penser à tester si les droits de création sont là aussi.

J'accepte les pull request sur les nouvelles fonctionnalités ;). Et ca fera un joli bouton supplémentaire sur gitlab.com/SondagesPro/managament/responseListAndManage ;)

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand .
An error happen ? Before make a new topic : remind the Debug mode .

Please Log in or Create an account to join the conversation.

Moderators: Nickko

Start now!

Just create your account and start using Limesurvey today.

Register now
Join our Newsletter!