Subversion Repositories wimsdev

Rev

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

Rev Author Line No. Line
10469 guerimand 1
# Add a level under the current gateway.
20 reyssat 2
# Calling parameter: supervisor_account,title,...
3
 
4
!if $wims_superclass=$empty or $wims_user!=supervisor or \
5
	$wims_class!=$wims_superclass
6
 !exit
7
!endif
8
 
9
s_=!item 1 of $wims_read_parm
10
titles=!item 2 to -1 of $wims_read_parm
11
userdir=wimshome/log/classes/$wims_superclass/.users
12
L=!record 0 of wimshome/log/classes/$wims_superclass/levels
13
L=!column 1 of $L
14
A=!values x for x=1 to 99
15
N=!listcomplement $L in $A
16
newlevels=!sort numeric items $N
17
avcnt=!itemcnt $newlevels
18
newcnt=!itemcnt $titles
19
 
20
!if $newlevels=$empty or $avcnt<$newcnt
21
 error=level_full
22
 !exit
23
!endif
24
 
25
 
10469 guerimand 26
!! no superivor password needed in a gateway for level (auth by useraccount)
27
!!!if $passs!=$empty
28
!! passs=!text select $char_passwd in $passs
29
!! passlen=!charcnt $passs
30
!! !if $passlen<$passwd_min or $passlen>$passwd_max or $passs != $passs2
31
!!  error=bad_password
32
!!  !exit
33
!! !endif
34
!!!else
35
!! passs=!defof user_password in wimshome/log/classes/$wims_superclass/supervisor
36
!!!endif
37
 
20 reyssat 38
1=!defof user_exists in $userdir/$s_
39
ac_su_list=
40
sup_save=$s_
41
!if $1!=yes
42
 s_=supervisor
43
 ac_su_level=
44
!else
45
 1=!defof user_supervisable in $userdir/$s_
46
 !if $1!=yes
47
  name=$s_
48
  error=not_supervisable
49
  !exit
50
 !endif
51
 ac_su_level=yes
52
!endif
53
!read adm/class/userdef classes,$wims_superclass,$s_
54
cadd_Supervisor=$s_
10469 guerimand 55
!distribute item $tmp into sadd_firstname,sadd_lastname,sadd_email,sadd_password
56
!!sadd_firstname=!defof user_firstname in $userdef
57
!!sadd_lastname=!defof user_lastname in $userdef
58
!!sadd_email=!defof user_email in $userdef
59
!!sadd_password=$passs
60
 
20 reyssat 61
cadd_email=$sadd_email
62
cadd_level=$alevel
10469 guerimand 63
!!cadd_password=
20 reyssat 64
cadd_secure=$sechost
65
cadd_superclass=$wims_superclass
66
cadd_parent=$wims_superclass
67
cadd_type=3
68
cadd_typename=level
69
 
70
!for i=1 to $newcnt
71
 cadd_description=!item $i of $titles
72
 newlevel=!item $i of $newlevels
73
 ac_su_list=!listunion $ac_su_list and $wims_superclass/$newlevel
74
 !read adm/class/addclass $wims_superclass/$newlevel
75
!next i
76
 
77
!if $ac_su_level=yes
78
 ac_su_list2=!defof user_supervise in $userdir/$sup_save
79
 ac_su_list=!listunion $ac_su_list and $ac_su_list2
80
 !setdef !set user_supervise=$ac_su_list in $userdir/$sup_save
81
!endif
82