Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
erp5
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Georgios Dagkakis
erp5
Commits
989ad1fd
Commit
989ad1fd
authored
Feb 05, 2021
by
Georgios Dagkakis
Browse files
Options
Browse Files
Download
Plain Diff
erp5_web_service: Migrate DocumentConnection to components
See merge request
nexedi/erp5!1353
parents
a4df1d40
ef0451d2
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
343 additions
and
2 deletions
+343
-2
bt5/erp5_web_service/ModuleComponentTemplateItem/portal_components/module.erp5.DocumentConnection.py
...eItem/portal_components/module.erp5.DocumentConnection.py
+71
-0
bt5/erp5_web_service/ModuleComponentTemplateItem/portal_components/module.erp5.DocumentConnection.xml
...Item/portal_components/module.erp5.DocumentConnection.xml
+133
-0
bt5/erp5_web_service/TestTemplateItem/portal_components/test.erp5.testWebServiceTool.py
...ateItem/portal_components/test.erp5.testWebServiceTool.py
+26
-0
bt5/erp5_web_service/TestTemplateItem/portal_components/test.erp5.testWebServiceTool.xml
...teItem/portal_components/test.erp5.testWebServiceTool.xml
+106
-0
bt5/erp5_web_service/ToolComponentTemplateItem/portal_components/tool.erp5.WebServiceTool.py
...emplateItem/portal_components/tool.erp5.WebServiceTool.py
+1
-0
bt5/erp5_web_service/bt/template_module_component_id_list
bt5/erp5_web_service/bt/template_module_component_id_list
+2
-1
bt5/erp5_web_service/bt/template_test_id_list
bt5/erp5_web_service/bt/template_test_id_list
+2
-1
bt5/erp5_web_service/bt/test_dependency_list
bt5/erp5_web_service/bt/test_dependency_list
+2
-0
No files found.
bt5/erp5_web_service/ModuleComponentTemplateItem/portal_components/module.erp5.DocumentConnection.py
0 → 100644
View file @
989ad1fd
##############################################################################
#
# Copyright (c) 2010 Nexedi SARL and Contributors. All Rights Reserved.
# Aurelien Calonne <aurel@nexedi.com>
#
# WARNING: This program as such is intended to be used by professional
# programmers who take the whole responsability of assessing all potential
# consequences resulting from its eventual inadequacies and bugs
# End users who are looking for a ready-to-use solution with commercial
# garantees and support are strongly adviced to contract a Free Software
# Service Company
#
# 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
##############################################################################
from
erp5.component.tool.WebServiceTool
import
ConnectionError
from
Products.ERP5.ERP5Site
import
getSite
class
MethodWrapper
(
object
):
def
__init__
(
self
,
method
,
conn
):
self
.
_method
=
method
self
.
_conn
=
conn
def
__call__
(
self
,
*
args
,
**
kw
):
portal
=
getSite
()
method_name
=
"DocumentConnector_%s"
%
(
self
.
_method
)
method
=
getattr
(
portal
,
method_name
,
None
)
kw
[
"reference"
]
=
self
.
_conn
.
reference
if
method
:
response
=
method
(
*
args
,
**
kw
)
return
method
.
absolute_url
(),
response
## try:
## except ValueError, msg:
## raise ConnectionError(msg)
## except Exception, msg:
## raise ConnectionError(msg)
else
:
raise
ConnectionError
(
"Method %s does not exist"
%
(
method_name
))
class
DocumentConnection
:
"""
Holds a connection to the document module.
"""
__allow_access_to_unprotected_subobjects__
=
1
def
__init__
(
self
,
url
,
*
args
,
**
kw
):
"""
"""
self
.
reference
=
url
def
connect
(
self
):
"""Get a handle to a remote connection."""
return
self
def
__getattr__
(
self
,
name
):
if
not
name
.
startswith
(
"_"
):
return
MethodWrapper
(
name
,
self
)
bt5/erp5_web_service/ModuleComponentTemplateItem/portal_components/module.erp5.DocumentConnection.xml
0 → 100644
View file @
989ad1fd
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Module Component"
module=
"erp5.portal_type"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_recorded_property_dict
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAI=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
default_reference
</string>
</key>
<value>
<string>
DocumentConnection
</string>
</value>
</item>
<item>
<key>
<string>
default_source_reference
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
module.erp5.DocumentConnection
</string>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<string>
Module Component
</string>
</value>
</item>
<item>
<key>
<string>
sid
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
text_content_error_message
</string>
</key>
<value>
<tuple/>
</value>
</item>
<item>
<key>
<string>
text_content_warning_message
</string>
</key>
<value>
<tuple/>
</value>
</item>
<item>
<key>
<string>
version
</string>
</key>
<value>
<string>
erp5
</string>
</value>
</item>
<item>
<key>
<string>
workflow_history
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAM=
</string>
</persistent>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"2"
aka=
"AAAAAAAAAAI="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"3"
aka=
"AAAAAAAAAAM="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
component_validation_workflow
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAQ=
</string>
</persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"4"
aka=
"AAAAAAAAAAQ="
>
<pickle>
<global
name=
"WorkflowHistoryList"
module=
"Products.ERP5Type.Workflow"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_log
</string>
</key>
<value>
<list>
<dictionary>
<item>
<key>
<string>
action
</string>
</key>
<value>
<string>
validate
</string>
</value>
</item>
<item>
<key>
<string>
validation_state
</string>
</key>
<value>
<string>
validated
</string>
</value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_web_service/TestTemplateItem/portal_components/test.erp5.testWebServiceTool.py
0 → 100644
View file @
989ad1fd
import
textwrap
from
Products.ERP5Type.tests.ERP5TypeTestCase
import
ERP5TypeTestCase
from
Products.ERP5Type.tests.utils
import
createZODBPythonScript
class
TestWebServiceTool
(
ERP5TypeTestCase
):
def
test_document_connector
(
self
):
doc
=
self
.
portal
.
document_module
.
newContent
(
portal_type
=
'Spreadsheet'
,
reference
=
self
.
id
())
doc
.
share
()
self
.
tic
()
createZODBPythonScript
(
self
.
portal
.
portal_skins
.
custom
,
'DocumentConnector_getDocumentUid'
,
'reference'
,
textwrap
.
dedent
(
'''
\
assert reference == %s
doc, = context.getPortalObject().portal_catalog.getDocumentValueList(reference=reference)
return doc.getUid()
'''
%
repr
(
self
.
id
()))
)
connection
=
self
.
portal
.
portal_web_services
.
connect
(
self
.
id
(),
transport
=
'document'
)
self
.
assertEqual
(
connection
.
getDocumentUid
(),
(
'%s/DocumentConnector_getDocumentUid'
%
self
.
portal
.
getId
(),
doc
.
getUid
()))
bt5/erp5_web_service/TestTemplateItem/portal_components/test.erp5.testWebServiceTool.xml
0 → 100644
View file @
989ad1fd
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Test Component"
module=
"erp5.portal_type"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
default_reference
</string>
</key>
<value>
<string>
testWebServiceTool
</string>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
test.erp5.testWebServiceTool
</string>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<string>
Test Component
</string>
</value>
</item>
<item>
<key>
<string>
sid
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
text_content_error_message
</string>
</key>
<value>
<tuple/>
</value>
</item>
<item>
<key>
<string>
text_content_warning_message
</string>
</key>
<value>
<tuple/>
</value>
</item>
<item>
<key>
<string>
version
</string>
</key>
<value>
<string>
erp5
</string>
</value>
</item>
<item>
<key>
<string>
workflow_history
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAI=
</string>
</persistent>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"2"
aka=
"AAAAAAAAAAI="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
component_validation_workflow
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAM=
</string>
</persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"3"
aka=
"AAAAAAAAAAM="
>
<pickle>
<global
name=
"WorkflowHistoryList"
module=
"Products.ERP5Type.Workflow"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_log
</string>
</key>
<value>
<list>
<dictionary>
<item>
<key>
<string>
action
</string>
</key>
<value>
<string>
validate
</string>
</value>
</item>
<item>
<key>
<string>
validation_state
</string>
</key>
<value>
<string>
validated
</string>
</value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_web_service/ToolComponentTemplateItem/portal_components/tool.erp5.WebServiceTool.py
View file @
989ad1fd
...
@@ -53,6 +53,7 @@ handler_module_dict = {
...
@@ -53,6 +53,7 @@ handler_module_dict = {
'soap_wsdl'
:
'SOAPWSDLConnection'
,
'soap_wsdl'
:
'SOAPWSDLConnection'
,
'sftp'
:
"SFTPConnection"
,
'sftp'
:
"SFTPConnection"
,
'sql'
:
"SQLConnection"
,
'sql'
:
"SQLConnection"
,
'document'
:
"DocumentConnection"
,
}
}
for
handler_id
,
module_id
in
handler_module_dict
.
iteritems
():
for
handler_id
,
module_id
in
handler_module_dict
.
iteritems
():
# Ignore non-functionnal plugins.
# Ignore non-functionnal plugins.
...
...
bt5/erp5_web_service/bt/template_module_component_id_list
View file @
989ad1fd
...
@@ -2,4 +2,5 @@ module.erp5.SFTPConnection
...
@@ -2,4 +2,5 @@ module.erp5.SFTPConnection
module.erp5.SOAPConnection
module.erp5.SOAPConnection
module.erp5.SOAPWSDLConnection
module.erp5.SOAPWSDLConnection
module.erp5.SQLConnection
module.erp5.SQLConnection
module.erp5.XMLRPCConnection
module.erp5.XMLRPCConnection
\ No newline at end of file
module.erp5.DocumentConnection
\ No newline at end of file
bt5/erp5_web_service/bt/template_test_id_list
View file @
989ad1fd
test.erp5.testFTPConnection
test.erp5.testFTPConnection
\ No newline at end of file
test.erp5.testWebServiceTool
\ No newline at end of file
bt5/erp5_web_service/bt/test_dependency_list
0 → 100644
View file @
989ad1fd
erp5_full_text_mroonga_catalog
erp5_dms
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment