diff --git a/product/ERP5SyncML/Publication.py b/product/ERP5SyncML/Publication.py index 5c22defbcbf717ec1d2cd93f7a9ee31cbf01a462..da6a447bbaff1bb992918f5532050442b26b969d 100644 --- a/product/ERP5SyncML/Publication.py +++ b/product/ERP5SyncML/Publication.py @@ -179,18 +179,6 @@ class Publication(Subscription): self.authentication_format = authentication_format self.authentication_type = authentication_type - def getActivityEnabled(self): - """ - return true if we are using activity, false otherwise - """ - return getattr(self, 'activity_enabled', None) - - def setActivityEnabled(self, activity_enabled): - """ - set if we are using activity or not - """ - self.activity_enabled = activity_enabled - def getPublicationUrl(self): """ return the publication url diff --git a/product/ERP5SyncML/Subscription.py b/product/ERP5SyncML/Subscription.py index a40e6dab8e13ea2eec517f16d5f1c494dc332307..03c66086c8e7eafa80c38ddc274bf481b6d76fd0 100644 --- a/product/ERP5SyncML/Subscription.py +++ b/product/ERP5SyncML/Subscription.py @@ -669,13 +669,14 @@ class Subscription(Folder, SyncCode): def __init__(self, id, title, publication_url, subscription_url, destination_path, source_uri, target_uri, query, xml_mapping, conduit, gpg_key, id_generator, gid_generator, media_type, login, - password): + password, activity_enabled): """ We need to create a dictionnary of signatures of documents which belong to the synchronisation process """ self.id = id + self.setActivityEnabled(activity_enabled) self.publication_url = (publication_url) self.subscription_url = str(subscription_url) self.destination_path = str(destination_path) @@ -701,6 +702,18 @@ class Subscription(Folder, SyncCode): #self.signatures = PersitentMapping() + def getActivityEnabled(self): + """ + return true if we are using activity, false otherwise + """ + return getattr(self, 'activity_enabled', None) + + def setActivityEnabled(self, activity_enabled): + """ + set if we are using activity or not + """ + self.activity_enabled = activity_enabled + def getTitle(self): """ getter for title diff --git a/product/ERP5SyncML/SynchronizationTool.py b/product/ERP5SyncML/SynchronizationTool.py index ddb3de8f0c233f80d30871419c3c9010e36aa433..557ac9ac5ed0f91579762c7dcea4c6bb1189305d 100644 --- a/product/ERP5SyncML/SynchronizationTool.py +++ b/product/ERP5SyncML/SynchronizationTool.py @@ -206,7 +206,7 @@ class SynchronizationTool( SubscriptionSynchronization, xml_mapping, conduit, gpg_key, synchronization_id_generator=None, gid_generator=None, media_type=None, login=None, password=None, - RESPONSE=None): + RESPONSE=None, activity_enabled=False): """ XXX should be renamed as addSubscription create a new subscription @@ -220,7 +220,7 @@ class SynchronizationTool( SubscriptionSynchronization, destination_path, source_uri, target_uri, query, xml_mapping, conduit, gpg_key, synchronization_id_generator, gid_generator, media_type, - login, password) + login, password, activity_enabled) folder._setObject( new_id, sub ) #if len(self.list_subscriptions) == 0: # self.list_subscriptions = PersistentMapping() @@ -264,12 +264,13 @@ class SynchronizationTool( SubscriptionSynchronization, def manage_editSubscription(self, title, publication_url, subscription_url, destination_path, source_uri, target_uri, query, xml_mapping, conduit, gpg_key, synchronization_id_generator, gid_generator, media_type=None, - login='', password='', RESPONSE=None): + login='', password='', RESPONSE=None, activity_enabled=False): """ modify a subscription """ sub = self.getSubscription(title) sub.setTitle(title) + sub.setActivityEnabled(activity_enabled) sub.setPublicationUrl(publication_url) sub.setDestinationPath(destination_path) sub.setSourceURI(source_uri) diff --git a/product/ERP5SyncML/dtml/manageSubscriptions.dtml b/product/ERP5SyncML/dtml/manageSubscriptions.dtml index 7f1f7558c6eb9b8b3bc241a3db0c1128c886cd4f..8a5eeeacaabba678fb99d0347ad16bc7a3fe10b6 100644 --- a/product/ERP5SyncML/dtml/manageSubscriptions.dtml +++ b/product/ERP5SyncML/dtml/manageSubscriptions.dtml @@ -47,6 +47,16 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. <input type="text" name="title" value="<dtml-var getTitle>" size="40"/> </td> </tr> + <tr> + <td align="left" valign="top"> + <div class="form-label"> + Use Activity + </label></div> + </td> + <td align="left" valign="top"> + <input type="checkbox" name="activity_enabled" value="1" <dtml-if expr="getActivityEnabled()">CHECKED</dtml-if>> + </td> + </tr> <tr> <td align="left" valign="top"> <div class="form-label"> diff --git a/product/ERP5SyncML/dtml/manage_addSubscription.dtml b/product/ERP5SyncML/dtml/manage_addSubscription.dtml index ed9251a2b0830dfc5d043ef49c80960f6db431b2..60ecd662578d6e3753ba1b7ca21738add85574bd 100644 --- a/product/ERP5SyncML/dtml/manage_addSubscription.dtml +++ b/product/ERP5SyncML/dtml/manage_addSubscription.dtml @@ -43,6 +43,16 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. <input type="text" name="title" size="40" /> </td> </tr> + <tr> + <td align="left" valign="top"> + <div class="form-label"> + Use Activity + </label></div> + </td> + <td align="left" valign="top"> + <input type="checkbox" name="activity_enabled" value="1"> + </td> + </tr> <tr> <td align="left" valign="top"> <div class="form-label"> diff --git a/product/ERP5SyncML/tests/testERP5SyncML.py b/product/ERP5SyncML/tests/testERP5SyncML.py index cbb505d771ac565c9ed60c22b8fe2708a2a6e837..653e6fe586ccfb35446e6e60cc0608f690f91573 100644 --- a/product/ERP5SyncML/tests/testERP5SyncML.py +++ b/product/ERP5SyncML/tests/testERP5SyncML.py @@ -368,7 +368,8 @@ class TestERP5SyncML(TestERP5SyncMLMixin, ERP5TypeTestCase): xml_mapping=self.xml_mapping, conduit='ERP5Conduit', gpg_key='', - gid_generator='getId') + gid_generator='getId', + activity_enabled=False) sub = portal_sync.getSubscription(self.sub_id1) self.failUnless(sub is not None) @@ -389,7 +390,8 @@ class TestERP5SyncML(TestERP5SyncMLMixin, ERP5TypeTestCase): xml_mapping=self.xml_mapping, conduit='ERP5Conduit', gpg_key='', - gid_generator='getId') + gid_generator='getId', + activity_enabled=False) sub = portal_sync.getSubscription(self.sub_id2) self.failUnless(sub is not None) @@ -1334,7 +1336,8 @@ class TestERP5SyncML(TestERP5SyncMLMixin, ERP5TypeTestCase): xml_mapping='', conduit='ERP5Conduit', gpg_key='', - gid_generator='getId') + gid_generator='getId', + activity_enabled=False) sub = portal_sync.getSubscription(self.sub_id1) self.failUnless(sub is not None)