Merge des modifications du svn de Plinn r1524:1547.
[Plinn.git] / 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 (executable)
index 0000000..4fc1163
--- /dev/null
@@ -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.'))