fix: add Employee support for CORE API -> Rattail import/datasync
This commit is contained in:
parent
4752409a45
commit
1b04b4097c
3 changed files with 60 additions and 0 deletions
rattail_corepos/importing/corepos
|
@ -56,6 +56,7 @@ class FromCOREPOSToRattail(importing.ToRattailHandler):
|
|||
importers['CustomerShopper'] = CustomerShopperImporter
|
||||
importers['MembershipType'] = MembershipTypeImporter
|
||||
importers['Member'] = MemberImporter
|
||||
importers['Employee'] = EmployeeImporter
|
||||
importers['Store'] = StoreImporter
|
||||
importers['Department'] = DepartmentImporter
|
||||
importers['Subdepartment'] = SubdepartmentImporter
|
||||
|
@ -341,6 +342,34 @@ class CustomerShopperImporter(FromCOREPOSAPI, corepos_importing.model.CustomerSh
|
|||
return data
|
||||
|
||||
|
||||
class EmployeeImporter(FromCOREPOSAPI, corepos_importing.model.EmployeeImporter):
|
||||
"""
|
||||
Importer for employee data from CORE POS API.
|
||||
"""
|
||||
key = 'corepos_number'
|
||||
supported_fields = [
|
||||
'corepos_number',
|
||||
'id',
|
||||
'first_name',
|
||||
'last_name',
|
||||
'full_name',
|
||||
'status',
|
||||
]
|
||||
|
||||
def get_host_objects(self):
|
||||
return self.api.get_employees()
|
||||
|
||||
def normalize_host_object(self, employee):
|
||||
return {
|
||||
'corepos_number': int(employee['emp_no']),
|
||||
'id': int(employee['emp_no']),
|
||||
'first_name': employee['FirstName'],
|
||||
'last_name': employee['LastName'],
|
||||
'full_name': normalize_full_name(employee['FirstName'], employee['LastName']),
|
||||
'status': self.enum.EMPLOYEE_STATUS_CURRENT if employee['EmpActive'] else self.enum.EMPLOYEE_STATUS_FORMER,
|
||||
}
|
||||
|
||||
|
||||
class StoreImporter(FromCOREPOSAPI, corepos_importing.model.StoreImporter):
|
||||
"""
|
||||
Importer for store data from CORE POS API.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue