Rev 4590 | Rev 5273 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 4590 | Rev 4667 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 |
|
1 | # Utilise pour verifier l'existence d'un etudiant dans une classe |
- | 2 | # Check.user verifie que l'element $quser est present dans $qclass |
|
2 | 3 | ||
3 |
|
4 | #On considere que la classe a été verifie en amont (via check.class) |
4 | !exit |
- | |
5 | !endif |
- | |
6 | 5 | ||
7 | quser=!translate internal ./;,?* to $ $ in $quser |
6 | quser=!translate internal ./;,?* to $ $ in $quser |
8 | !if $ $ isin $quser |
7 | !if $ $ isin $quser |
9 | quser= |
8 | quser= |
10 | !endif |
9 | !endif |
11 | !if $quser=$empty |
10 | !if $quser=$empty |
12 | :baduser |
11 | :baduser |
13 | error=bad user |
12 | error=bad user |
14 | !exit |
13 | !exit |
15 | !endif |
14 | !endif |
16 | 15 | ||
17 | !if $quser=supervisor |
16 | !if $quser=supervisor |
18 | deffile=supervisor |
17 | deffile=supervisor |
19 | !else |
18 | !else |
20 | deffile=.users/$quser |
19 | deffile=.users/$quser |
Line 23... | Line 22... | ||
23 | 22 | ||
24 | !if $class_superclass= |
23 | !if $class_superclass= |
25 | userdeffile=wimshome/log/classes/$qclass/$deffile |
24 | userdeffile=wimshome/log/classes/$qclass/$deffile |
26 | test=!defof user_exists in $userdeffile |
25 | test=!defof user_exists in $userdeffile |
27 | !if $test!=yes |
26 | !if $test!=yes |
28 | !if $job!=getclassesuser |
- | |
29 | !goto baduser |
27 | !goto baduser |
30 | !endif |
- | |
31 | !else |
- | |
32 | !if $job=getclassesuser |
- | |
33 | listclassesuser=!append item $qclass to $listclassesuser |
- | |
34 | !endif |
- | |
35 |
|
28 | !endif |
36 | !exit |
- | |
37 | !else |
29 | !else |
38 | # on regarde si user existe dans la superclasse |
30 | # on regarde si user existe dans la superclasse |
39 | userdeffile=wimshome/log/classes/$class_superclass/$deffile |
31 | userdeffile=wimshome/log/classes/$class_superclass/$deffile |
40 | test=!defof user_exists in $userdeffile |
32 | test=!defof user_exists in $userdeffile |
41 | !if $test!=yes |
33 | !if $test!=yes |
42 | error=user not present in superclass. |
34 | error=user not present in superclass. |
43 | !exit |
35 | !exit |
44 | !endif |
36 | !endif |
- | 37 | ||
45 | test=!defof user_participate in $userdeffile |
38 | test=!defof user_participate in $userdeffile |
46 | ### contient les classes auxquelles est inscrit l'étudiant et les cours non obligatoires |
39 | ### contient les classes auxquelles est inscrit l'étudiant et les cours non obligatoires |
47 | test=!items2words $test |
40 | test=!items2words $test |
48 | !if $qclass |
41 | !if $qclass notwordof $test |
49 | !exit |
- | |
50 | !endif |
- | |
51 | - | ||
52 | class_typename=!defof class_typename in $classdeffile |
42 | class_typename=!defof class_typename in $classdeffile |
53 | 43 | ||
54 | !if $class_typename iswordof class and $qclass notwordof $test |
44 | !if $quser!=supervisor and $class_typename iswordof class and $qclass notwordof $test |
55 | error=Sorry, this user does not participates to this subclass. |
45 | error=Sorry, this user does not participates to this subclass. |
56 | !exit |
46 | !exit |
57 | !endif |
47 | !endif |
58 | 48 | ||
59 | !if $class_typename iswordof program and (mandatory notwordof $class_progstyles or $class_progstyles=$empty) |
49 | !if $class_typename iswordof program and (mandatory notwordof $class_progstyles or $class_progstyles=$empty) |
60 | ###si le programme n'est pas obligatoire, user_participate contient ce qu'il faut |
50 | ###si le programme n'est pas obligatoire, user_participate contient ce qu'il faut |
61 | qlist=!record 0 of wimshome/log/classes/$qclass/courses |
51 | qlist=!record 0 of wimshome/log/classes/$qclass/courses |
62 | qcourses=!linecnt $qlist |
52 | qcourses=!linecnt $qlist |
63 | !for q_c=1 to $qcourses |
53 | !for q_c=1 to $qcourses |
64 | testc=!line $q_c of $qlist |
54 | testc=!line $q_c of $qlist |
65 | test1=!replace internal / by , in $(testc[1]) |
55 | test1=!replace internal / by , in $(testc[1]) |
66 | ###test1 doit avoir trois items dans le cas d'un établissement |
56 | ###test1 doit avoir trois items dans le cas d'un établissement |
67 | !if $class_superclass/$(test1[1])/$(test1[2]) iswordof $test |
57 | !if $class_superclass/$(test1[1])/$(test1[2]) iswordof $test |
68 | qclass=$class_superclass/$(testc[1]) |
58 | qclass=$class_superclass/$(testc[1]) |
69 | #### il devrait n'y en avoir qu'un correspondant au programme ? |
59 | #### il devrait n'y en avoir qu'un correspondant au programme ? |
70 | !if $job=getclassesuser |
- | |
71 | listclassesuser=!append item $qclass to $listclassesuser |
- | |
72 |
|
60 | !exit |
73 |
|
61 | !endif |
74 |
|
62 | !next |
75 |
|
63 | !endif |
76 | !endif |
64 | !endif |
- | 65 | !endif |