Phasing out Pydantic v1's class Config
This commit is contained in:
@@ -2,20 +2,19 @@ from typing import List, Optional
|
||||
from html import unescape
|
||||
|
||||
from beanie import PydanticObjectId
|
||||
from pydantic import BaseModel, Field
|
||||
from pydantic import BaseModel, Field, ConfigDict
|
||||
|
||||
from firm.core.models import CrudDocument, RichtextMultiline, RichtextSingleline, DictionaryEntry, ForeignKey
|
||||
from firm.core.filter import Filter, FilterSchema
|
||||
|
||||
|
||||
class PartyTemplate(BaseModel):
|
||||
model_config = ConfigDict(title="Partie")
|
||||
|
||||
entity_id: Optional[PydanticObjectId] = ForeignKey("entities", "Entity", default=None, title="Partie")
|
||||
part: str = Field(title="Rôle")
|
||||
representative_id: Optional[PydanticObjectId] = ForeignKey("entities", "Entity", default=None, title="Représentant")
|
||||
|
||||
class Config:
|
||||
title = 'Partie'
|
||||
|
||||
|
||||
def remove_html_tags(text):
|
||||
"""Remove html tags from a string"""
|
||||
@@ -28,6 +27,7 @@ class ProvisionTemplate(CrudDocument):
|
||||
"""
|
||||
Modèle de clause à décliner
|
||||
"""
|
||||
model_config = ConfigDict(title="Template de clause")
|
||||
|
||||
name: str = Field(title="Nom")
|
||||
title: str = RichtextSingleline(title="Titre")
|
||||
@@ -39,11 +39,10 @@ class ProvisionTemplate(CrudDocument):
|
||||
class Settings(CrudDocument.Settings):
|
||||
fulltext_search = ['name', 'title', 'body']
|
||||
|
||||
class Config:
|
||||
title = 'Template de clause'
|
||||
|
||||
|
||||
class ProvisionTemplateReference(BaseModel):
|
||||
model_config = ConfigDict(title="Clause")
|
||||
|
||||
provision_template_id: PydanticObjectId = ForeignKey(
|
||||
"templates/provisions",
|
||||
"TemplateProvision",
|
||||
@@ -52,14 +51,13 @@ class ProvisionTemplateReference(BaseModel):
|
||||
title="Template de clause"
|
||||
)
|
||||
|
||||
class Config:
|
||||
title = 'Clause'
|
||||
|
||||
|
||||
class ContractTemplate(CrudDocument):
|
||||
"""
|
||||
Modèle de contrat à décliner
|
||||
"""
|
||||
model_config = ConfigDict(title="Template de contrat")
|
||||
|
||||
name: str = Field(title="Nom")
|
||||
title: str = Field(title="Titre")
|
||||
parties: List[PartyTemplate] = Field(default=[], title="Parties")
|
||||
@@ -72,9 +70,6 @@ class ContractTemplate(CrudDocument):
|
||||
class Settings(CrudDocument.Settings):
|
||||
fulltext_search = ['name', 'title']
|
||||
|
||||
class Config:
|
||||
title = 'Template de contrat'
|
||||
|
||||
|
||||
class ContractTemplateFilters(FilterSchema):
|
||||
class Constants(Filter.Constants):
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from pydantic import Field
|
||||
from pydantic import Field, ConfigDict
|
||||
from typing import List
|
||||
|
||||
from firm.template.models import ContractTemplate, ProvisionTemplate, PartyTemplate, ProvisionTemplateReference, DictionaryEntry
|
||||
@@ -11,6 +11,8 @@ class ContractTemplateRead(Reader, ContractTemplate):
|
||||
|
||||
|
||||
class ContractTemplateCreate(Writer):
|
||||
model_config = ConfigDict(title="Template de Contrat")
|
||||
|
||||
name: str = Field(title="Nom")
|
||||
title: str = Field(title="Titre")
|
||||
parties: List[PartyTemplate] = Field(
|
||||
@@ -28,9 +30,6 @@ class ContractTemplateCreate(Writer):
|
||||
title="Variables"
|
||||
)
|
||||
|
||||
class Config:
|
||||
title = 'Template de Contrat'
|
||||
|
||||
|
||||
class ContractTemplateUpdate(ContractTemplateCreate):
|
||||
pass
|
||||
@@ -41,13 +40,12 @@ class ProvisionTemplateRead(Reader, ProvisionTemplate):
|
||||
|
||||
|
||||
class ProvisionTemplateCreate(Writer):
|
||||
model_config = ConfigDict(title="Template de Clause")
|
||||
|
||||
name: str = Field(title="Nom")
|
||||
title: str = RichtextSingleline(title="Titre")
|
||||
body: str = RichtextMultiline(title="Corps")
|
||||
|
||||
class Config:
|
||||
title = 'Template de Clause'
|
||||
|
||||
|
||||
class ProvisionTemplateUpdate(ProvisionTemplateCreate):
|
||||
pass
|
||||
|
||||
Reference in New Issue
Block a user