Rev 15862 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
nblisttechvar=!linecnt $tv_listtechvar
v=!values v for v=1 to $nblisttechvar
listglobal=!listcomplement $tv_listlocal in $v
!reset user_exists,$lttechvarid
!readproc adm/class/userdef classes,$wims_class,$user
!read $userdef
!if $user_exists!=yes
error=baduser
job=userlist
!reset user,tc_abandon,tc_set
!changeto $job.proc
!endif
!if $tv_listlocal=$empty
error=nolocalvartech
job=userlist
!reset user,tc_abandon,tc_set
!changeto $job.proc
!endif
t=!nonempty item $sheet_usedindivtechvar
!if $t!=$empty
msg_info=activsheetindiv
!endif
# check of local techvar list of values
!for k in $tv_listlocal
don=!line $k of $tv_listtechvar
!distribute item $don into name,cls,num_$k
id_$k=!item $k of $tv_listcode
tmp=!record $(num_$k) of wimshome/log/classes/$wims_class/.techvar
tmp=!line 2 of $tmp
ltprompt_$k=$name_empty,$tmp
ltval_$k=_EMPTY_,$tmp
old_$k=$(user_techvar_$(id_$k))
!bound old_$k within $(ltval_$k) default _EMPTY_
!next k
!if $tc_abandon!=$empty
!reset tc_abandon,tc_set,user
job=userlist
!changeto $job.proc
!exit
!endif
!if $tc_set!=$empty
# check validity of new value for techvar
wdon=$empty
!for k in $tv_listlocal
!bound techval$(num_$k) within $(ltval_$k) default $(old_$k)
wdon=!append line !set user_techvar_$(id_$k)=$(techval$(num_$k)) to $wdon
old_$k=$(techval$(num_$k))
!next k
wdon=!replace internal _EMPTY_ by $empty in $wdon
!setdef $wdon in $userdef
!sh rm -f $wims_home/log/classes/$wims_class/score/$(user).bin;
!reset tc_set
!endif