Adding an autogenerated label to contracts
This commit is contained in:
@@ -2,7 +2,7 @@ import datetime
|
|||||||
from typing import List, Literal
|
from typing import List, Literal
|
||||||
from enum import Enum
|
from enum import Enum
|
||||||
|
|
||||||
from pydantic import BaseModel, Field
|
from pydantic import BaseModel, Field, validator
|
||||||
from beanie.operators import ElemMatch
|
from beanie.operators import ElemMatch
|
||||||
|
|
||||||
from ..core.models import CrudDocument, RichtextSingleline, RichtextMultiline, DictionaryEntry
|
from ..core.models import CrudDocument, RichtextSingleline, RichtextMultiline, DictionaryEntry
|
||||||
@@ -181,6 +181,19 @@ class Contract(CrudDocument):
|
|||||||
lawyer: Entity = Field(title="Avocat en charge")
|
lawyer: Entity = Field(title="Avocat en charge")
|
||||||
location: str = Field(title="Lieu")
|
location: str = Field(title="Lieu")
|
||||||
date: datetime.date = Field(title="Date")
|
date: datetime.date = Field(title="Date")
|
||||||
|
label: str = None
|
||||||
|
|
||||||
|
@validator("label", always=True)
|
||||||
|
def generate_label(cls, v, values, **kwargs):
|
||||||
|
if not v:
|
||||||
|
contract_label = values['title']
|
||||||
|
for p in values['parties']:
|
||||||
|
contract_label = contract_label + f" - {p.entity.label}"
|
||||||
|
|
||||||
|
contract_label = contract_label + f" {values['date'].strftime('%m/%d/%Y')}"
|
||||||
|
return contract_label
|
||||||
|
|
||||||
|
return v
|
||||||
|
|
||||||
class Settings(CrudDocument.Settings):
|
class Settings(CrudDocument.Settings):
|
||||||
fulltext_search = ['name', 'title']
|
fulltext_search = ['name', 'title']
|
||||||
|
|||||||
Reference in New Issue
Block a user