From ab0111c1f5741398d9a6b5819849b8e85ecb7426 Mon Sep 17 00:00:00 2001 From: ewandor Date: Mon, 6 Mar 2023 20:21:12 +0100 Subject: [PATCH] Correcting contract forms display --- back/app/contract/__init__.py | 10 ++++++++-- back/app/contract/models.py | 6 +++--- back/app/contract/schemas.py | 13 ++++++++++++- 3 files changed, 23 insertions(+), 6 deletions(-) diff --git a/back/app/contract/__init__.py b/back/app/contract/__init__.py index b724b596..9499cb94 100644 --- a/back/app/contract/__init__.py +++ b/back/app/contract/__init__.py @@ -1,4 +1,4 @@ - +import uuid from fastapi import Depends, HTTPException from ..core.routes import get_crud_router @@ -48,7 +48,8 @@ async def create(item: ContractCreate, user=Depends(can_create_contract)) -> dic parties.append({ 'entity': await Entity.get(p.entity_id), 'part': p.part, - 'representative': await Entity.get(p.representative_id) if p.representative_id else None + 'representative': await Entity.get(p.representative_id) if p.representative_id else None, + 'signature_uuid': str(uuid.uuid4()) }) contract_dict['parties'] = parties @@ -70,6 +71,11 @@ async def create(item: ContractCreate, user=Depends(can_create_contract)) -> dic return {"message": "Contract Successfully created", "id": o.id} +@contract_router.put("/{id}", response_description="") +async def update(id: str, req: ContractUpdate) -> ContractRead: + raise HTTPException(status_code=400, detail="No modification on contract") + + def replace_variables_in_value(variables, value: str): for v in variables: value = value.replace('%{}%'.format(v.key), v.value) diff --git a/back/app/contract/models.py b/back/app/contract/models.py index b8da5270..ff870d87 100644 --- a/back/app/contract/models.py +++ b/back/app/contract/models.py @@ -52,7 +52,7 @@ class Party(BaseModel): entity: Entity part: str representative: Entity = None - signature_uuid: str = str(uuid.uuid4()) + signature_uuid: str signature_affixed: bool = False @@ -81,8 +81,8 @@ class DraftProvision(BaseModel): class Provision(BaseModel): - title: str - body: str + title: str = RichtextSingleline() + body: str = RichtextMultiline() class ContractDraft(CrudDocument): diff --git a/back/app/contract/schemas.py b/back/app/contract/schemas.py index 223cc947..ad382708 100644 --- a/back/app/contract/schemas.py +++ b/back/app/contract/schemas.py @@ -38,8 +38,19 @@ class ContractDraftUpdate(ContractDraftCreate): pass +class EntityRead(BaseModel): + label: str + + +class PartyRead(BaseModel): + signature_affixed: bool + signature_uuid: str = Field(format="signature-link") + part: str + entity: EntityRead + + class ContractRead(Contract): - pass + parties: List[PartyRead] class ContractCreate(Writer):