Full Working static multi tenant
This commit is contained in:
@@ -1,9 +1,10 @@
|
||||
from typing import List
|
||||
from typing import List, Optional
|
||||
from html import unescape
|
||||
|
||||
from pydantic import BaseModel, Field, validator
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
from ..core.models import CrudDocument, RichtextMultiline, RichtextSingleline, DictionaryEntry
|
||||
from ..core.filter import Filter
|
||||
|
||||
|
||||
class PartyTemplate(BaseModel):
|
||||
@@ -47,12 +48,10 @@ class ProvisionTemplate(CrudDocument):
|
||||
|
||||
name: str = Field(title="Nom")
|
||||
title: str = RichtextSingleline(title="Titre")
|
||||
label: str = ""
|
||||
body: str = RichtextMultiline(title="Corps")
|
||||
|
||||
@validator("label", always=True)
|
||||
def generate_label(cls, v, values, **kwargs):
|
||||
return "{} - \"{}\"".format(values['name'], unescape(remove_html_tags(values['title'])))
|
||||
def compute_label(self) -> str:
|
||||
return f"{self.name} - \"{unescape(remove_html_tags(self.title))}\""
|
||||
|
||||
class Settings(CrudDocument.Settings):
|
||||
fulltext_search = ['name', 'title', 'body']
|
||||
@@ -84,7 +83,6 @@ class ContractTemplate(CrudDocument):
|
||||
"""
|
||||
name: str = Field(title="Nom")
|
||||
title: str = Field(title="Titre")
|
||||
label: str = ""
|
||||
parties: List[PartyTemplate] = Field(default=[], title="Parties")
|
||||
provisions: List[ProvisionTemplateReference] = Field(
|
||||
default=[],
|
||||
@@ -97,12 +95,31 @@ class ContractTemplate(CrudDocument):
|
||||
title="Variables"
|
||||
)
|
||||
|
||||
@validator("label", always=True)
|
||||
def generate_label(cls, v, values, **kwargs):
|
||||
return "{} - \"{}\"".format(values['name'], unescape(remove_html_tags(values['title'])))
|
||||
def compute_label(self) -> str:
|
||||
return f"{self.name} - \"{unescape(remove_html_tags(self.title))}\""
|
||||
|
||||
class Settings(CrudDocument.Settings):
|
||||
fulltext_search = ['name', 'title']
|
||||
|
||||
class Config:
|
||||
title = 'Template de contrat'
|
||||
|
||||
|
||||
class ContractTemplateFilters(Filter):
|
||||
name__like: Optional[str] = None
|
||||
|
||||
order_by: Optional[list[str]] = None
|
||||
|
||||
class Constants(Filter.Constants):
|
||||
model = ContractTemplate
|
||||
search_model_fields = ["name"]
|
||||
|
||||
|
||||
class ProvisionTemplateFilters(Filter):
|
||||
name__like: Optional[str] = None
|
||||
|
||||
order_by: Optional[list[str]] = None
|
||||
|
||||
class Constants(Filter.Constants):
|
||||
model = ProvisionTemplate
|
||||
search_model_fields = ["name"]
|
||||
|
||||
Reference in New Issue
Block a user