diff --git a/src/pfwbged/policy/browser/guards.py b/src/pfwbged/policy/browser/guards.py
index d3f7736..ceac13b 100644
--- a/src/pfwbged/policy/browser/guards.py
+++ b/src/pfwbged/policy/browser/guards.py
@@ -1,3 +1,5 @@
+# -*- coding: utf8 -*-
+
from zope.component import getUtility
from zope.intid.interfaces import IIntIds
from zc.relation.interfaces import ICatalog
@@ -123,3 +125,24 @@ class CanBeTrashedDmsAppendixFile(grok.View):
def render(self):
return api.content.get_state(self.context) == 'published'
+
+
+class CanReturnToRegistering(grok.View):
+ """"""
+ grok.name('can_return_to_registering')
+ grok.context(IDmsIncomingMail)
+ grok.require('zope2.View')
+
+ def render(self):
+ # accept any of these roles
+ allowed_roles = {'Reviewer', 'Manager', 'Greffier'}
+ user_roles = api.user.get_roles(obj=self.context)
+ if allowed_roles.intersection(user_roles):
+ return True
+
+ # or this user group
+ for group in api.group.get_groups():
+ if group.id == 'Gestion-secretariat-general':
+ return True
+
+ return False
diff --git a/src/pfwbged/policy/profiles/default/workflows/incomingapfmail_workflow/definition.xml b/src/pfwbged/policy/profiles/default/workflows/incomingapfmail_workflow/definition.xml
index 6042a50..548b7bd 100644
--- a/src/pfwbged/policy/profiles/default/workflows/incomingapfmail_workflow/definition.xml
+++ b/src/pfwbged/policy/profiles/default/workflows/incomingapfmail_workflow/definition.xml
@@ -204,10 +204,7 @@
Back to registering
- Reviewer
- Manager
- Greffier
- SecretariatGeneralApf
+ here/@@can_return_to_registering
diff --git a/src/pfwbged/policy/profiles/default/workflows/incomingmail_workflow/definition.xml b/src/pfwbged/policy/profiles/default/workflows/incomingmail_workflow/definition.xml
index a94939b..f4b166b 100644
--- a/src/pfwbged/policy/profiles/default/workflows/incomingmail_workflow/definition.xml
+++ b/src/pfwbged/policy/profiles/default/workflows/incomingmail_workflow/definition.xml
@@ -205,10 +205,7 @@
Back to registering
- Reviewer
- Manager
- Greffier
- SecretariatGeneralAPF
+ here/@@can_return_to_registering