Add support for Department, Subdepartment, Product in Rattail -> CORE API
This commit is contained in:
parent
ab8894ef0d
commit
cd93d3e36b
4 changed files with 301 additions and 18 deletions
|
@ -152,6 +152,22 @@ class FromRattailToCore(NewDataSyncImportConsumer):
|
|||
# also establish the API client for each!
|
||||
importer.establish_api()
|
||||
|
||||
# sync all Department changes
|
||||
types = [
|
||||
'Department',
|
||||
]
|
||||
for change in [c for c in changes if c.payload_type in types]:
|
||||
if change.payload_type == 'Department' and change.deletion:
|
||||
# TODO: we have no way (yet) to delete a CORE department via API
|
||||
# # just do default logic for this one
|
||||
# self.invoke_importer(session, change)
|
||||
pass
|
||||
else: # we consider this an "add/update"
|
||||
department = self.get_department(session, change)
|
||||
if department:
|
||||
self.process_change(session, self.importers['Department'],
|
||||
host_object=department)
|
||||
|
||||
# sync all Vendor changes
|
||||
types = [
|
||||
'Vendor',
|
||||
|
@ -164,13 +180,17 @@ class FromRattailToCore(NewDataSyncImportConsumer):
|
|||
# self.invoke_importer(session, change)
|
||||
# TODO: we have no way to delete a CORE vendor via API, right?
|
||||
pass
|
||||
else: # we consider this a "vendor add/update"
|
||||
vendor = self.get_host_vendor(session, change)
|
||||
else: # we consider this an "add/update"
|
||||
vendor = self.get_vendor(session, change)
|
||||
if vendor:
|
||||
self.process_change(session, self.importers['Vendor'],
|
||||
host_object=vendor)
|
||||
|
||||
def get_host_vendor(self, session, change):
|
||||
def get_department(self, session, change):
|
||||
if change.payload_type == 'Department':
|
||||
return session.query(model.Department).get(change.payload_key)
|
||||
|
||||
def get_vendor(self, session, change):
|
||||
|
||||
if change.payload_type == 'Vendor':
|
||||
return session.query(model.Vendor).get(change.payload_key)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue