X-Git-Url: https://scm.cri.ensmp.fr/git/Plinn.git/blobdiff_plain/40acf3027cd594e48486729285eb7a34379078f9..b3b52f5b0ad754fd9036f816d0ab8e98a5373f40:/skins/custom_control/folder_rename_control.py diff --git a/skins/custom_control/folder_rename_control.py b/skins/custom_control/folder_rename_control.py new file mode 100755 index 0000000..4fc1163 --- /dev/null +++ b/skins/custom_control/folder_rename_control.py @@ -0,0 +1,26 @@ +##parameters=ids, new_ids, **kw +##title=Rename objects in a folder +## +from Products.CMFDefault.exceptions import CopyError +from Products.Plinn.utils import translate +_ = lambda msg : translate(msg, context) + +if not ids == new_ids: + try: + skiped = context.manage_renameObjects(ids, new_ids) + if not skiped : + if len(ids) == 1: + return context.setStatus(True, _(u'Item renamed.')) + else: + return context.setStatus(True, _(u'Items renamed.')) + else : + if len(skiped) == 1 : + return context.setStatus(True, _( u'This item has not been renamed: "%s"') % ids[0] ) + else : + return context.setStatus(True + , _( u'These items have not been renamed: %s') % \ + ', '.join(['"%s"' % id for id in ids]) ) + except CopyError: + return context.setStatus(False, _(u'Rename failed.')) +else: + return context.setStatus(False, _(u'Nothing to change.'))