From 6ec41677fe11ec1497ad74872f431cd7a1b2ef18 Mon Sep 17 00:00:00 2001
From: Sebastien Robin <seb@nexedi.com>
Date: Tue, 24 Aug 2010 09:09:36 +0000
Subject: [PATCH] * associate PythonScript property sheet to PythonScript class
 * fix AttributeError (while searching _v_ft) when runing scripts * fix title
 in the form allowing to add erp5 python script

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37969 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Document/PythonScript.py                      | 7 ++++++-
 product/ERP5/PropertySheet/PythonScript.py                 | 2 ++
 ...tThroughZMI.dtml => addPythonScriptThroughZMIForm.dtml} | 5 +++--
 3 files changed, 11 insertions(+), 3 deletions(-)
 rename product/ERP5/dtml/{addPythonScriptThroughZMI.dtml => addPythonScriptThroughZMIForm.dtml} (88%)

diff --git a/product/ERP5/Document/PythonScript.py b/product/ERP5/Document/PythonScript.py
index 93b3a4e4fc..60fa5dd49f 100644
--- a/product/ERP5/Document/PythonScript.py
+++ b/product/ERP5/Document/PythonScript.py
@@ -37,7 +37,7 @@ from Products.PythonScripts.PythonScript import \
 
 # Only needed until skin tool is migrated
 manage_addPythonScriptFormThroughZMI = \
-  HTMLFile("../dtml/addPythonScriptThroughZMI", globals())
+  HTMLFile("../dtml/addPythonScriptThroughZMIForm", globals())
 def addPythonScriptThroughZMI(self, id, title="", REQUEST=None):
     """Add a Python script to a folder.
     """
@@ -86,6 +86,7 @@ class PythonScript(XMLObject, ZopePythonScript):
                       , PropertySheet.XMLObject
                       , PropertySheet.CategoryCore
                       , PropertySheet.DublinCore
+                      , PropertySheet.PythonScript
                       )
     
     def _setBody(self, value):
@@ -98,3 +99,7 @@ class PythonScript(XMLObject, ZopePythonScript):
 
     def edit(self, **kw):
       XMLObject.edit(self, **kw)
+
+    # We need to take __setstate__ from ZopePythonScript in order to
+    # generate _v_ft attributes which is necessary to run the script
+    __setstate__ = ZopePythonScript.__setstate__
diff --git a/product/ERP5/PropertySheet/PythonScript.py b/product/ERP5/PropertySheet/PythonScript.py
index f73dd6149c..581ebd2f1b 100644
--- a/product/ERP5/PropertySheet/PythonScript.py
+++ b/product/ERP5/PropertySheet/PythonScript.py
@@ -43,4 +43,6 @@ class PythonScript:
           'mode'        : '' },
   )
 
+  _categories = ('callable_type',)
+
 
diff --git a/product/ERP5/dtml/addPythonScriptThroughZMI.dtml b/product/ERP5/dtml/addPythonScriptThroughZMIForm.dtml
similarity index 88%
rename from product/ERP5/dtml/addPythonScriptThroughZMI.dtml
rename to product/ERP5/dtml/addPythonScriptThroughZMIForm.dtml
index 257ad6c826..e9ed0c10e5 100644
--- a/product/ERP5/dtml/addPythonScriptThroughZMI.dtml
+++ b/product/ERP5/dtml/addPythonScriptThroughZMIForm.dtml
@@ -1,11 +1,12 @@
 <dtml-var manage_page_header>
 
 <dtml-var "manage_form_title(this(), _,
-           form_title='Add ERP5 Formulator Form',
+           form_title='Add ERP5 Python Script',
            )">
 
 <p class="form-help">
-Formulator Forms allow you to create solid web forms more easily.
+ERP5 Python Scripts allows to add to usual python scripts
+some erp5 properties
 </p>
 
 <form action="addPythonScriptThroughZMI" method="POST">
-- 
2.30.9