Changing ID for editors?

Hello,
in my plone site I would like to have editors to be able to change the id of an object. Please note, that this specific user does not have the Contributor role (hence no add permissions). However when the user is trying to submit the new ID at the editing form, an Unauthorized exception raises. Looking at the stacktrace yields the following output:

Traceback (innermost last):
Module ZPublisher.Publish, line 138, in publish
Module ZPublisher.mapply, line 77, in mapply
Module Products.PDBDebugMode.runcall, line 70, in pdb_runcall
Module ZPublisher.Publish, line 48, in call_object
Module Products.CMFFormController.FSControllerPageTemplate, line 91, in call
Module Products.CMFFormController.BaseControllerPageTemplate, line 28, in _call
Module Products.CMFFormController.ControllerBase, line 232, in getNext
Module Products.CMFFormController.Actions.TraverseTo, line 38, in call
Module ZPublisher.mapply, line 77, in mapply
Module ZPublisher.Publish, line 48, in call_object
Module Products.CMFFormController.FSControllerPythonScript, line 107, in call
Module Products.CMFFormController.ControllerBase, line 232, in getNext
Module Products.CMFFormController.Actions.TraverseTo, line 38, in call
Module ZPublisher.mapply, line 77, in mapply
Module ZPublisher.Publish, line 48, in call_object
Module Products.CMFFormController.FSControllerPythonScript, line 105, in call
Module Products.CMFFormController.Script, line 145, in call
Module Products.CMFCore.FSPythonScript, line 127, in call
Module Shared.DC.Scripts.Bindings, line 322, in call
Module Shared.DC.Scripts.Bindings, line 359, in _bindAndExec
Module Products.PythonScripts.PythonScript, line 344, in _exec
Module script, line 1, in content_edit

  • <FSControllerPythonScript at /Vanilla/seite/content_edit>
  • Line 1
    Module Products.CMFCore.FSPythonScript, line 127, in call
    Module Shared.DC.Scripts.Bindings, line 322, in call
    Module Shared.DC.Scripts.Bindings, line 359, in _bindAndExec
    Module Products.PythonScripts.PythonScript, line 344, in _exec
    Module script, line 12, in content_edit_impl
  • <FSPythonScript at /Vanilla/seite/content_edit_impl>
  • Line 12
    Module Products.Archetypes.BaseObject, line 655, in processForm
    Module Products.Archetypes.BaseObject, line 645, in _processForm
  • traceback_info: (<ATDocument at /Vanilla/seite>, <Field id(string:rw)>, <bound method ATDocument.setId of <ATDocument at /Vanilla/seite>>)
    Module Products.Archetypes.utils, line 132, in mapply
    Module Products.Archetypes.BaseObject, line 215, in setId
    Module Products.CMFPlone.PloneFolder, line 84, in manage_renameObject
    Module OFS.CopySupport, line 357, in manage_renameObject
    Module Products.CMFCore.PortalFolder, line 400, in _verifyObjectPaste
    Unauthorized: You do not possess the 'ATContentTypes: Add Document' permission in the context of the container into which you are pasting, thus you are not able to perform this operation.
    /home/vagrant/Plone/buildout-cache/eggs/Products.CMFCore-2.2.9-py2.7.egg/Products/CMFCore/PortalFolder.py(400)_verifyObjectPaste()
    399 'into which you are pasting, thus you are not '
    --> 400 'able to perform this operation.' % mt_permission)
    401 else:

What happens here is that _verifyObjectPaste looks up the add permission for that content type in FTI, which are not present for the editor-only user. In my understand it should be possible to edit/rename an object without having add permissions.

Using Vanilla Plone 4.3.3 with Archetypes (and made the needed settings in site setup to allow editing short names in edit form for a user).

best regards