Rev 11095 | Blame | Compare with Previous | Last modification | View Log | RSS feed
# ModSheet
# Modifie la feuille $qsheet
#Pour commencer, on verifie la classe
!read scripts/check.class
!if $error!=$empty
!exit
!endif
#Puis la feuille
type=sheets
!read scripts/check.proc
!if $error!=$empty
!exit
!endif
data1=!nonempty lines $data1
n=!linecnt $data1
nbdefs=0
listfile=wimshome/log/classes/$qclass/exams/.exams
examcnt=!recordcnt $listfile
listexos=wimshome/log/classes/$qclass/sheets/.sheet$qsheet
exocnt=!recordcnt $listexos
!for i=1 to $n
l=!line $i of $data1
l=!translate = to $\
$ in $l
!distribute lines $l into name_,value_
name_=!word 1 of $name_
!! remove leading, ending and multiples spaces
value_=!trim $value_
value_=!singlespace $value_
nbtot=!itemcnt $sheetdefs
!for numfield=1 to $nbtot
defcur=!item $numfield of $sheetdefs
!if $name_ = $defcur
!if $defcur issametext status
####################
# il faudrait verifier qu'il n'y a aucune note sur cette feuille avant de la repasser en preparation. si c'est le cas, il faut basculer les notes en question du dossier /score vers /noscore avec les options "deact noscore" en plus.
###################
# Le statut d'une feuille est forcement >=0 et <4
!ifval $value_<0 or $value_>=4
error=bad status ($value_)
!exit
!endif
#attention : avant de definir le statut a 0, il faut verifier qu'aucun examen ne fait appel a cette feuille
!ifval $value_=0
#cas ou on desactive une feuille
!for x=1 to $examcnt
qexam=$x
!read scripts/listlinks.proc
!if $nblink>0
error=Some exercices($nblink) in this sheet($qsheet) are in an exam($qexam).You can't deactiv this sheet.
!exit
!endif
!next x
wims_class_log=Deactivate sheet $qsheet by $wims_realuser
!else
#cas ou on active une feuille
!if $exocnt<1
error=you can't active an empty sheet
!exit
!endif
!read adm/sheet/writeweights
wims_class_log=activate sheet $qsheet by $wims_realuser
!endif
!endif
!advance nbdefs
update_field=$numfield
update_content=$value_
!read scripts/update.proc
!endif
!next numfield
!next i
!if $nbdefs<1
error=nothing done
!exit
!endif
type=sheets
!read scripts/build_index.proc
Generated by GNU Enscript 1.6.5.90.