Subversion Repositories wimsdev

Rev

Rev 12479 | Blame | Compare with Previous | Last modification | View Log | RSS feed

!! process file to show result of vote

!if $vote_status=$empty or ($wims_user!=supervisor and $vote_status notwordof 1 2 )
  error=bad_vote
  job=home
  !changeto home.proc
!endif

!if anonymous!=$vote_option
  listjob2=global,list,listbystudent
  !if supervisor=$wims_user
    listjob2=$listjob2,studentbyitem
  !endif
!else
  job2=global
!endif

!bound job2 within $listjob2 default global

wims_multiexec=pari maxima yacas
insmath_rawmath=yes
wims_backslash_insmath=yes
parmcnt=0
!reset uvname, uvval, uvcnt
!readdef $userfile
!readdef $votedir/$vote.votes
!default vcnt=0

!if $wims_user!=supervisor and $(user_vote_$Vote)=$empty
  error=no_vote
  job=read
  !changeto read.proc
!endif

!if $wims_user!=supervisor and $vote_show=0
  job=home
  !changeto home.proc
!endif
!if $vote>0
  !if $choices1=$empty
    !readproc primitives/getlimit.proc parms
  !endif
  !if $choices1!=$empty
    noprint=yes
  !endif
  vote_description=$empty
  !read $votedir/$vote.def
!endif
max_rep=0
!for k=1 to $parmcnt
  t=!itemcnt $(vote_description[$k;])
  max_rep=$[max($max_rep,$t-2)]
!next k

!if $vote_option=anonymous
  !exit
!endif
!if $vote_option=trace
  listkey=!values v for v=1 to $vcnt
  namelist=!makelist <th>$name_votants v</th> for v=1 to $vcnt
!else
  listkey=$empty
  namelist=$empty
!endif

!for k=1 to $parmcnt
  !if textarea!=$(vote_description[$k;2])
    donvote_$k=!makelist -- for v=1 to $vcnt
    nbch=!itemcnt $(vote_description[$k;])
    !for l=3 to $nbch
      !for m in $(votes_$(k)_$[$(l)-2])
        !if $m notitemof $listkey
          listkey=!append item $m to $listkey
          !if $vote_option=nominative
            tmp=!replace internal / by , in $m
            tmp=!defof user_firstname\
user_lastname in wimshome/log/classes/$wims_superclass/.users/$(tmp[-1])
            tmp=!lines2words $tmp
            namelist=!append item <th>$tmp</th> to $namelist
          !endif
        !endif
        mkey=!positionof item $m in $listkey
        newval=!item $mkey of $(donvote_$k)
        !if $newval!=--
          newval=$newval ; $(vote_description[$k;$l])
        !else
          newval=$(vote_description[$k;$l])
        !endif
        donvote_$k=!replace item number $mkey by $newval in $(donvote_$k)
      !next m
    !next l
  !endif
!next k