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 20:17]
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 //exercises/​exercise[id]/​student[studentId]; ​# implies the exercise exists+  assume exists /exercise[id] && ​/​exercise[id]/open &&  
 +         ​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.1318702651.txt.gz · Last modified: 2011/10/15 20:17 by Patrick Michel