User Tools

Site Tools


stats:proc:unregisterstudent

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
stats:proc:unregisterstudent [2011/10/15 19:47]
Patrick Michel
stats:proc:unregisterstudent [2013/07/10 12:34] (current)
Line 3: Line 3:
 <code xcend> <code xcend>
 unregisterStudent(ident uid, ident id, ident studentId) { unregisterStudent(ident uid, ident id, ident studentId) {
-  assume exists //accounts/​account/​student[studentId]; +  assume exists /exercise[id] && ​/exercise[id]/​open &&  
-  ​assume ​exists //​exercises/​exercise[id]/student[studentId]; # implies the exercise exists+         ​exists ​/account[uid]/​student ​&& /account[uid]/student/id = studentId 
 +      ​|| ​exists /account[uid]/assistant[id];
  
-  assume ​//exercises/​exercise[id]/open && exists //​accounts/​account[uid]/​student ​&& //​accounts/​account[uid]/​student/​id = studentId ​|| +  assume ​exists ​/​exercise[id]/​student[studentId];​ # implies ​the exercise exists
-         ​exists //​accounts/​account[uid]/​assistant[id]; # the right management can't come first here+
  
-  assume size(//exercises/​exercise[id]/students/​student[studentId]/​result) = 0; # don't allow unregistering if results are there+  assume size(/​exercise[id]/​student[studentId]/​result) = 0; # don't allow unregistering if results are there 
 +  assume not exists /​exercise[id]/​student[studentId]/​group;​ # don't allow if signed in a group
   ​   ​
-  remove ​//exercises/​exercise[id]/students/​student[studentId];​+  remove /​exercise[id]/​student[studentId];​
 } }
 </​code>​ </​code>​
stats/proc/unregisterstudent.1318700871.txt.gz · Last modified: 2011/10/15 19:47 by Patrick Michel