Subversion Repositories wimsdev

Rev

Rev 9909 | Rev 11095 | Go to most recent revision | 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
9909 obado 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
 
20
class_superclass=!defof class_superclass in $classdeffile
21
 
22
#on ajoute pas un utilisateur dans une sous-classe. toujours dans sa superclasse.
23
!if $class_superclass != $empty
24
  subclass=$qclass
25
  qclass=$class_superclass
26
  user_participate=$subclass
27
!endif
28
 
4626 obado 29
test=!defof user_exists in wimshome/log/classes/$qclass/.users/.$quser
30
!if $test!=$empty
31
 error=Deleted user found. Use Recuser instead.
32
 !exit
33
!endif
34
 
23 reyssat 35
userdeffile=wimshome/log/classes/$qclass/.users/$quser
4176 obado 36
!readdef $userdeffile
23 reyssat 37
test=!defof user_exists in $userdeffile
38
!if $test!=$empty
4176 obado 39
  # L'utilisateur existe. On verifie alors si on est dans une sous-classe
40
  !if $class_superclass != $empty
41
    !if $user_participate != $empty
42
      !if $subclass isitemof $user_participate
4365 obado 43
        error=user $quser exists and already participates to this subclass ($subclass)
4176 obado 44
        !exit
45
      !endif
46
      user_participate=$user_participate,
47
    !endif
48
    #l'utilisateur existait deja dans la superclasse. on lui donne simplement acces a la sous-classe.
4365 obado 49
    !setdef !set user_participate=$user_participate$subclass in $userdeffile
9909 obado 50
 
4176 obado 51
    ### Faut-il aussi l'ajouter dans la sous-classe ici ?
4626 obado 52
    ### normalement, mkuserlist va s'en charger ?
4176 obado 53
    !exit
54
  !else
55
    error=user already exists in this class ($qclass)
56
    !exit
57
  !endif
23 reyssat 58
!endif
59
 
60
data1=!nonempty lines $data1
61
n=!linecnt $data1
62
!for i=1 to $n
63
 l=!line $i of $data1
64
 l=!translate = to $\
65
$ in $l
66
 !distribute lines $l into n_,v_
67
 !if $n_ isitemof $userdefs
68
  user_$n_=$v_
69
 !endif
70
!next i
71
 
72
!if $user_password=$empty or $user_lastname=$empty
73
 error=missing data
74
 !exit
75
!endif
76
 
77
!writefile $userdeffile
78
!for d in $userdefs
79
 !appendfile $userdeffile !set user_$d=$(user_$d)
80
!next d
81
!appendfile $userdeffile !set user_exists=yes
82
 
4626 obado 83
#on supprime d'eventuelles traces de cet utilisateur ??
23 reyssat 84
!sh cd $wims_home/log/classes/$qclass\
85
 rm -f score/$quser score/$quser.exam noscore/$quser >/dev/null
86
 
87
!read adm/class/mkuserlist $qclass
5263 czzmrn 88
!! log student have been added to class (cfr. module/adm/class/reguser/var.proc)
89
date=!translate : to . in $wims_now
10132 bpr 90
!appendfile wimshome/log/classes/$qclass/.log $date $httpd_REMOTE_ADDR      User $quser added
4176 obado 91
 
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
10132 bpr 100
!read adm/class/stat