Option supplémentaire Calendrier

More
9 months 1 week ago #148535 by llodbrock
llodbrock created the topic: Option supplémentaire Calendrier
Bonjour, je suis amateur à limesurvey. J'ai créé un questionnaire avec, en dernière question un calendrier à remplir j'aimerais que les jours samedi et dimanche ne soit pas disponible pouvez-vous m'aider s'il vous plaît ? merci
The following user(s) said Thank You: c_schmitz

Please Log in to join the conversation.

More
9 months 1 week ago - 9 months 1 week ago #148611 by DenisChenu
DenisChenu replied the topic: Option supplémentaire Calendrier
Il resterons disponilbre, mais tu dois pouvoir gérer avec manual.limesurvey.org/Question_type_-_Da...28em_validation_q.29

Quelquechose du type
is_empty(self.NAOK) or date("N",strtotime(self.NAOK))<=5

6 et 7 étant les samedi et dimanche

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand (or search sondages pro).
An error happen ? Before make a new topic : remind the Debug mode .
Last Edit: 9 months 1 week ago by DenisChenu. Reason: parenthèse

Please Log in to join the conversation.

More
9 months 1 week ago #148618 by Ben_V
Ben_V replied the topic: Option supplémentaire Calendrier
Question intéressante... et qui me rappelle aussi la discussion suivante:
www.limesurvey.org/community-services/fo...ys-on-date-questions

Benoît

EM Variables => bit.ly/1TKQyNu | EM Roadmap => bit.ly/1UTrOB4
Last Releases => 2.6x.x goo.gl/ztWfIV | 2.06/2.6.x => bit.ly/1Qv44A1
Demo Surveys => goo.gl/HuR6Xe (already included in /docs/demosurveys)

Please Log in to join the conversation.

More
9 months 6 days ago #148652 by DenisChenu
DenisChenu replied the topic: Option supplémentaire Calendrier
Et comme cela : solution javascript + contrôle effectué en PHP :)

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

Please Log in to join the conversation.

More
9 months 3 days ago #148781 by fcazalas
fcazalas replied the topic: Option supplémentaire Calendrier
Bonjour,
J'ai suivi scrupuleusement la méthode décrite sur ce lien pour bloquer des jours en particulier et les jours de fin de semaine : www.limesurvey.org/community-services/fo...ys-on-date-questions mais rien ne se passe, j'ai bien javascript activé pour LS (j'ai testé en mettant un affichage d'alerte sur une question, c'est ok), mais impossible faire fonctionne ce script. Savez-vous ce qui peut bloquer le script ou le faire dysfonctionner ?
Merci !

Please Log in to join the conversation.

More
9 months 3 days ago #148786 by Ben_V
Ben_V replied the topic: Option supplémentaire Calendrier
une possibilité est que le script étant relatif à l'ancienne version, il nécessite une légère adaptation pour fonctionner avec
la version actuelle de LS; sûrement pas grand chose une ID ou qqchose de cet ordre ci...

Peut-être devrais-tu poser la question (en anglais) sur l'autre discussion en fournissant un export d'une copie de ton questionnaire avec juste ta question type date et ton code en place ;)

Benoît

EM Variables => bit.ly/1TKQyNu | EM Roadmap => bit.ly/1UTrOB4
Last Releases => 2.6x.x goo.gl/ztWfIV | 2.06/2.6.x => bit.ly/1Qv44A1
Demo Surveys => goo.gl/HuR6Xe (already included in /docs/demosurveys)

Please Log in to join the conversation.

More
8 months 4 weeks ago #148940 by fcazalas
fcazalas replied the topic: Option supplémentaire Calendrier
Ok je ferai ça merci !

Please Log in to join the conversation.

More
8 months 4 weeks ago #149027 by mjacques
mjacques replied the topic: Option supplémentaire Calendrier
Ce sujet m'a bien servi! :-)
J'ai piqué le code sur un lien donné et j'ai bidouillé ça:

<script type="text/javascript" charset="utf-8">
$(document).ready(function() {

// Identify this question
var thisQuestion = $('#question{QID}');

// The holidays - format: [month, date, description]
holidays = [
[1, 1, 'Nouvel an'], [12, 25, 'Noel']
];

// A function to show holidays and disable weekend days in a datepicker
function showHolidaysDisableWeekends(date) {
var thisMonth = date.getMonth();
var thisDate = date.getDate();
var thisDay = date.getDay();
var returnedArr = [true, '']; // Normal day

// Loop through the holidays
$(holidays).each(function(i, value) {
if (thisMonth == value[0] - 1 && thisDate == value[1]) {
if(thisDay == 0 || thisDay == 2 || thisDay == 3 || thisDay == 4 || thisDay == 5 || thisDay == 6) {
returnedArr = [false, 'holiday', value[2]+', choisir un lundi']; // Weekend holiday
}
else {
returnedArr = [true, 'holiday', value[2]]; // Weekday holiday
}
return false; // Exit the loop
}
else if (thisDay == 0 || thisDay == 2 || thisDay == 3 || thisDay == 4 || thisDay == 5 || thisDay == 6) {
returnedArr = [false, '', 'Choisir un lundi']; // Weekend day
}
});
return returnedArr;
}

// Apply the new "beforeShowDay" option
$('input[type="text"]', thisQuestion).datepicker('option', 'beforeShowDay', showHolidaysDisableWeekends);
});
</script>


