feat: highlight expired date and datetime attributes

This commit is contained in:
2025-04-13 12:11:07 +04:00
parent 21794da3d2
commit 10683a9a42
3 changed files with 8 additions and 1 deletions

View File

@@ -47,6 +47,11 @@ class Attribute(BaseModel):
server_default='0', server_default='0',
comment='Отображается ли атрибут на дашборде', 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) is_nullable: Mapped[bool] = mapped_column(default=False, nullable=False)
default_value: Mapped[bytes] = mapped_column(nullable=True) default_value: Mapped[bytes] = mapped_column(nullable=True)
is_deleted: Mapped[bool] = mapped_column(default=False) is_deleted: Mapped[bool] = mapped_column(default=False)

View File

@@ -21,6 +21,7 @@ class BaseAttributeSchema(BaseSchema):
name: str name: str
is_applicable_to_group: bool is_applicable_to_group: bool
is_shown_on_dashboard: bool is_shown_on_dashboard: bool
is_highlight_if_expired: bool
is_nullable: bool is_nullable: bool
default_value: Optional[bool | int | float | str | date | datetime] default_value: Optional[bool | int | float | str | date | datetime]
type_id: int type_id: int

View File

@@ -61,7 +61,7 @@ class AttributeService(BaseService):
if attribute.name != request.attribute.name: if attribute.name != request.attribute.name:
attr_with_same_name = await self.get_attr_by_name(request.attribute.name) attr_with_same_name = await self.get_attr_by_name(request.attribute.name)
if attr_with_same_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 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.default_value = default_value
attribute.is_applicable_to_group = request.attribute.is_applicable_to_group attribute.is_applicable_to_group = request.attribute.is_applicable_to_group
attribute.is_shown_on_dashboard = request.attribute.is_shown_on_dashboard 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.is_nullable = request.attribute.is_nullable
attribute.description = request.attribute.description attribute.description = request.attribute.description
await self.session.commit() await self.session.commit()