User Tools

Site Tools


stats:proc:unregisterstudent

Differences

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

Link to this comparison view

Next revision
Previous revision
Next revision Both sides next revision
stats:proc:unregisterstudent [2011/09/28 20:05]
Patrick Michel created
stats:proc:unregisterstudent [2011/11/07 16:02]
Patrick Michel
Line 1: Line 1:
-====== ​Remove ​Student ======+====== ​Unregister ​Student ======
  
 <code xcend> <code xcend>
-removeStudent(ident id, ident studentId) { +unregisterStudent(ident uid, ident id, ident studentId) { 
-  assume exists //​exercises/​exercise[id]/​students/​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 exists //​exercises/​exercise[id]/​student[studentId];​ # implies the exercise exists 
 + 
 +  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)