eggification
[PlinnDocument.git] / Products / PlinnDocument / HistoryAdapters.py
diff --git a/Products/PlinnDocument/HistoryAdapters.py b/Products/PlinnDocument/HistoryAdapters.py
new file mode 100755 (executable)
index 0000000..add0e8b
--- /dev/null
@@ -0,0 +1,41 @@
+# -*- coding: utf-8 -*-
+#######################################################################################
+#   Plinn - http://plinn.org                                                          #
+#   Copyright © 2005-2009  Benoît PIN <benoit.pin@ensmp.fr>                           #
+#                                                                                     #
+#   This program is free software; you can redistribute it and/or                     #
+#   modify it under the terms of the GNU General Public License                       #
+#   as published by the Free Software Foundation; either version 2                    #
+#   of the License, or (at your option) any later version.                            #
+#                                                                                     #
+#   This program is distributed in the hope that it will be useful,                   #
+#   but WITHOUT ANY WARRANTY; without even the implied warranty of                    #
+#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                     #
+#   GNU General Public License for more details.                                      #
+#                                                                                     #
+#   You should have received a copy of the GNU General Public License                 #
+#   along with this program; if not, write to the Free Software                       #
+#   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.   #
+#######################################################################################
+"""
+Adapter to plug PlinnDocument to historycal interface.
+
+$Id: HistoryAdapters.py 647 2009-06-30 12:55:44Z pin $
+$URL: http://svn.cri.ensmp.fr/svn/PlinnDocument/branches/CMF-2.1/HistoryAdapters.py $
+"""
+
+from Globals import InitializeClass
+from AccessControl import ClassSecurityInfo
+from Products.CMFCore.permissions import ModifyPortalContent
+from Products.Plinn.HistoryAdapters import DocumentHistory
+
+class PlinnDocumentHistory(DocumentHistory) :
+
+       security = ClassSecurityInfo()
+       
+       security.declareProtected(ModifyPortalContent, 'restore')
+       def restore(self, key):
+               rev = self.getHistoricalRevisionByKey(key)[0]
+               self._content.edit(rev.Format(), rev.XMLBody())
+
+InitializeClass(PlinnDocumentHistory)