# -*- 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)
