Subversion Repositories wimsdev

Rev

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

Rev Author Line No. Line
9960 guerimand 1
$techvar=$[$techvar*1]
2
nblocalvar=!itemcnt $tv_listlocal
3
!if ($techvar<1 or $techvar>$nblocalvar)
12488 bpr 4
  error=badtechvarnumber
5
  job=listvar
6
  !changeto $job.proc
7
  !exit
9960 guerimand 8
!endif
9
 
10
!if $stechvar=$empty
12488 bpr 11
  stechvar=$techvar
12
  !reset tc_abandon,tc_set
13
  don=!record $stechvar of wimshome/log/classes/$wims_class/.techvar
14
  !distribute line $don into ol_name,ol_value
15
  tc_name=$ol_name
16
  tc_value=$ol_value
9960 guerimand 17
!endif
18
 
19
!if $tc_abandon!=$empty
12488 bpr 20
  !reset tc_abandon,tc_value,tc_name,tc_set,stechvar
21
  job=listvar
22
  !changeto $job.proc
23
  !exit
9960 guerimand 24
!endif
25
 
26
!if $tc_set!=$empty
12488 bpr 27
  !! check name validity
28
  tc_name=!text select 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ in $tc_name
29
  tc_name=!nospace $tc_name
30
  tc_name=!lower $tc_name
31
  n=!charcnt $tc_name
32
  !if $n>$MAXcharname or $n<1
14335 bpr 33
    error=badnamelen
34
    !reset tc_set
35
    !exit
12488 bpr 36
  !endif
9960 guerimand 37
 
12488 bpr 38
  !! check list of name already in use
39
  !if $tc_name isitemof $tv_listallname and $tc_name!=$ol_name
14335 bpr 40
    error=namealreadyuse
41
    !reset tc_set
42
    !exit
12488 bpr 43
  !endif
9960 guerimand 44
 
12488 bpr 45
  !! check list of value
46
  tc_value=!listuniq $tc_value
15772 guerimand 47
  tc_value=!listcomplement _EMPTY_,EMPTY,EMPTY_,_EMPTY in $tc_value
12488 bpr 48
  n=!itemcnt $tc_value
49
  !if $n<1 or $n>$MAXnbvalue
14335 bpr 50
    error=badvaluenb
51
    !reset tc_set
52
    !exit
12488 bpr 53
  !endif
54
  !! old list must be include (or delete value not in use in the class TODO).
55
  !! il y a une amélioration à faire pour poster un message et effacer les valeurs qui ne sont plus disponibles.
56
  li=!listcomplement $tc_value in $ol_value
57
  !if $li!=$empty
14335 bpr 58
    error=valuedisappear
15772 guerimand 59
    tc_value=$ol_value
14335 bpr 60
    !reset tc_set
15772 guerimand 61
    !exit
12488 bpr 62
  !endif
15772 guerimand 63
  !! --------- save new data
12488 bpr 64
  donnees=$empty
65
  !for k=1 to $nblocalvar
66
    !if $k=$stechvar
14335 bpr 67
      donnees=!append line :$tc_name\
9960 guerimand 68
$tc_value to $donnees
14335 bpr 69
    !else
70
      tmp=!record $k of wimshome/log/classes/$wims_class/.techvar
71
      donnees=!append line :$tmp to $donnees
72
    !endif
12488 bpr 73
  !next k
74
  !filewrite wimshome/log/classes/$wims_class/.techvar $donnees
75
  !if $ol_name!=$tc_name
76
    nb=!recordcnt wimshome/log/classes/$tv_Sclass/.indextechvar
14335 bpr 77
    donnees=$empty
78
    !for k=1 to $nb
79
      tmp=!record $k of wimshome/log/classes/$tv_Sclass/.indextechvar
80
      !if $(tmp[2])=$wims_class and $(tmp[3])=$stechvar
81
        donnees=!append line :$tc_name,$wims_class,$stechvar to $donnees
82
      !else
83
        donnees=!append line :$tmp to $donnees
84
      !endif
9960 guerimand 85
    !next k
14335 bpr 86
    !filewrite wimshome/log/classes/$tv_Sclass/.indextechvar $donnees
12488 bpr 87
  !endif
88
  !restart module=adm/class/techvar
9960 guerimand 89
!endif