Subversion Repositories wimsdev

Rev

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

Rev Author Line No. Line
16087 guerimand 1
!! job to archive freework of type>=2 
14854 guerimand 2
!! the job produce a tgz file with student data to be download / action is not reversible
3
!!
4
 
5
!! only access for authentified supervisor
6
!if $wims_ismanager<1
7
  !if $class_secure=$empty
8
    test=!record 0 of wimshome/sessions/$wims_session/auth.supervisor
9
    !if $test!=yes
10
      !if $test=no
11
        error=not_secure
12
      !else
13
        error=notauthsupervisor
14
      !endif
15
      job=configfw
16
      !reset back
17
      !changeto $job.proc
18
    !endif
19
  !else
20
    test=!checkhost $class_secure
21
    !if $test!=1
22
      error=not_secure
23
      job=configfw
24
      !reset back
25
      !changeto $job.proc
26
    !endif
27
  !endif
28
!endif
29
 
30
!if $job2=confirm_archive
31
  freework=$sfreework
32
!endif
33
 
34
test=!fileexists wimshome/log/classes/$wims_class/freeworksdata/$freework/.archivated
35
!if ($activetest!=2 and $activetest!=3) or $type=1 or $test=yes
36
    job=configfw
37
    !reset back
38
    !changeto $job.proc
39
!endif
40
 
41
!if $job2=confirm_archive
42
  !bound freework between 1 and $nbfreework default 0
43
  !if $freework!=0
44
    !sh cd $wims_home/log/classes/$wims_class/freeworksdata/$freework;\
45
        rm -r co work;\
46
        mkdir co work;
47
    !writefile wimshome/log/classes/$wims_class/freeworksdata/$freework/.archivated $wims_now
48
    success=goodarchive
49
  !endif
50
  !if $back=1
51
    !restart module=home
52
  !else
53
    job=configfw
54
    !reset back
55
    !changeto $job.proc
14902 guerimand 56
  !endif
14854 guerimand 57
!else
58
  name_title=$name_archivefreework $freework
15015 guerimand 59
  max_arch_size=!sh cd $wims_home/log/classes/$wims_class/freeworksdata;\
60
                    tar -czf $(freework).tgz $freework;\
61
                    mv $freework.tgz $wims_home/sessions/$wims_session/getfile/$(freework).tgz;\
62
                    ulimit -f
63
  !! ---- check size of archive file
64
  !if $max_arch_size!=unlimited
65
    max_arch_size=$[ceil($max_arch_size/2)]
66
  !endif
67
  !if $wims_exec_error!=$empty
68
    !if File too large isin $wims_exec_error or Filesize limit exceeded isin $wims_exec_error
69
      !sh rm -f $wims_home/sessions/$wims_session/getfile/$(freework).tgz
70
      archive_error=file_too_large
71
    !endif
72
  !endif
14854 guerimand 73
  sfreework=$freework
74
!endif