Rev 5210 | Rev 7354 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
!! add exercise in a sheet
max_exo=64
title_limit=50
desc_limit=255
!if $scoring=yes
!default require=10
!default weight=1
!else
require=0
weight=0
!endif
!if $cmd=new or $cmd=resume
sheets=
!for i=1 to $sheettot
sh=!record $i of wimshome/log/classes/$wims_class/sheets/.sheets
!distribute lines $sh into a_,t_,title
!if $a_<1
sheets=!append line $i,$title to $sheets
!endif
!next i
sheetcnt=!linecnt $sheets
!ifval $sheetcnt=0
error=no_sheet
!exit
!endif
test_transl=!module translation_language $dir
!if $lang iswordof $test_transl
tr_lang=yes
title=!module title_$lang $dir
desc=!module description_$lang $dir
!endif
!default title=!module title $dir
!default desc=!module description $dir
cat=!module category $dir
!if exercise notin $cat and oef notin $cat
error=not_exo
!exit
!endif
!exit
!endif
!if $cmd=reply
!if ../adm/ isin ../$dir or $dir=home or \
(../devel/ isin ../$dir and $wims_devel_modules notwordof open)
error=insert_fail
!exit
!endif
!if $picksheet=$empty
error=no_pick
!exit
!endif
picksheet=$[floor($picksheet)]
!if $picksheet=NaN or $picksheet<1 or $picksheet>min(64,$sheettot)
error=bad_sheet
!exit
!endif
sh=!record $picksheet of wimshome/log/classes/$wims_class/sheets/.sheets
a=!line 1 of $sh
!if $a>0
error=bad_sheet
!exit
!endif
exocnt=!recordcnt wimshome/log/classes/$wims_class/sheets/.sheet$picksheet
!if $exocnt>=$max_exo
error=too_many_exos
!exit
!endif
idesc=!singlespace $new_desc
idesc=!char 1 to $desc_limit of $idesc
ititle=!singlespace $title
ititle=!char 1 to $title_limit of $ititle
!if $scoring=yes
require=$[$require]
weight=$[$weight]
!if NaN isin $require
require=0
!endif
!if NaN isin $weight
weight=0
!endif
!bound require between 0,1000 default 0
!bound weight between 0,10 default 0
!endif
!for i=1 to $exocnt
e=!record $i of wimshome/log/classes/$wims_class/sheets/.sheet$picksheet
!distribute lines $e into wdi,win
!if $dir=$wdi and $iniparm=$win
test=$picksheet
error=already_exist
!exit
!endif
!next i
!appendfile wimshome/log/classes/$wims_class/sheets/.sheet$picksheet :$dir\
$iniparm\
$require\
$weight\
$ititle\
$idesc
exocnt=!recordcnt wimshome/log/classes/$wims_class/sheets/.sheet$picksheet
wims_module_log=class $class: add No$exocnt to worksheet $picksheet
!endif