Subversion Repositories wimsdev

Rev

Rev 10677 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 10677 Rev 12981
Line 1... Line 1...
1
# Add a class under the current level.
1
# Add a class under the current level.
2
# Calling parameter: supervisor_account,title,...
2
# Calling parameter: supervisor_account,title,...
3
 
3
 
4
!if $wims_superclass=$empty or $wims_user!=supervisor or \
4
!if $wims_superclass=$empty or $wims_user!=supervisor or \
5
	$level=$empty or $wims_class/ notin $wims_superclass/$level/
5
	$level=$empty or $wims_class/ notin $wims_superclass/$level/
6
 !exit
6
  !exit
7
!endif
7
!endif
8
 
8
 
9
Level_=$wims_superclass/$level
9
Level_=$wims_superclass/$level
10
Level__=wimshome/log/classes/$Level_
10
Level__=wimshome/log/classes/$Level_
11
userdir=wimshome/log/classes/$wims_superclass/.users
11
userdir=wimshome/log/classes/$wims_superclass/.users
Line 21... Line 21...
21
newcnt=!itemcnt $titles
21
newcnt=!itemcnt $titles
22
progs=!record 0 of $Level__/programs
22
progs=!record 0 of $Level__/programs
23
progs=!column 1 of $progs
23
progs=!column 1 of $progs
24
progs=!nonempty items $progs
24
progs=!nonempty items $progs
25
!for p_ in $progs
25
!for p_ in $progs
26
 progstyle_$p_=!defof class_progstyle in $Level__/$p_/.def
26
  progstyle_$p_=!defof class_progstyle in $Level__/$p_/.def
27
!next p_
27
!next p_
28
 
28
 
29
!if $pass!=$empty
29
!if $pass!=$empty
30
 pass=!text select $char_passwd in $pass
30
  pass=!text select $char_passwd in $pass
31
 passlen=!charcnt $pass
31
  passlen=!charcnt $pass
32
 !if $passlen<$passwd_min or $passlen>$passwd_max or $pass != $pass2
32
  !if $passlen<$passwd_min or $passlen>$passwd_max or $pass != $pass2
33
  error=bad_password
33
    error=bad_password
34
  !exit
34
    !exit
35
 !endif
35
  !endif
36
!else
36
!else
37
 pass=!defof class_password in $Level__/.def
37
  pass=!defof class_password in $Level__/.def
38
!endif
38
!endif
39
 
39
 
40
!if $passs!=$empty
40
!if $passs!=$empty
41
 passs=!text select $char_passwd in $passs
41
  passs=!text select $char_passwd in $passs
42
 passlen=!charcnt $passs
42
  passlen=!charcnt $passs
43
 !if $passlen<$passwd_min or $passlen>$passwd_max or $passs != $passs2
43
  !if $passlen<$passwd_min or $passlen>$passwd_max or $passs != $passs2
44
  error=bad_password
44
    error=bad_password
45
  !exit
45
    !exit
46
 !endif
46
  !endif
47
!else
47
!else
48
 passs=!defof user_password in $Level__/supervisor
48
  passs=!defof user_password in $Level__/supervisor
49
!endif
49
!endif
50
 
50
 
51
!if $newclasses=$empty or $avcnt<$newcnt
51
!if $newclasses=$empty or $avcnt<$newcnt
52
 error=class_full
52
  error=class_full
53
 !exit
53
  !exit
54
!endif
54
!endif
55
 
55
 
56
1=!defof user_exists in wimshome/log/classes/$wims_superclass/.users/$s_
56
1=!defof user_exists in wimshome/log/classes/$wims_superclass/.users/$s_
57
ac_su_list=
57
ac_su_list=
58
!if $1!=yes
58
!if $1!=yes
59
 s_=supervisor
59
  s_=supervisor
60
 ac_su_class=
60
  ac_su_class=
61
!else
61
!else
62
 1=!defof user_supervisable in wimshome/log/classes/$wims_superclass/.users/$s_
