Add tender importer from CORE; apply tender in CORE POS batch

still some work to be done yet but getting there
This commit is contained in:
Lance Edgar 2023-09-27 17:14:28 -05:00
parent 3add006b7e
commit f61ae7a7e0
6 changed files with 132 additions and 2 deletions

View file

@ -24,7 +24,7 @@
Database schema extensions for CORE-POS integration
"""
from .stores import CoreStore
from .stores import CoreStore, CoreTender
from .people import (CorePerson, CoreCustomer, CoreCustomerShopper,
CoreMember, CoreMemberEquityPayment)
from .products import (CoreDepartment, CoreSubdepartment,

View file

@ -63,3 +63,38 @@ class CoreStore(model.Base):
return str(self.store)
CoreStore.make_proxy(model.Store, '_corepos', 'corepos_id')
class CoreTender(model.Base):
"""
CORE-specific extensions to :class:`rattail:rattail.db.model.Tender`.
"""
__tablename__ = 'corepos_tender'
__table_args__ = (
sa.ForeignKeyConstraint(['uuid'], ['tender.uuid'],
name='corepos_tender_fk_tender'),
)
__versioned__ = {}
uuid = model.uuid_column(default=None)
tender = orm.relationship(
model.Tender,
doc="""
Reference to the actual tender record, which this one extends.
""",
backref=orm.backref(
'_corepos',
uselist=False,
cascade='all, delete-orphan',
doc="""
Reference to the CORE-POS extension record for this tender.
"""))
corepos_id = sa.Column(sa.Integer(), nullable=False, doc="""
``tenders.TenderID`` value for this tender, within CORE-POS.
""")
def __str__(self):
return str(self.tender)
CoreTender.make_proxy(model.Tender, '_corepos', 'corepos_id')