Subversion Repositories wimsdev

Rev

Rev 5210 | Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
5199 guerimand 1
!! add exercise in a sheet
2
 
3
max_exo=64
4
title_limit=50
5
desc_limit=255
6
 
7
!if $scoring=yes
8
 !default require=10
9
 !default weight=1
10
!else
11
 require=0
12
 weight=0
13
!endif
14
 
15
!if $cmd=new or $cmd=resume
16
 sheets=
17
 !for i=1 to $sheettot
18
  sh=!record $i of wimshome/log/classes/$wims_class/sheets/.sheets
19
  !distribute lines $sh into a_,t_,title
20
  !if $a_<1
21
   sheets=!append line $i,$title to $sheets
22
  !endif
23
 !next i
24
 sheetcnt=!linecnt $sheets
25
 !ifval $sheetcnt=0
26
  error=no_sheet
27
  !exit
28
 !endif
29
 title=!module title $dir
30
 desc=!module description $dir
31
 !exit
32
!endif
33
 
34
!if $cmd=reply
35
 !if ../adm/ isin ../$dir or $dir=home or \
36
   (../devel/ isin ../$dir and $wims_devel_modules notwordof open)
37
  error=insert_fail
38
  !exit
39
 !endif
40
 !if $picksheet=$empty
41
  error=no_pick
42
  !exit
43
 !endif
44
 picksheet=$[floor($picksheet)]
45
 !if $picksheet=NaN or $picksheet<1 or $picksheet>min(64,$sheettot)
46
  error=bad_sheet
47
  !exit
48
 !endif
49
 sh=!record $picksheet of wimshome/log/classes/$wims_class/sheets/.sheets
50
 a=!line 1 of $sh
51
 !if $a>0
52
  error=bad_sheet
53
  !exit
54
 !endif
55
 exocnt=!recordcnt wimshome/log/classes/$wims_class/sheets/.sheet$picksheet
56
 !if $exocnt>=$max_exo
57
  error=too_many_exos
58
  !exit
59
 !endif
60
 idesc=!singlespace $new_desc
61
 idesc=!char 1 to $desc_limit of $idesc
62
 ititle=!singlespace $title
63
 ititle=!char 1 to $title_limit of $ititle
64
 !if $scoring=yes
65
  require=$[$require]
66
  weight=$[$weight]
67
  !if NaN isin $require
68
   require=0
69
  !endif
70
  !if NaN isin $weight
71
   weight=0
72
  !endif
73
  !bound require between 0,1000 default 0
74
  !bound weight between 0,10 default 0
75
 !endif
76
 !for i=1 to $exocnt
77
  e=!record $i of wimshome/log/classes/$wims_class/sheets/.sheet$picksheet
78
  !distribute lines $e into wdi,win
79
  !if $dir=$wdi and $iniparm=$win
80
   test=$picksheet
81
   error=already_exist
82
   !exit
83
  !endif
84
 !next i
85
 !appendfile wimshome/log/classes/$wims_class/sheets/.sheet$picksheet :$dir\
86
$iniparm\
87
$require\
88
$weight\
89
$ititle\
90
$idesc
91
 
92
 exocnt=!recordcnt wimshome/log/classes/$wims_class/sheets/.sheet$picksheet
93
 wims_module_log=class $class: add No$exocnt to worksheet $picksheet
94
!endif
95