Ca vous semble correct?
Une fois un lundi de choisi, il s'affiche les heures et minutes (00:00) et l'option Limesurvey n'y fait rien, je pense qu'il faut rajouter ou modifier un code dans le script ci-dessus?
Comment enlever les années antérieures à 2017?
Merci à tous ceux qui aident les novices comme moi :-)

Please Log in to join the conversation.

More
8 months 4 weeks ago #149044 by mjacques
mjacques replied the topic: Option supplémentaire Calendrier
J'ai du faire une boulette, quand je fais "envoyer" c'est comme si je n'avais pas choisi de date (d'ailleurs elle disparaît ensuite).

Please Log in to join the conversation.

More
8 months 4 weeks ago #149054 by DenisChenu
DenisChenu replied the topic: Option supplémentaire Calendrier
Je ne fait plus de script lourd sur le forum, ça prend trop de temps, et je trouve que les expressins font relativement bien leur taf : griser les indisponible : ce n'est que cosmétique.

Sinon : poiur lk'année : avec min date et max date à 2017 : ca doit le faire non ?

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

Please Log in to join the conversation.

More
8 months 4 weeks ago #149060 by mjacques
mjacques replied the topic: Option supplémentaire Calendrier
Salut, non, j'ai testé pour l'option date min, ça bug.
Benoît a peut-être raison il doit y avoir un bug avec cette ligne:
var thisQuestion = $('#question{QID}');
Si je rempli l'id alors les cases grisées disparaissent, le script n'est plus actif et la date est par contre prise en compte.

Please Log in to join the conversation.

More
8 months 4 weeks ago #149086 by mjacques
mjacques replied the topic: Option supplémentaire Calendrier
Je vais chercher comment griser avec les expressions, je crois que c'est le plus simple effectivement ;-)

Please Log in to join the conversation.

More
8 months 2 weeks ago #149608 by mjacques
mjacques replied the topic: Option supplémentaire Calendrier
Bonjour, je n'ai toujours pas trouvé les expressions Limesurvey qui permettent de griser les jours de la semaines. Personne n'a de solution?

Please Log in to join the conversation.

More
8 months 2 weeks ago - 8 months 2 weeks ago #149611 by llodbrock
llodbrock replied the topic: Option supplémentaire Calendrier
Bonjour;
Du coup la solution que j'ai choisie est utilisé un plugin externe à Limesurvey. Datepicker Bootstrap 3
J'ai injecté ce plugin dans le modèle de mon formulaire c'est-à-dire ajouter les pages Css et js
Warning: Spoiler! [ Click to expand ]

Puis j'ai fait une question du type "zone de texte court" est dans le code source j'ai ajouté ceci

$(document).ready(function() {
var date = new Date();
var tim = date.getTime();
var d = new Date(tim+(60*60*24*1000)*2);
var years = d.getFullYear();
var years2 = years+1;
var chaine = d.getFullYear() + "-";
var mois = (d.getMonth()+1) ;
mois = mois.toString();
if(mois.length == 1)
mois = '0'+mois;
var day = d.getDate();
day = day.toString();
if(day.length == 1)
day = '0'+day;
chaine += mois + "-"+day;

var thisQuestion = $('#question{QID}');

$('input[type="text"]', thisQuestion).datetimepicker({
format : 'DD/MM/YYYY',
daysOfWeekDisabled : [0,6],
disabledDates: [years+'-01-01',years+'-05-01',years+'-05-08',years+'-07-14',years+'-08-15',years+'-11-01',years+'-11-11',years+'-12-25',years2+'-01-01',years2+'-05-01',years2+'-05-08',years2+'-07-14',years2+'-08-15',years2+'-11-01',years2+'-11-11',years2+'-12-25'],
minDate : chaine
});
});



J'ai utilisé plusieurs options définies par le plugin mais en gros dans mon calendrier tous les week-ends ne peuvent pas être sélectionnés ainsi que les jours fériés sous 2 ans. Utilisateur peut pas sélectionner de date antérieure à aujourd'hui plus 2 jours.

J'espère avoir été explicite cordialement
Last Edit: 8 months 2 weeks ago by llodbrock.
The following user(s) said Thank You: Ben_V

Please Log in to join the conversation.

More
8 months 2 weeks ago #149681 by mjacques
mjacques replied the topic: Option supplémentaire Calendrier
Bonjour et merci llodbrock pour ta réponse. Ca ne me paraît pas très simple, il faut que je me plonge dans tout ça... Si quelqu'un a une solution plus simple je reste preneur.

Please Log in to join the conversation.

Moderators: Nickko

Start now!

Just create your account and start using Limesurvey today.

Register now
Join our Newsletter!