Add schema extension for Stores, importing from CORE API
This commit is contained in:
parent
9b00de26c6
commit
95952c665e
6 changed files with 161 additions and 2 deletions
|
@ -57,6 +57,7 @@ class FromCOREPOSToRattail(importing.ToRattailHandler):
|
|||
importers['Person'] = PersonImporter
|
||||
importers['CustomerPerson'] = CustomerPersonImporter
|
||||
importers['Member'] = MemberImporter
|
||||
importers['Store'] = StoreImporter
|
||||
importers['Department'] = DepartmentImporter
|
||||
importers['Subdepartment'] = SubdepartmentImporter
|
||||
importers['Vendor'] = VendorImporter
|
||||
|
@ -349,6 +350,28 @@ class CustomerPersonImporter(FromCOREPOSAPI, importing.model.CustomerPersonImpor
|
|||
}
|
||||
|
||||
|
||||
class StoreImporter(FromCOREPOSAPI, corepos_importing.model.StoreImporter):
|
||||
"""
|
||||
Importer for store data from CORE POS API.
|
||||
"""
|
||||
key = 'corepos_id'
|
||||
supported_fields = [
|
||||
'corepos_id',
|
||||
'id',
|
||||
'name',
|
||||
]
|
||||
|
||||
def get_host_objects(self):
|
||||
return self.api.get_stores()
|
||||
|
||||
def normalize_host_object(self, store):
|
||||
return {
|
||||
'corepos_id': int(store['storeID']),
|
||||
'id': str(store['storeID']),
|
||||
'name': store['description'],
|
||||
}
|
||||
|
||||
|
||||
class DepartmentImporter(FromCOREPOSAPI, corepos_importing.model.DepartmentImporter):
|
||||
"""
|
||||
Importer for department data from CORE POS API.
|
||||
|
|
|
@ -69,6 +69,14 @@ class MemberImporter(importing.model.MemberImporter):
|
|||
]
|
||||
|
||||
|
||||
class StoreImporter(importing.model.StoreImporter):
|
||||
|
||||
extension_attr = '_corepos'
|
||||
extension_fields = [
|
||||
'corepos_id',
|
||||
]
|
||||
|
||||
|
||||
class DepartmentImporter(importing.model.DepartmentImporter):
|
||||
|
||||
extension_attr = '_corepos'
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
################################################################################
|
||||
#
|
||||
# Rattail -- Retail Software Framework
|
||||
# Copyright © 2010-2020 Lance Edgar
|
||||
# Copyright © 2010-2021 Lance Edgar
|
||||
#
|
||||
# This file is part of Rattail.
|
||||
#
|
||||
|
@ -36,6 +36,7 @@ class CoreposVersionMixin(object):
|
|||
importers['CorePerson'] = CorePersonImporter
|
||||
importers['CoreCustomer'] = CoreCustomerImporter
|
||||
importers['CoreMember'] = CoreMemberImporter
|
||||
importers['CoreStore'] = CoreStoreImporter
|
||||
importers['CoreDepartment'] = CoreDepartmentImporter
|
||||
importers['CoreSubdepartment'] = CoreSubdepartmentImporter
|
||||
importers['CoreVendor'] = CoreVendorImporter
|
||||
|
@ -67,6 +68,14 @@ class CoreMemberImporter(base.VersionImporter):
|
|||
return model.CoreMember
|
||||
|
||||
|
||||
class CoreStoreImporter(base.VersionImporter):
|
||||
|
||||
@property
|
||||
def host_model_class(self):
|
||||
model = self.config.get_model()
|
||||
return model.CoreStore
|
||||
|
||||
|
||||
class CoreDepartmentImporter(base.VersionImporter):
|
||||
|
||||
@property
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue