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 [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 //​accounts/​account/​student[studentId]; +  assume ​exists //​exercises/​exercise[id] && //​exercises/​exercise[id]/​open &&  
-  ​assume ​exists //exercises/exercise[id]/student[studentId]; # implies the exercise exists+         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)