62
  1=!defof user_supervisable in wimshome/log/classes/$wims_superclass/.users/$s_
63
 !if $1!=yes
63
  !if $1!=yes
64
  name=$s_
64
    name=$s_
65
  error=not_supervisable
65
    error=not_supervisable
66
  !exit
66
    !exit
67
 !endif
67
  !endif
68
 ac_su_class=yes
68
  ac_su_class=yes
69
!endif
69
!endif
70
 
70
 
71
!read adm/class/userdef classes,$wims_superclass,$s_
71
!read adm/class/userdef classes,$wims_superclass,$s_
72
userdef_save=$userdef
72
userdef_save=$userdef
73
sup_save=$s_
73
sup_save=$s_
74
!for i=1 to $newcnt
74
!for i=1 to $newcnt
75
 userdef=$userdef_save
75
  userdef=$userdef_save
76
 cadd_Supervisor=$sup_save
76
  cadd_Supervisor=$sup_save
77
 tmp=!defof user_firstname,user_lastname,user_email,user_password in $userdef
77
  tmp=!defof user_firstname,user_lastname,user_email,user_password in $userdef
78
 !distribute item $tmp into sadd_firstname,sadd_lastname,sadd_email,sadd_password
78
  !distribute item $tmp into sadd_firstname,sadd_lastname,sadd_email,sadd_password
79
 cadd_email=$sadd_email
79
  cadd_email=$sadd_email
80
 cadd_superclass=$wims_superclass
80
  cadd_superclass=$wims_superclass
81
 cadd_parent=$Level_
81
  cadd_parent=$Level_
82
 cadd_password=$pass
82
  cadd_password=$pass
83
 cadd_secure=$sechost
83
  cadd_secure=$sechost
84
 sadd_password=$passs
84
  sadd_password=$passs
85
 cadd_type=3
85
  cadd_type=3
86
 cadd_typename=class
86
  cadd_typename=class
87
 cadd_description=!item $i of $titles
87
  cadd_description=!item $i of $titles
88
 ac_newclass=!item $i of $newclasses
88
  ac_newclass=!item $i of $newclasses
89
 ac_su_list=!listunion $ac_su_list and $Level_/$ac_newclass
89
  ac_su_list=!listunion $ac_su_list and $Level_/$ac_newclass
90
 !read adm/class/addclass $Level_/$ac_newclass
90
  !read adm/class/addclass $Level_/$ac_newclass
91
 !for p_ in $progs
91
  !for p_ in $progs
92
  progstyle=!defof class_progstyle in wimshome/log/classes/$wims_superclass/$p_/.def
92
    progstyle=!defof class_progstyle in wimshome/log/classes/$wims_superclass/$p_/.def
93
  !if all iswordof $progstyle
93
    !if all iswordof $progstyle
94
   passs=!defof user_password in wimshome/log/classes/$wims_superclass/$p_/supervisor
94
      passs=!defof user_password in wimshome/log/classes/$wims_superclass/$p_/supervisor
95
   passs2=$passs
95
      passs2=$passs
96
   !read adm/gateway/addcourse $p_, $level/$ac_newclass
96
      !read adm/gateway/addcourse $p_, $level/$ac_newclass
97
  !endif
97
    !endif
98
 !next p_
98
  !next p_
99
!next i
99
!next i
100
 
100
 
101
!if $ac_su_class=yes
101
!if $ac_su_class=yes
102
 ac_su_list2=!defof user_supervise in $userdir/$sup_save
102
  ac_su_list2=!defof user_supervise in $userdir/$sup_save
103
 ac_su_list=!listunion $ac_su_list and $ac_su_list2
103
  ac_su_list=!listunion $ac_su_list and $ac_su_list2
104
 !setdef !set user_supervise=$ac_su_list in $userdir/$sup_save
104
  !setdef !set user_supervise=$ac_su_list in $userdir/$sup_save
105
!endif
105
!endif
106
 
-