Subversion Repositories wimsdev

Rev

Rev 1445 | Rev 12981 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
20 reyssat 1
 
2
!if $wims_superclass=$empty or $wims_user!=supervisor or $wims_read_parm=$empty
3
 !exit
4
!endif
5
 
6
!distribute item $wims_read_parm into ac_prog, ac_class
7
!if $ac_prog= or $ac_class= or \
8
	$wims_class/ notin $wims_superclass/$ac_prog/ $wims_superclass/$ac_class/
9
 !exit
10
!endif
11
ac_Level=$wims_superclass
12
ac_Level_=wimshome/log/classes/$ac_Level
13
ac_course=!translate internal / to , in $ac_prog
14
ac_course=!item -1 of $ac_course
15
userdir=wimshome/log/classes/$wims_superclass/.users
16
course_sup=!defof class_Supervisor in $ac_Level_/$ac_prog/.def
17
suptest=
18
!if $course_sup!=supervisor and $course_sup!=$empty
19
 suptest=!defof user_exists in wimshome/log/classes/$wims_superclass/.users/$course_sup
20
!endif
21
!if $suptest!=yes
22
 course_sup=supervisor
23
!endif
24
sup_=$course_sup
25
course_sup=
26
 
27
ac_tt=
28
test=!defof class_defined in $ac_Level_/$ac_class/$ac_course/.def
29
ac_style=!defof class_progstyle in $ac_Level_/$ac_prog/.def
30
!if $test=yes
31
 test=!defof class_ocourses in $ac_Level_/$ac_class/.def
32
 !if $ac_class/$ac_course notin $test and mandatory notwordof $ac_style
33
  !for ac_tt in b,c,d,e,f,g,h,i,j
34
   test=!defof class_defined in $ac_Level_/$ac_class/$ac_course$ac_tt/.def
35
   !if $test!=yes
36
    ac_course=$ac_course$ac_tt
37
    !goto recourse
38
   !endif
39
  !next ac_tt
40
  error=course_full
41
  !exit
42
 !endif
43
 error=addcourse_already
44
 !exit
45
!endif
46
:recourse
47
 
48
1=!defof user_exists in $userdir/$sup_
49
!if $1!=yes
50
 s_=supervisor
51
!else
52
 1=!defof user_supervisable in $userdir/$sup_
53
 !if $1!=yes
54
  name=$sup_
55
  error=not_supervisable
56
  !exit
57
 !endif
58
 slist=!defof user_supervise in $userdir/$sup_
59
 slist=!listunion $slist and $ac_Level/$ac_class/$ac_course
60
 !setdef !set user_supervise=$slist in $userdir/$sup_
61
!endif
62
 
63
!readdef $ac_Level_/$ac_prog/.def
64
cadd_dc=!defof class_description in $ac_Level_/$ac_class/.def
65
cadd_dc=!word 1 of $cadd_dc
66
!for t in supervisor Supervisor, email, password, expiration, level
67
 cadd_$t=$(class_$t)
68
!next t
69
cadd_secure=$sechost
70
!default cadd_secure=$class_secure
71
cadd_description=$cadd_dc-$class_description
72
!if $ac_tt!=$empty
73
 cadd_description=$cadd_description-$ac_tt
74
!endif
75
class_password=
76
cadd_password=
77
cadd_superclass=$wims_superclass
78
cadd_parent=$wims_superclass/$ac_class
79
cadd_type=1
80
cadd_typename=course
81
!readdef $ac_Level_/$ac_prog/supervisor
82
!for t in lastname, firstname, password, email
83
 sadd_$t=$(user_$t)
84
!next t
85
 
86
!if $passs!=$empty
880 bpr 87
 c=!char 1 of $passs
1445 bpr 88
 !if $c=*
881 bpr 89
  passs=!text select */$char_passwd in $passs
880 bpr 90
 !else
881 bpr 91
  passs=!text select $char_passwd in $passs
880 bpr 92
 !endif
20 reyssat 93
 passlen=!charcnt $passs
94
 !if $passlen<$passwd_min or $passlen>$passwd_max or $passs != $passs2
95
  error=bad_password
96
  !exit
97
 !endif
98
 sadd_password=$passs
99
!endif
100
 
101
!read adm/class/addclass $ac_Level/$ac_class/$ac_course
102
 
103
!setdef n_part=$ac_Level/$ac_class\
104
n_sup=$ac_Level/$ac_class,$ac_Level/$ac_prog in $ac_Level_/$ac_class/$ac_course/neighbors
105
ac_n=!defof n_part\
106
n_sup in $ac_Level_/$ac_class/neighbors
107
!distribute lines $ac_n into n_part, n_sup
108
n_part=!listunion $n_part and $ac_Level/$ac_class/$ac_course
109
n_sup =!listunion $n_sup  and $ac_Level/$ac_class/$ac_course
110
!setdef n_part=$n_part\
111
n_sup=$n_sup in $ac_Level_/$ac_class/neighbors
112
 
113
n_sup=!defof n_sup in $ac_Level_/$ac_prog/neighbors
114
n_sup=!listunion $n_sup and $ac_Level/$ac_class/$ac_course
115
!setdef n_sup=$n_sup in $ac_Level_/$ac_prog/neighbors
116
!read adm/class/addshare $ac_Level/$ac_prog, $ac_Level/$ac_class/$ac_course\
1553 bpr 117
	exo,sheet,exam,doc,vote,livret,seq
20 reyssat 118
 
119
ac_style=!defof class_progstyle in $ac_Level_/$ac_prog/.def
120
!if mandatory iswordof $ac_style
121
 ocourses=!defof class_ocourses in $ac_Level_/$ac_class/.def
122
 ocourses=!listunion $ocourses and $ac_class/$ac_course
123
 !setdef !set class_ocourses=$ocourses in $ac_Level_/$ac_class/.def
124
 !sh cd $wims_home/log/classes/$ac_Level/$ac_class/$ac_course\
125
	rm -f .userlist\
126
	ln -s ../.userlist .
127
!endif
128