barker/barker/barker/models/settle_option.py

41 lines
1.3 KiB
Python

from barker.models.meta import Base
from barker.models.reporting_level import ReportingLevel
from barker.models.voucher_type import VoucherType
from sqlalchemy import Boolean, Column, Enum, Integer, Unicode
from sqlalchemy.sql import expression
class SettleOption(Base):
__tablename__ = "settle_options"
id = Column("id", Integer, primary_key=True)
name = Column("name", Unicode(255), unique=True, nullable=False)
voucher_type = Column("voucher_type", Enum(VoucherType), nullable=False)
reporting_level = Column("reporting_level", Enum(ReportingLevel), nullable=False)
has_reason = Column("has_reason", Boolean, nullable=False, server_default=expression.false(), default=False)
is_fixture = Column("is_fixture", Boolean, nullable=False, server_default=expression.false(), default=False)
def __init__(self, name=None, voucher_type=None, reporting_level=None, has_reason=None, is_fixture=None, id_=None):
self.id = id_
self.name = name
self.voucher_type = voucher_type
self.reporting_level = reporting_level
self.has_reason = has_reason
self.is_fixture = is_fixture
@classmethod
def UNSETTLED(cls):
return 1
@classmethod
def ROUND_OFF(cls):
return 7
@classmethod
def AMOUNT(cls):
return 8
@classmethod
def VOID(cls):
return 9