Subversion Repositories wimsdev

Rev

Rev 23 | Rev 2368 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

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