Subversion Repositories wimsdev

Rev

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