Subversion Repositories wimsdev

Rev

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

!! job to archive freework of type>=2 
!! the job produce a tgz file with student data to be download / action is not reversible
!!

!! only access for authentified supervisor
!if $wims_ismanager<1
  !if $class_secure=$empty
    test=!record 0 of wimshome/sessions/$wims_session/auth.supervisor
    !if $test!=yes
      !if $test=no
        error=not_secure
      !else
        error=notauthsupervisor
      !endif
      job=configfw
      !reset back
      !changeto $job.proc
    !endif
  !else
    test=!checkhost $class_secure
    !if $test!=1
      error=not_secure
      job=configfw
      !reset back
      !changeto $job.proc
    !endif
  !endif
!endif

!if $job2=confirm_archive
  freework=$sfreework
!endif

test=!fileexists wimshome/log/classes/$wims_class/freeworksdata/$freework/.archivated
!if ($activetest!=2 and $activetest!=3) or $type=1 or $test=yes
    job=configfw
    !reset back
    !changeto $job.proc
!endif

!if $job2=confirm_archive
  !bound freework between 1 and $nbfreework default 0
  !if $freework!=0
    !sh cd $wims_home/log/classes/$wims_class/freeworksdata/$freework;\
        rm -r co work;\
        mkdir co work;
    !writefile wimshome/log/classes/$wims_class/freeworksdata/$freework/.archivated $wims_now
    success=goodarchive
  !endif
  !if $back=1
    !restart module=home
  !else
    job=configfw
    !reset back
    !changeto $job.proc
  !endif
!else
  name_title=$name_archivefreework $freework
  max_arch_size=!sh cd $wims_home/log/classes/$wims_class/freeworksdata;\
                    tar -czf $(freework).tgz $freework;\
                    mv $freework.tgz $wims_home/sessions/$wims_session/getfile/$(freework).tgz;\
                    ulimit -f
  !! ---- check size of archive file
  !if $max_arch_size!=unlimited
    max_arch_size=$[ceil($max_arch_size/2)]
  !endif
  !if $wims_exec_error!=$empty
    !if File too large isin $wims_exec_error or Filesize limit exceeded isin $wims_exec_error
      !sh rm -f $wims_home/sessions/$wims_session/getfile/$(freework).tgz
      archive_error=file_too_large
    !endif
  !endif
  sfreework=$freework
!endif