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 |