This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
stats:proc:revoketutorrights [2011/09/29 00:02] Patrick Michel |
stats:proc:revoketutorrights [2013/07/10 12:33] (current) |
||
---|---|---|---|
Line 2: | Line 2: | ||
<code xcend> | <code xcend> | ||
- | revokeTutorRights(ident username, ident exerciseId, ident groupId) { | + | revokeTutorRights(ident uid, ident username, ident exerciseId, ident groupId) { |
- | assume exists //accounts/account[username]/tutor[exerciseId]/group[groupId]; # implies the account exists, which is implicitly true anyway | + | assume exists /account[uid]/assistant[exerciseId]; |
- | assume exists //exercises/exercise[exerciseId]/groups/group[groupId]/tutor[account]; # implied by integrity and the assumption before | + | |
+ | assume exists /account[username]/tutor[exerciseId]/group[groupId]; | ||
+ | assume exists /exercise[exerciseId]/group[groupId]/tutor[username]; | ||
+ | # implied by integrity and the assumption before | ||
- | remove //accounts/account[username]/tutor[exerciseId]/group[groupId]; | + | remove /account[username]/tutor[exerciseId]/group[groupId]; |
- | if size(//accounts/account[username]/tutor[exerciseId]/group) = 0 then # should this be an additional procedure? | + | if size(/account[username]/tutor[exerciseId]/group) = 0 then # should this be an additional procedure? |
- | remove //accounts/account[username]/tutor[exerciseId]; | + | remove /account[username]/tutor[exerciseId]; |
fi | fi | ||
- | remove //exercises/exercise[exerciseId]/groups/group[groupId]/tutor[account]; | + | remove /exercise[exerciseId]/group[groupId]/tutor[username]; |
- | } # roles: assistant[id] | + | } |
</code> | </code> |