User Tools

Site Tools


stats:proc:granttutorrights

This is an old revision of the document!


Grant Tutor Rights

grantTutorRights(ident uid, ident username, ident exerciseId, ident groupId) {
  assume exists //accounts/account[uid]/assistant[id];
 
  assume exists //accounts/account[username]; # implicitly true in OO implementations
  assume exists //exercises/exercise[exerciseId]/groups/group[groupId];
 
  assume not exists //accounts/account[username]/tutor[exerciseId]/group[groupId]);
  assume not exists //exercises/exercise[exerciseId]/groups/group[groupId]/tutor[account];
    # implied by integrity and the assumption before
 
  if not exists //accounts/account[username]/tutor[exerciseId] then # we could split the tutor rights here
    insert //accounts/account[username] <tutor exercise=[exerciseId] />;
  fi
  insert //accounts/account[username]/tutor[exerciseId] <group id=[groupId] />;
  insert //exercises/exercise[exerciseId]/groups/group[groupId] <tutor account=[account] />;
}
stats/proc/granttutorrights.1320241079.txt.gz · Last modified: 2011/11/02 14:37 by Patrick Michel