Rev 10582 | Rev 10677 | 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 | |||
10582 | bpr | 26 | !! no supervisor password needed in a gateway for level (auth by useraccount) |
10469 | guerimand | 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_ |
||
10618 | guerimand | 55 | tmp=!defof user_firstname,user_lastname,user_email,user_password in $userdef |
10469 | guerimand | 56 | !distribute item $tmp into sadd_firstname,sadd_lastname,sadd_email,sadd_password |
20 | reyssat | 57 | cadd_email=$sadd_email |
58 | cadd_level=$alevel |
||
10469 | guerimand | 59 | !!cadd_password= |
20 | reyssat | 60 | cadd_secure=$sechost |
61 | cadd_superclass=$wims_superclass |
||
62 | cadd_parent=$wims_superclass |
||
63 | cadd_type=3 |
||
64 | cadd_typename=level |
||
65 | |||
66 | !for i=1 to $newcnt |
||
67 | cadd_description=!item $i of $titles |
||
68 | newlevel=!item $i of $newlevels |
||
69 | ac_su_list=!listunion $ac_su_list and $wims_superclass/$newlevel |
||
70 | !read adm/class/addclass $wims_superclass/$newlevel |
||
71 | !next i |
||
72 | |||
73 | !if $ac_su_level=yes |
||
74 | ac_su_list2=!defof user_supervise in $userdir/$sup_save |
||
75 | ac_su_list=!listunion $ac_su_list and $ac_su_list2 |
||
76 | !setdef !set user_supervise=$ac_su_list in $userdir/$sup_save |
||
77 | !endif |
||
78 |