Subversion Repositories wimsdev

Rev

Rev 14335 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
9960 guerimand 1
nblocalvar=!itemcnt $tv_listlocal
2
!if $nblocalvar>=$MAXtechvar
12488 bpr 3
  error=toomanytechvar
4
  job=listvar
5
  !changeto $job.proc
6
  !exit
9960 guerimand 7
!endif
8
 
9
!if $tc_abandon!=$empty
12488 bpr 10
  !reset tc_abandon,tc_value,tc_name,tc_set
11
  job=listvar
12
  !changeto $job.proc
13
  !exit
9960 guerimand 14
!endif
15
 
16
!if $tc_set!=$empty
12488 bpr 17
  !! check name validity
18
  tc_name=!text select 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ in $tc_name
19
  tc_name=!nospace $tc_name
20
  tc_name=!lower $tc_name
21
  n=!charcnt $tc_name
22
  !if $n>$MAXcharname or $n<1
14335 bpr 23
    error=badnamelen
24
    !reset tc_set
25
    !exit
12488 bpr 26
  !endif
9960 guerimand 27
 
12488 bpr 28
  !! check list of name already in use
29
  !if $tc_name isitemof $tv_listallname
30
    error=namealreadyuse
14335 bpr 31
    !reset tc_set
32
    !exit
12488 bpr 33
  !endif
9960 guerimand 34
 
12488 bpr 35
  !! check forbidden name
36
  !for rac in exam,sheet,vote,manual,login,name,lastname,firstname,password,email,\
10269 bpr 37
      regnum,photourl,comments,external_auth,allscore,averages,average,sheets,sheetexo,\
38
      exams,manuals,participate,supervisable,supervise,manual,\
10293 guerimand 39
      regprop
12488 bpr 40
    !if $rac isin $tc_name
14335 bpr 41
      t=!replace internal $rac by $empty in $tc_name
42
      !if $[$t]!=NaN
43
        error=nameforbidden
44
        !exit
45
      !endif
46
    !endif
12488 bpr 47
  !next rac
10147 guerimand 48
 
12488 bpr 49
  !! check list of value
50
  tc_value=!listuniq $tc_value
15772 guerimand 51
  tc_value=!text select char azertyuiopqsdfghjklmwxcvbnAZERTYUIOPQSDFGHJKLMWXCVBN,1234567890 in $tc_value
52
  tc_value=!listcomplement EMPTY in $tc_value
12488 bpr 53
  n=!itemcnt $tc_value
54
  !if $n<1 or $n>$MAXnbvalue
55
    error=badvaluenb
14335 bpr 56
    !reset tc_set
57
    !exit
12488 bpr 58
  !endif
59
  !! save
60
  !fileappend wimshome/log/classes/$wims_class/.techvar :$tc_name\
9960 guerimand 61
$tc_value
12488 bpr 62
  !fileappend wimshome/log/classes/$tv_Sclass/.indextechvar :$tc_name,$wims_class,$[$nblocalvar+1]
63
  !restart module=adm/class/techvar
9983 guerimand 64
!else
14335 bpr 65
  !if $nblocalvar=0
66
    olddon=!record 0 of wimshome/s2/$wims_session/oldtechvar.don
67
    !if $olddon=$empty
68
      olddon=!sh cd $wims_home/log/classes/$tv_Sclass/.users/;\
9983 guerimand 69
grep -r user__ * | awk -F= '$$2!=""{print $$0}'
14335 bpr 70
      olddon=!replace internal :!set user__ by , in $olddon
71
      olddon=!replace internal = by , in $olddon
72
      !if $olddon=$empty
73
        !writefile wimshome/s2/$wims_session/oldtechvar.don EMPTY
74
      !else
75
        !writefile wimshome/s2/$wims_session/oldtechvar.don $olddon
76
      !endif
77
    !endif
78
    !if EMPTY=$olddon
79
      !reset olddon
80
    !endif
81
    !if $olddon!=$empty
82
      msg_info=witholdvar
83
    !endif
84
  !endif
9960 guerimand 85
!endif