Subversion Repositories wimsdev

Rev

Rev 10820 | Rev 14335 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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