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 [2012/05/29 16:49]
Patrick Michel
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 //​exercises/​exercise[id] && //​exercises/​exercise[id]/​open &&  
 +         ​exists //​accounts/​account[uid]/​student ​&& //​accounts/​account[uid]/​student/​id = studentId 
 +      || exists //​accounts/​account[uid]/​assistant[id];
  
-  assume //​exercises/​exercise[id]/​open && exists //​accounts/​account[uid]/​student ​&& //​accounts/​account[uid]/​student/​id = studentId ​|| +  assume ​exists ​//​exercises/​exercise[id]/​students/​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(//​exercises/​exercise[id]/​students/​student[studentId]/​result) = 0; # don't allow unregistering if results are there
 +  assume not exists //​exercises/​exercise[id]/​students/​student[studentId]/​group;​ # don't allow if signed in a group
   ​   ​
   remove //​exercises/​exercise[id]/​students/​student[studentId];​   remove //​exercises/​exercise[id]/​students/​student[studentId];​
 } }
 </​code>​ </​code>​
stats/proc/unregisterstudent.txt · Last modified: 2013/07/10 12:34 (external edit)