Subversion Repositories wimsdev

Rev

Rev 20 | Rev 880 | 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
879 bpr 87
 passs=!text select */$char_passwd in $passs
20 reyssat 88
 passlen=!charcnt $passs
89
 !if $passlen<$passwd_min or $passlen>$passwd_max or $passs != $passs2
90
  error=bad_password
91
  !exit
92
 !endif
93
 sadd_password=$passs
94
!endif
95
 
96
!read adm/class/addclass $ac_Level/$ac_class/$ac_course
97
 
98
!setdef n_part=$ac_Level/$ac_class\
99
n_sup=$ac_Level/$ac_class,$ac_Level/$ac_prog in $ac_Level_/$ac_class/$ac_course/neighbors
100
ac_n=!defof n_part\
101
n_sup in $ac_Level_/$ac_class/neighbors
102
!distribute lines $ac_n into n_part, n_sup
103
n_part=!listunion $n_part and $ac_Level/$ac_class/$ac_course
104
n_sup =!listunion $n_sup  and $ac_Level/$ac_class/$ac_course
105
!setdef n_part=$n_part\
106
n_sup=$n_sup in $ac_Level_/$ac_class/neighbors
107
 
108
n_sup=!defof n_sup in $ac_Level_/$ac_prog/neighbors
109
n_sup=!listunion $n_sup and $ac_Level/$ac_class/$ac_course
110
!setdef n_sup=$n_sup in $ac_Level_/$ac_prog/neighbors
111
!read adm/class/addshare $ac_Level/$ac_prog, $ac_Level/$ac_class/$ac_course\
112
	exo,sheet,exam,doc,vote
113
 
114
ac_style=!defof class_progstyle in $ac_Level_/$ac_prog/.def
115
!if mandatory iswordof $ac_style
116
 ocourses=!defof class_ocourses in $ac_Level_/$ac_class/.def
117
 ocourses=!listunion $ocourses and $ac_class/$ac_course
118
 !setdef !set class_ocourses=$ocourses in $ac_Level_/$ac_class/.def
119
 !sh cd $wims_home/log/classes/$ac_Level/$ac_class/$ac_course\
120
	rm -f .userlist\
121
	ln -s ../.userlist .
122
!endif
123