From 10683a9a42f7d12b66f9de14d2e38af63b8081b0 Mon Sep 17 00:00:00 2001 From: AlexSserb Date: Sun, 13 Apr 2025 12:11:07 +0400 Subject: [PATCH] feat: highlight expired date and datetime attributes --- models/attribute.py | 5 +++++ schemas/attribute.py | 1 + services/attribute.py | 3 ++- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/models/attribute.py b/models/attribute.py index d0318a0..6cff11b 100644 --- a/models/attribute.py +++ b/models/attribute.py @@ -47,6 +47,11 @@ class Attribute(BaseModel): server_default='0', comment='Отображается ли атрибут на дашборде', ) + is_highlight_if_expired: Mapped[bool] = mapped_column( + default=False, + server_default='0', + comment='Подсветка атрибута, если Дата/ДатаВремя просрочена', + ) is_nullable: Mapped[bool] = mapped_column(default=False, nullable=False) default_value: Mapped[bytes] = mapped_column(nullable=True) is_deleted: Mapped[bool] = mapped_column(default=False) diff --git a/schemas/attribute.py b/schemas/attribute.py index fb78821..66cb35d 100644 --- a/schemas/attribute.py +++ b/schemas/attribute.py @@ -21,6 +21,7 @@ class BaseAttributeSchema(BaseSchema): name: str is_applicable_to_group: bool is_shown_on_dashboard: bool + is_highlight_if_expired: bool is_nullable: bool default_value: Optional[bool | int | float | str | date | datetime] type_id: int diff --git a/services/attribute.py b/services/attribute.py index 5a8037d..ffefc0b 100644 --- a/services/attribute.py +++ b/services/attribute.py @@ -61,7 +61,7 @@ class AttributeService(BaseService): if attribute.name != request.attribute.name: attr_with_same_name = await self.get_attr_by_name(request.attribute.name) if attr_with_same_name: - return CreateAttributeResponse(ok=False, message="Атрибут с данным уникальным ключом уже существует") + return UpdateAttributeResponse(ok=False, message="Атрибут с данным уникальным ключом уже существует") default_value = pickle.dumps(request.attribute.default_value) if request.attribute.default_value else None @@ -70,6 +70,7 @@ class AttributeService(BaseService): attribute.default_value = default_value attribute.is_applicable_to_group = request.attribute.is_applicable_to_group attribute.is_shown_on_dashboard = request.attribute.is_shown_on_dashboard + attribute.is_highlight_if_expired = request.attribute.is_highlight_if_expired attribute.is_nullable = request.attribute.is_nullable attribute.description = request.attribute.description await self.session.commit()