Adds receiver column in Lot model and updates

Lot views PATCH to be able to modify the needed values
This commit is contained in:
emmdim 2019-12-14 22:11:28 +01:00
parent 0f81be6878
commit 58ff2e69e2
4 changed files with 6 additions and 2 deletions

View file

@ -70,6 +70,7 @@ class Lot(Thing):
author = db.relationship(User, primaryjoin=author_id == User.id) author = db.relationship(User, primaryjoin=author_id == User.id)
transfer_state = db.Column(IntEnum(TransferState), default=TransferState.Initial, nullable=False) transfer_state = db.Column(IntEnum(TransferState), default=TransferState.Initial, nullable=False)
transfer_state.comment = TransferState.__doc__ transfer_state.comment = TransferState.__doc__
receiver = db.Column(CIText(), default='', nullable=False)
def __init__(self, name: str, closed: bool = closed.default.arg, def __init__(self, name: str, closed: bool = closed.default.arg,
description: str = None) -> None: description: str = None) -> None:

View file

@ -27,6 +27,7 @@ class Lot(Thing):
deposit = ... # type: Column deposit = ... # type: Column
author_id = ... # type: Column author_id = ... # type: Column
transfer_state = ... # type: Column transfer_state = ... # type: Column
receiver = ... # type: Column
def __init__(self, name: str, closed: bool = closed.default.arg) -> None: def __init__(self, name: str, closed: bool = closed.default.arg) -> None:
super().__init__() super().__init__()
@ -41,6 +42,7 @@ class Lot(Thing):
self.children = ... # type: Set[Lot] self.children = ... # type: Set[Lot]
self.author_id = ... # type: UUID self.author_id = ... # type: UUID
self.transfer_state = ... self.transfer_state = ...
self.receiver = ... # type: str
def add_children(self, *children: Union[Lot, uuid.UUID]): def add_children(self, *children: Union[Lot, uuid.UUID]):
pass pass

View file

@ -23,4 +23,5 @@ class Lot(Thing):
description=m.Lot.deposit.__doc__) description=m.Lot.deposit.__doc__)
# author_id = NestedOn(s_user.User,only_query='author_id') # author_id = NestedOn(s_user.User,only_query='author_id')
author_id = f.UUID(dump_only=True) author_id = f.UUID(dump_only=True)
tranfer_state = EnumField(TransferState, description=m.Lot.transfer_state.comment) tranfer_state = EnumField(TransferState, description=m.Lot.transfer_state.comment)
receiver = SanitizedStr(validate=f.validate.Length(max=42))

View file

@ -40,7 +40,7 @@ class LotView(View):
return ret return ret
def patch(self, id): def patch(self, id):
patch_schema = self.resource_def.SCHEMA(only=('name', 'description'), partial=True) patch_schema = self.resource_def.SCHEMA(only=('name', 'description', 'transfer_state', 'receiver', 'deposit'), partial=True)
l = request.get_json(schema=patch_schema) l = request.get_json(schema=patch_schema)
lot = Lot.query.filter_by(id=id).one() lot = Lot.query.filter_by(id=id).one()
for key, value in l.items(): for key, value in l.items():