Commit a00de625 authored by Christophe Dumez's avatar Christophe Dumez

- Added some missing callbacks

- Don't ask server about about of datedness anymore (takes to much time and crash sometimes...)
- Raise an exception when reverting changes for a business template that is not installed.


git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@8653 20353a03-c40f-0410-a6d1-a30d3c3de9de
parent b20c8f74
......@@ -127,6 +127,18 @@ try:
# XXX SSL server certificate failure bits are not defined in pysvn.
# 0x8 means that the CA is unknown.
return True, 0x8, permanent
class SSLServerPromptCallback(Callback):
def __call__(self):
return
class SSLClientCertPromptCallback(Callback):
def __call__(self):
return
class SSLClientCertPasswordPromptCallback(Callback):
def __call__(self):
return
# Wrap objects defined in pysvn so that skins
# have access to attributes in the ERP5 way.
......@@ -192,12 +204,16 @@ try:
self.client = pysvn.Client()
self.client.set_auth_cache(0)
obj = self.__of__(container)
self.client.exception_style = 1
self.client.callback_cancel = CancelCallback(obj)
self.client.callback_get_log_message = GetLogMessageCallback(obj)
self.client.callback_get_login = GetLoginCallback(obj)
self.client.callback_notify = NotifyCallback(obj)
self.client.callback_ssl_server_trust_prompt = \
SSLServerTrustPromptCallback(obj)
self.client.callback_ssl_server_prompt = SSLServerPromptCallback(obj)
self.client.callback_ssl_client_cert_prompt = SSLClientCertPromptCallback(obj)
self.client.callback_ssl_client_cert_password_prompt = SSLClientCertPasswordPromptCallback(obj)
self.creation_time = time.time()
self.__dict__.update(**kw)
self.exception = None
......
......@@ -134,6 +134,11 @@ class SubversionNotAWorkingCopyError(Exception):
"""
pass
class SubversionBusinessTemplateNotInstalled(Exception):
""" Exception called when the business template is not installed
"""
pass
class UnauthorizedAccessToPath(Exception):
""" When path is not in zope home instance
"""
......@@ -915,6 +920,8 @@ class SubversionTool(BaseTool, UniqueObject, Folder):
# Partially reinstall installed bt
installed_bt = business_template.portal_templates\
.getInstalledBusinessTemplate(business_template.getTitle())
if installed_bt is None:
raise SubversionBusinessTemplateNotInstalled, "Revert won't work if the business template is not installed. Please install it first."
installed_bt.reinstall(object_to_update=object_to_update, force=0)
security.declareProtected('Import/Export objects', 'resolved')
......@@ -1033,8 +1040,9 @@ class SubversionTool(BaseTool, UniqueObject, Folder):
# Business template root directory is the root of the tree
root = Dir(business_template.getTitle(), "normal")
something_modified = False
statusObj_list = self.status(os.path.join(bt_path, \
business_template.getTitle()), update=True)
business_template.getTitle()), update=False)
# We browse the files returned by svn status
for status_obj in statusObj_list :
# can be (normal, added, modified, deleted, conflicted, unversioned)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment