Subversion Repositories wimsdev

Rev

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

!! change participant registration in subclasses of groupement
!! this job is actually limited to groupement type when user=supervisor (at the groupement level)

!readproc adm/vfilter/listvarfilter.proc
usercnt=!recordcnt wimshome/log/classes/$wims_class/.userlist

!! generate list of subclasses
nbsubclasses=!recordcnt wimshome/log/classes/$wims_class/.subclasses
!reset ltsubclasses,ltnamesubclasses,ltsupsubclasses
!if $nbsubclasses>0
  !for k=1 to $nbsubclasses
    tmp=!record $k of wimshome/log/classes/$wims_class/.subclasses
    !distribute item $tmp into num,b,b,title,b,b,b,b,sup,b
    ltsubclasses=!append item $num to $ltsubclasses
    ltnamesubclasses=!append item $title to $ltnamesubclasses
    ltsupsubclasses=!append item $sup to $ltsupsubclasses
  !next k
!endif

!if $action=$name_reguser or $action=$name_unreguser
  listlogin=$empty
  !for k=1 to $usercnt
    tmp=!record $k of wimshome/log/classes/$wims_class/.userlist
    !if $varfilter_!=$empty
      !read adm/vfilter/testfilter $(tmp[3])\
$varfilter_
    !endif
    !if $(var_filter_test)=1 or $varfilter_=$empty
      listlogin=!append item $(tmp[3]) to $listlogin
    !endif
  !next k
  !if __ALL__ isin $listuser
    listuser=$listlogin
  !else
    listuser=!listintersect $listlogin and $listuser
  !endif
  listsclassch=!listintersect $listsclassch and $ltsubclasses
  !if $listsclassch!=$empty and $listuser!=$empty
    !if $action=$name_reguser
      !for login in $listuser
        tmp=!defof user_participate in wimshome/log/classes/$wims_class/.users/$login
        tmp=!listunion $tmp and $listsclassch
        !setdef !set user_participate=$tmp in wimshome/log/classes/$wims_class/.users/$login
      !next login
    !else
      !for login in $listuser
        tmp=!defof user_participate in wimshome/log/classes/$wims_class/.users/$login
        tmp=!listcomplement $listsclassch in $tmp
        !setdef !set user_participate=$tmp in wimshome/log/classes/$wims_class/.users/$login
      !next login
    !endif
    !read adm/class/mkuserlist
    !for cl in $listsclassch
     !read adm/class/mkuserlist $cl
    !next cl
    !reset action,listuser,listuserchoice,listsclassch
  !endif
!endif