On ramène le score dans l'intervalle [0; 100] pour avoir un vrai pourcentage.
darcs-hash:20071101114751-dc76e-916930a27788ecc5db1f869a5a902888833e0901.gz
This commit is contained in:
parent
72f506d45a
commit
d7f62f09bc
1 changed files with 20 additions and 5 deletions
|
@ -6,6 +6,7 @@
|
||||||
class questionnaire:
|
class questionnaire:
|
||||||
execute = 0
|
execute = 0
|
||||||
liste_questions = []
|
liste_questions = []
|
||||||
|
min_point = 0
|
||||||
max_point = 0
|
max_point = 0
|
||||||
fonction_affiche = True
|
fonction_affiche = True
|
||||||
|
|
||||||
|
@ -32,12 +33,16 @@ def question_choix_unique(f,QR,quest):
|
||||||
""" % { "id" : quest.execute , "Q" : QR[0][1]})
|
""" % { "id" : quest.execute , "Q" : QR[0][1]})
|
||||||
QR=QR[1:]
|
QR=QR[1:]
|
||||||
max = 0
|
max = 0
|
||||||
|
min = 0
|
||||||
for (point,rep) in QR:
|
for (point,rep) in QR:
|
||||||
point = int_try(point)
|
point = int_try(point)
|
||||||
if (max<point):
|
if (max < point):
|
||||||
max = point
|
max = point
|
||||||
|
if (min > point):
|
||||||
|
min = point
|
||||||
r+=f.rawHTML("""<input type="radio" name="radio%(id)i" onclick="ajoute(%(id)i,%(point)i)" > %(rep)s<br>\n"""% { "point" : point , "id" : quest.execute, "rep" : rep})
|
r+=f.rawHTML("""<input type="radio" name="radio%(id)i" onclick="ajoute(%(id)i,%(point)i)" > %(rep)s<br>\n"""% { "point" : point , "id" : quest.execute, "rep" : rep})
|
||||||
quest.max_point += max
|
quest.max_point += max
|
||||||
|
quest.min_point += min
|
||||||
r += f.rawHTML("\n</p>\n")
|
r += f.rawHTML("\n</p>\n")
|
||||||
return r
|
return r
|
||||||
|
|
||||||
|
@ -48,7 +53,10 @@ def question_choix_multiple(f,QR,quest):
|
||||||
QR=QR[1:]
|
QR=QR[1:]
|
||||||
for (point,rep) in QR:
|
for (point,rep) in QR:
|
||||||
point = int_try(point)
|
point = int_try(point)
|
||||||
quest.max_point += point
|
if point > 0:
|
||||||
|
quest.max_point += point
|
||||||
|
else:
|
||||||
|
quest.min_point += point
|
||||||
r+=f.rawHTML("""<input type="checkbox" name="radio%(id)i" onclick="ajoute_multiple(%(point)i,this.checked)" > %(rep)s<br>\n"""% { "point" : point , "id" : quest.execute, "rep" : rep})
|
r+=f.rawHTML("""<input type="checkbox" name="radio%(id)i" onclick="ajoute_multiple(%(point)i,this.checked)" > %(rep)s<br>\n"""% { "point" : point , "id" : quest.execute, "rep" : rep})
|
||||||
r +=f.rawHTML("\n</p>\n")
|
r +=f.rawHTML("\n</p>\n")
|
||||||
return r
|
return r
|
||||||
|
@ -64,7 +72,7 @@ def fonction_javascript(f,quest):
|
||||||
function update()
|
function update()
|
||||||
{
|
{
|
||||||
var result_p = document.getElementsByName('result_p')
|
var result_p = document.getElementsByName('result_p')
|
||||||
var point_result_p = Math.round(point_globale / %(max_point)i*10000)/100
|
var point_result_p = Math.round((point_globale-(%(min_point)i)) * 10000 / %(intervalle)i)/100
|
||||||
for (var i=0;i<result_p.length;i++)
|
for (var i=0;i<result_p.length;i++)
|
||||||
{
|
{
|
||||||
result_p[i].innerHTML = point_result_p
|
result_p[i].innerHTML = point_result_p
|
||||||
|
@ -91,7 +99,9 @@ def fonction_javascript(f,quest):
|
||||||
update()
|
update()
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
""" % {"max_point" : quest.max_point , "nb_quest" : quest.execute})
|
""" % {"min_point": quest.min_point,
|
||||||
|
"intervalle": quest.max_point-quest.min_point,
|
||||||
|
"nb_quest": quest.execute})
|
||||||
else:
|
else:
|
||||||
return ""
|
return ""
|
||||||
|
|
||||||
|
@ -104,6 +114,9 @@ def result_pourcent(f,quest):
|
||||||
def result_max(f,quest):
|
def result_max(f,quest):
|
||||||
return f.text("%i" % quest.max_point)
|
return f.text("%i" % quest.max_point)
|
||||||
|
|
||||||
|
def result_min(f,quest):
|
||||||
|
return f.text("%i" % quest.min_point)
|
||||||
|
|
||||||
def execute(macro,text):
|
def execute(macro,text):
|
||||||
try:
|
try:
|
||||||
macro._macro_questionnaire.execute +=1
|
macro._macro_questionnaire.execute +=1
|
||||||
|
@ -117,8 +130,10 @@ def execute(macro,text):
|
||||||
return fonction_javascript(f,quest) + result(f,quest)
|
return fonction_javascript(f,quest) + result(f,quest)
|
||||||
elif text == "%":
|
elif text == "%":
|
||||||
return fonction_javascript(f,quest) + result_pourcent(f,quest)
|
return fonction_javascript(f,quest) + result_pourcent(f,quest)
|
||||||
elif text == "m":
|
elif text == "M":
|
||||||
return fonction_javascript(f,quest) + result_max(f,quest)
|
return fonction_javascript(f,quest) + result_max(f,quest)
|
||||||
|
elif text == "m":
|
||||||
|
return fonction_javascript(f,quest) + result_min(f,quest)
|
||||||
else:
|
else:
|
||||||
QR = parse(text)
|
QR = parse(text)
|
||||||
if QR[0][0][0]=='*':
|
if QR[0][0][0]=='*':
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue