Subversion Repositories wimsdev

Rev

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