Peut-on modifier le profil d'un utilisateur dans le hook preAbandon?

Peut-on modifier le profil d'un utilisateur dans le hook preAbandon?
0

#1

Un utilisateur lambda a dans son profil le droit de créer un objet A mais pas de le supprimer.

Si jamais il abandonne un processus métier après avoir crée cet objet, je voudrais que le hook preAbandon puisse le supprimer.

Pourriez-vous me dire comment je peux procéder svp ? Comment lui donner ponctuellement (juste durant la phase preAbandon) le droit de supprimer l’objet A ?

J’ai essayé le addResponsibility pour mettre l’utilisateur temporairement dans un groupe qui a le droit de supprimer, mais cela ne marche pas. Le group est bien ajouté au user, mais tant qu’il ne s’est pas reconnecté, il ne le récupère pas.

Merci d’avance pour votre aide.

Abed.


(François Genestin) #2

En général on fait comme ça :

// changeAccess with 4 booleans = C,R,U,D
var oldRights = this.getGrant().changeAccess("MyObject", true, true, true, true);
try {
  var o = this.getGrant().getTmpObject("MyObject");
  o.resetFilters();
  // Needs read + delete rights to do this:
  if (o.select(someId)) o.del();
}
finally {
  // Restore previous rights
  this.getGrant().changeAccess("MyObject", oldRights);
}

#3

Merci @francois, ça marche nickel !