raptus.rolefield provides two archetypes fields which assign local roles to one or multiple users.
RoleField(
name='editor',
required=1,
acquire=False,
role='Editor',
write_permission=DelegateEditorRole,
vocabulary=SomeVocabularyProvidingUserIds,
widget=SelectionWidget(
label=_('label_editor', default=u'Editor'),
),
),
MultiRoleField(
name='reviewers',
required=1,
acquire=False,
role='Reviewer',
write_permission=DelegateReviewerRole,
vocabulary=SomeVocabularyProvidingUserIds,
widget=MultiSelectionWidget(
label=_('label_reviewers', default=u'Rreviewers'),
),
),