Rev 13853 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
9909 | obado | 1 | # AddUser |
8235 | obado | 2 | # permet d'ajouter l'utilisateur quser a la classe qclass |
4561 | obado | 3 | |
23 | reyssat | 4 | !read scripts/check.class |
5 | !if $error!=$empty |
||
6 | !exit |
||
7 | !endif |
||
8 | |||
9 | quser=!word 1 of $quser |
||
13853 | czzmrn | 10 | # Les "." présents dans quser sont transformés en arobases. |
23 | reyssat | 11 | quser=!translate internal . to @ in $quser |
12 | quser=!text select $char_login in $quser |
||
13 | l=!charcnt $quser |
||
14 | !if $quser=supervisor or $l<$login_min or $l>$login_max |
||
4176 | obado | 15 | error= login name must not be $quser (illegal, or wrong length) |
23 | reyssat | 16 | !exit |
9909 | obado | 17 | !endif |
23 | reyssat | 18 | |
4176 | obado | 19 | class_superclass=!defof class_superclass in $classdeffile |
20 | |||
21 | #on ajoute pas un utilisateur dans une sous-classe. toujours dans sa superclasse. |
||
22 | !if $class_superclass != $empty |
||
23 | subclass=$qclass |
||
24 | qclass=$class_superclass |
||
25 | user_participate=$subclass |
||
26 | !endif |
||
27 | |||
4626 | obado | 28 | test=!defof user_exists in wimshome/log/classes/$qclass/.users/.$quser |
29 | !if $test!=$empty |
||
30 | error=Deleted user found. Use Recuser instead. |
||
31 | !exit |
||
32 | !endif |
||
33 | |||
23 | reyssat | 34 | userdeffile=wimshome/log/classes/$qclass/.users/$quser |
4176 | obado | 35 | !readdef $userdeffile |
23 | reyssat | 36 | test=!defof user_exists in $userdeffile |
37 | !if $test!=$empty |
||
4176 | obado | 38 | # L'utilisateur existe. On verifie alors si on est dans une sous-classe |
39 | !if $class_superclass != $empty |
||
40 | !if $user_participate != $empty |
||
41 | !if $subclass isitemof $user_participate |
||
4365 | obado | 42 | error=user $quser exists and already participates to this subclass ($subclass) |
4176 | obado | 43 | !exit |
44 | !endif |
||
45 | user_participate=$user_participate, |
||
46 | !endif |
||
47 | #l'utilisateur existait deja dans la superclasse. on lui donne simplement acces a la sous-classe. |
||
4365 | obado | 48 | !setdef !set user_participate=$user_participate$subclass in $userdeffile |
9909 | obado | 49 | |
4176 | obado | 50 | ### Faut-il aussi l'ajouter dans la sous-classe ici ? |
4626 | obado | 51 | ### normalement, mkuserlist va s'en charger ? |
4176 | obado | 52 | !exit |
53 | !else |
||
54 | error=user already exists in this class ($qclass) |
||
55 | !exit |
||
56 | !endif |
||
23 | reyssat | 57 | !endif |
58 | |||
59 | data1=!nonempty lines $data1 |
||
60 | n=!linecnt $data1 |
||
61 | !for i=1 to $n |
||
62 | l=!line $i of $data1 |
||
63 | l=!translate = to $\ |
||
64 | $ in $l |
||
65 | !distribute lines $l into n_,v_ |
||
66 | !if $n_ isitemof $userdefs |
||
67 | user_$n_=$v_ |
||
68 | !endif |
||
69 | !next i |
||
70 | |||
71 | !if $user_password=$empty or $user_lastname=$empty |
||
72 | error=missing data |
||
73 | !exit |
||
74 | !endif |
||
75 | |||
76 | !writefile $userdeffile |
||
77 | !for d in $userdefs |
||
78 | !appendfile $userdeffile !set user_$d=$(user_$d) |
||
79 | !next d |
||
80 | !appendfile $userdeffile !set user_exists=yes |
||
81 | |||
4626 | obado | 82 | #on supprime d'eventuelles traces de cet utilisateur ?? |
23 | reyssat | 83 | !sh cd $wims_home/log/classes/$qclass\ |
84 | rm -f score/$quser score/$quser.exam noscore/$quser >/dev/null |
||
85 | |||
5263 | czzmrn | 86 | !! log student have been added to class (cfr. module/adm/class/reguser/var.proc) |
87 | date=!translate : to . in $wims_now |
||
13853 | czzmrn | 88 | !appendfile wimshome/log/classes/$qclass/.log $date $httpd_REMOTE_ADDR User $quser created: $user_lastname, $user_firstname |
4176 | obado | 89 | |
13863 | czzmrn | 90 | !read adm/class/mkuserlist $qclass |
91 | |||
4176 | obado | 92 | !if $class_superclass != $empty |
93 | !read adm/class/mkuserlist $subclass |
||
94 | !endif |
||
5344 | czzmrn | 95 | class_type=!defof class_type in $classdeffile |
5342 | czzmrn | 96 | !if $class_type=4 or $class_type=2 |
97 | !! need also to read mkteacherlist as you might want to add users wish user_supervisable=yes |
||
98 | !read adm/gateway/mkteacherlist $qclass |
||
99 | !endif |
||
11095 | obado | 100 | |
10132 | bpr | 101 | !read adm/class/stat |