Subversion Repositories wimsdev

Rev

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
!read scripts/check.class
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
!if $error!=$empty
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
  !endif
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 iswordof $test
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
        !endif
60
	        !exit
73
        !exit
61
	      !endif
74
      !endif
62
	     !next
75
     !next
63
	 !endif
76
 !endif
64
 !endif
-
 
65
!endif