Add 2-way sync for basic Member data, CORE <-> Rattail

This commit is contained in:
Lance Edgar 2020-03-18 11:30:18 -05:00
parent 9dbdb81f07
commit 8917316a21
5 changed files with 158 additions and 14 deletions

View file

@ -160,6 +160,7 @@ class FromRattailToCore(NewDataSyncImportConsumer):
'CustomerMailingAddress',
'PersonPhoneNumber',
'PersonEmailAddress',
'Member',
]
for change in [c for c in changes if c.payload_type in types]:
if change.payload_type == 'Customer' and change.deletion:
@ -252,6 +253,11 @@ class FromRattailToCore(NewDataSyncImportConsumer):
if email:
return email.person.customers
if change.payload_type == 'Member':
member = session.query(model.Member).get(change.payload_key)
if member:
return [member.customer]
return []
def get_vendor(self, session, change):

View file

@ -73,6 +73,8 @@ class FromCOREAPIToRattail(NewDataSyncImportConsumer):
for person in people:
self.process_change(session, self.importers['Person'],
host_object=person)
self.process_change(session, self.importers['Member'],
host_object=member)
# process all remaining supported models with typical logic
types = [