Subversion Repositories wimsdev

Rev

Rev 12982 | 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 \
14336 bpr 5
  $wims_class!=$wims_superclass
12981 bpr 6
  !exit
20 reyssat 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
12981 bpr 21
  error=level_full
22
  !exit
20 reyssat 23
!endif
24
 
10677 bpr 25
!if $passs!=$empty
12981 bpr 26
  passs=!text select $char_passwd in $passs
27
  passlen=!charcnt $passs
28
  !if $passlen<$passwd_min or $passlen>$passwd_max or $passs != $passs2
12982 bpr 29
    error=bad_password
30
    !exit
12981 bpr 31
  !endif
10677 bpr 32
!else
12981 bpr 33
  passs=!defof user_password in wimshome/log/classes/$wims_superclass/supervisor
10677 bpr 34
!endif
20 reyssat 35
 
36
1=!defof user_exists in $userdir/$s_
37
ac_su_list=
38
sup_save=$s_
39
!if $1!=yes
12981 bpr 40
  s_=supervisor
41
  ac_su_level=
20 reyssat 42
!else
12981 bpr 43
  1=!defof user_supervisable in $userdir/$s_
44
  !if $1!=yes
45
    name=$s_
46
    error=not_supervisable
47
    !exit
48
  !endif
49
  ac_su_level=yes
20 reyssat 50
!endif
51
!read adm/class/userdef classes,$wims_superclass,$s_
52
cadd_Supervisor=$s_
10618 guerimand 53
tmp=!defof user_firstname,user_lastname,user_email,user_password in $userdef
10469 guerimand 54
!distribute item $tmp into sadd_firstname,sadd_lastname,sadd_email,sadd_password
20 reyssat 55
cadd_email=$sadd_email
56
cadd_level=$alevel
12982 bpr 57
cadd_password=$pass
10677 bpr 58
sadd_password=$passs
20 reyssat 59
cadd_secure=$sechost
60
cadd_superclass=$wims_superclass
61
cadd_parent=$wims_superclass
62
cadd_type=3
63
cadd_typename=level
64
 
65
!for i=1 to $newcnt
12981 bpr 66
  cadd_description=!item $i of $titles
67
  newlevel=!item $i of $newlevels
68
  ac_su_list=!listunion $ac_su_list and $wims_superclass/$newlevel
69
  !read adm/class/addclass $wims_superclass/$newlevel
20 reyssat 70
!next i
71
 
72
!if $ac_su_level=yes
12981 bpr 73
  ac_su_list2=!defof user_supervise in $userdir/$sup_save
74
  ac_su_list=!listunion $ac_su_list and $ac_su_list2
75
  !setdef !set user_supervise=$ac_su_list in $userdir/$sup_save
20 reyssat 76
!endif