User Tools

Site Tools


stats:proc:signupgroup

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:signupgroup [2011/09/29 16:24]
Patrick Michel
stats:proc:signupgroup [2013/07/10 12:34] (current)
Line 2: Line 2:
  
 <code xcend> <code xcend>
-signUpGroup(ident id, ident studentId, ident groupId) { +signUpGroup(ident uid, ident id, ident studentId, ident groupId) { 
-  assume exists //exercises/​exercise[id]/​students/​student[studentId];​ # implies the existence of the exercise +  assume exists /exercise[id] && ​/​exercise[id]/​open &&  
-  assume exists ​//exercises/​exercise[id]/groups/​group[groupId];​ # also implies it, but once is really enough+         ​exists /​account[uid]/​student && /​account[uid]/​student/​id = studentId 
 +      || exists /​account[uid]/​assistant[id];​ 
 + 
 +  assume exists /​exercise[id]/​student[studentId];​ # implies the existence of the exercise 
 +  assume exists /​exercise[id]/​group[groupId];​ # also implies it, but once is really enough
   ​   ​
-  assume not exists ​//exercises/​exercise[id]/students/​student[studentId]/​group;​ +  assume not exists /​exercise[id]/​student[studentId]/​group;​ 
-  assume ​//exercises/​exercise[id]/groups/​group[groupId]/​curSize < //exercises/​exercise[id]/groups/​group[groupId]/​maxSize;​+  assume /​exercise[id]/​group[groupId]/​curSize < /​exercise[id]/​group[groupId]/​maxSize;​
   ​   ​
-  insert ​//exercises/​exercise[id]/students/​student[studentId]/​group groupId; +  insert /​exercise[id]/​student[studentId]/​group groupId; 
-  update ​//exercises/​exercise[id]/groups/​group[groupId]/​curSize (//exercises/​exercise[id]/groups/​group[groupId]/​curSize + 1); +  update /​exercise[id]/​group[groupId]/​curSize (/​exercise[id]/​group[groupId]/​curSize + 1); 
-# roles: assistant[id],​ student[studentId]+}
 </​code>​ </​code>​
stats/proc/signupgroup.1317306262.txt.gz · Last modified: 2011/09/29 16:24 by Patrick Michel