Rev 11095 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
4561 | obado | 1 | # ModSheet |
2 | # Modifie la feuille $qsheet |
||
3261 | obado | 3 | |
4561 | obado | 4 | #Pour commencer, on verifie la classe |
5 | !read scripts/check.class |
||
6 | !if $error!=$empty |
||
7 | !exit |
||
8 | !endif |
||
3261 | obado | 9 | |
4783 | obado | 10 | #Puis la feuille |
3261 | obado | 11 | type=sheets |
12 | !read scripts/check.proc |
||
13 | !if $error!=$empty |
||
14 | !exit |
||
15 | !endif |
||
16 | |||
17 | data1=!nonempty lines $data1 |
||
10935 | obado | 18 | |
3261 | obado | 19 | n=!linecnt $data1 |
20 | nbdefs=0 |
||
21 | |||
22 | listfile=wimshome/log/classes/$qclass/exams/.exams |
||
23 | examcnt=!recordcnt $listfile |
||
24 | listexos=wimshome/log/classes/$qclass/sheets/.sheet$qsheet |
||
25 | exocnt=!recordcnt $listexos |
||
26 | |||
27 | !for i=1 to $n |
||
28 | l=!line $i of $data1 |
||
29 | l=!translate = to $\ |
||
30 | $ in $l |
||
11095 | obado | 31 | !distribute lines $l into name_,value_ |
32 | name_=!word 1 of $name_ |
||
33 | !! remove leading, ending and multiples spaces |
||
34 | value_=!trim $value_ |
||
35 | value_=!singlespace $value_ |
||
36 | |||
3261 | obado | 37 | nbtot=!itemcnt $sheetdefs |
9689 | obado | 38 | |
3261 | obado | 39 | !for numfield=1 to $nbtot |
40 | defcur=!item $numfield of $sheetdefs |
||
11095 | obado | 41 | !if $name_ = $defcur |
42 | !if $defcur issametext status |
||
3261 | obado | 43 | #################### |
4176 | obado | 44 | # 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. |
3261 | obado | 45 | ################### |
9689 | obado | 46 | |
11095 | obado | 47 | # Le statut d'une feuille est forcement >=0 et <4 |
48 | !ifval $value_<0 or $value_>=4 |
||
49 | error=bad status ($value_) |
||
3261 | obado | 50 | !exit |
51 | !endif |
||
9689 | obado | 52 | |
3261 | obado | 53 | #attention : avant de definir le statut a 0, il faut verifier qu'aucun examen ne fait appel a cette feuille |
11095 | obado | 54 | !ifval $value_=0 |
3261 | obado | 55 | #cas ou on desactive une feuille |
56 | !for x=1 to $examcnt |
||
57 | qexam=$x |
||
58 | |||
59 | !read scripts/listlinks.proc |
||
60 | !if $nblink>0 |
||
61 | error=Some exercices($nblink) in this sheet($qsheet) are in an exam($qexam).You can't deactiv this sheet. |
||
62 | !exit |
||
63 | !endif |
||
64 | !next x |
||
5665 | obado | 65 | wims_class_log=Deactivate sheet $qsheet by $wims_realuser |
66 | |||
3261 | obado | 67 | !else |
68 | #cas ou on active une feuille |
||
69 | !if $exocnt<1 |
||
70 | error=you can't active an empty sheet |
||
71 | !exit |
||
72 | !endif |
||
15857 | guerimand | 73 | !read adm/sheet/writeweights |
5665 | obado | 74 | wims_class_log=activate sheet $qsheet by $wims_realuser |
3261 | obado | 75 | !endif |
76 | !endif |
||
77 | !advance nbdefs |
||
78 | update_field=$numfield |
||
11095 | obado | 79 | update_content=$value_ |
3261 | obado | 80 | !read scripts/update.proc |
81 | !endif |
||
82 | !next numfield |
||
83 | !next i |
||
84 | |||
85 | !if $nbdefs<1 |
||
86 | error=nothing done |
||
87 | !exit |
||
88 | !endif |
||
89 | |||
90 | type=sheets |
||
91 | !read scripts/build_index.proc |