Add more schema extensions; importing support

This commit is contained in:
Lance Edgar 2020-07-06 21:16:01 -05:00
parent 4402d79052
commit 6ce4b59509
8 changed files with 541 additions and 37 deletions

View file

@ -50,9 +50,60 @@ class PersonImporter(importing.model.PersonImporter):
return query
class CustomerImporter(importing.model.CustomerImporter):
extension_attr = '_corepos'
extension_fields = [
'corepos_account_id',
]
class MemberImporter(importing.model.MemberImporter):
extension_attr = '_corepos'
extension_fields = [
'corepos_account_id',
]
class DepartmentImporter(importing.model.DepartmentImporter):
extension_attr = '_corepos'
extension_fields = [
'corepos_number',
]
class SubdepartmentImporter(importing.model.SubdepartmentImporter):
extension_attr = '_corepos'
extension_fields = [
'corepos_number',
]
class VendorImporter(importing.model.VendorImporter):
extension_attr = '_corepos'
extension_fields = [
'corepos_id',
]
class ProductImporter(importing.model.ProductImporter):
extension_attr = '_corepos'
extension_fields = [
'corepos_id',
]
def cache_query(self):
query = super(ProductImporter, self).cache_query()
model = self.config.get_model()
# we want to ignore products with no CORE ID, if that's (part of) our key
if 'corepos_id' in self.key:
query = query.join(model.CoreProduct)\
.filter(model.CoreProduct.corepos_id != None)
return query