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 |