Subversion Repositories wimsdev

Rev

Rev 4365 | Rev 4667 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

!read scripts/check.class

!if $error!=$empty
 !exit
!endif

quser=!translate internal ./;,?* to $         $ in $quser
!if $ $ isin $quser
 quser=
!endif
!if $quser=$empty
 :baduser
 error=bad user
 !exit
!endif

!if $quser=supervisor
 deffile=supervisor
!else
 deffile=.users/$quser
!endif
class_superclass=!defof class_superclass in $classdeffile

!if $class_superclass=
 userdeffile=wimshome/log/classes/$qclass/$deffile
 test=!defof user_exists in $userdeffile
 !if $test!=yes
   !if $job!=getclassesuser
    !goto baduser
   !endif
 !else
   !if $job=getclassesuser
    listclassesuser=!append item $qclass to $listclassesuser
   !endif
  !endif
 !exit
!else
 # on regarde si user existe dans la superclasse
 userdeffile=wimshome/log/classes/$class_superclass/$deffile
 test=!defof user_exists in $userdeffile
 !if $test!=yes
   error=user not present in superclass.
   !exit
 !endif
 test=!defof user_participate in $userdeffile
 ### contient les classes auxquelles est inscrit l'étudiant et les cours non obligatoires
 test=!items2words $test
 !if $qclass iswordof $test
    !exit
 !endif
 
 class_typename=!defof class_typename in $classdeffile
 
 !if $class_typename iswordof class and $qclass notwordof $test
        error=Sorry, this user does not participates to this subclass.
        !exit
 !endif
 
 !if $class_typename iswordof program and (mandatory notwordof $class_progstyles or $class_progstyles=$empty)
 ###si le programme n'est pas obligatoire, user_participate contient ce qu'il faut
     qlist=!record 0 of wimshome/log/classes/$qclass/courses
     qcourses=!linecnt $qlist
     !for q_c=1 to $qcourses
      testc=!line $q_c of $qlist
      test1=!replace internal / by , in $(testc[1])
      ###test1 doit avoir trois items dans le cas d'un établissement
      !if $class_superclass/$(test1[1])/$(test1[2]) iswordof $test
        qclass=$class_superclass/$(testc[1])
        #### il devrait n'y en avoir qu'un correspondant au programme ?
        !if $job=getclassesuser
           listclassesuser=!append item $qclass to $listclassesuser
        !endif
        !exit
      !endif
     !next
 !endif

Generated by GNU Enscript 1.6.5.90.